当前位置: 首页 > news >正文

企业网站 哪个cms好如何做网络营销推广赚钱

企业网站 哪个cms好,如何做网络营销推广赚钱,网站建设方面书籍,怎么用网站挂QQ1.引言紧接上篇.NET Core容器化Docker#xff0c;这一节我们先来介绍如何使用Nginx来完成.NET Core应用的反向代理#xff0c;然后再介绍多容器应用的部署问题。2. Why Need Nginx.NET Core中默认的Web Server为Kestrel。Kestrel is great for serving dynamic content from … 1.引言紧接上篇.NET Core容器化Docker这一节我们先来介绍如何使用Nginx来完成.NET Core应用的反向代理然后再介绍多容器应用的部署问题。2. Why Need Nginx.NET Core中默认的Web Server为Kestrel。Kestrel is great for serving dynamic content from ASP.NET, however the web serving parts aren’t as feature rich as full-featured servers like IIS, Apache or Nginx. A reverse proxy-server can allow you to offload work like serving static content, caching requests, compressing requests, and SSL termination from the HTTP server.Kestrel可以很好的用来为ASP.NET提供动态内容然而在Web服务方面没有IIS、Apache、Nginx这些全功能的服务器完善。我们可以借助一个反向代理服务器接收来自互联网的HTTP请求并在经过一些初步处理比如请求的缓存和压缩、提供静态内容、SSL Termination后将其转发给Kestrel。借助反向代理服务器本文使用Nginx不仅可以给我们的Web网站提供了一个可选的附加层配置和防御而且可以简化负载均衡和SSL设置。而更重要的是反向代理服务器可以很好的与现有的基础设施进行整合。3. Hello Nginx同样我们还是基于Docker来试玩一下Nginx。//拉取Nginx镜像$ docker pull nginx//启动Nginx容器$ docker run -d -p 8080:80 --name hellonginx nginx上面我们以后台运行的方式启动了一个命名为hellonginx的nginx容器其端口映射到宿主机的8080端口我们现在可以通过浏览器直接访问http://ip address:8080即可看到nginx的欢迎界面。至此一个Nginx容器就启动完毕了。那如何进行反向代理呢别急我们一步一步来。4. 反向代理.NET Core MVC4.1. 启动Web容器还记得我们上一篇本地打包MVC项目创建的hellodocker.web的镜像吗这里我们再启动该镜像创建一个容器//启动一个helodocker.web的镜像并命名容器为hellodocker.web.nginx#  docker run -d -p 5000:5000 --name hellodocker.web.nginx hellodocker.web160166b3556358502a366d1002567972e242f0c8be3a751da0a525f86c124933 //尝试访问刚刚运行的容器 [rootiZ288a3qazlZ ~]# curl -I http://localhost:5000HTTP/1.1 200 OKDate: Sun, 24 Dec 2017 02:48:16 GMTContent-Type: text/html; charsetutf-8Server: KestrelTransfer-Encoding: chunkedOK我们开放了宿主机的5000端口用来映射我们启动的MVC容器。4.2. 配置反向代理下面我们就来配置Nginx来反向代理我们刚启动的Web容器。 要想Nginx成功代理指定的容器内运行的Web网站首先我们得知道容器对应的IPAddress。使用docker inspect container id/name即可查到。//查看正在运行的容器列表$ docker ps CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS                            NAMES d046b7b878a0        hellodocker.web                dotnet run             5 seconds ago       Up 3 seconds        0.0.0.0:5000-5000/tcp           hellodocker.web.nginx//使用|管道操作符加上grep过滤操作符可以直接提取我们要查找的关键字$ docker inspect hellodocker.web.nginx | grep IPAddress            SecondaryIPAddresses: null,            IPAddress: 192.168.0.5,                    IPAddress: 192.168.0.5,从上面可以看到我的Web容器运行在宿主机的192.168.0.5:5000。下面我们配置Nginx转发请求到192.168.0.5:5000即可完成反向代理。Nginx配置反向代理的配置文件路径为/etc/nginx/conf.d/default.conf。 我们可以通过本地创建一个配置文件挂载到Nginx的容器内部进行反向代理配置。$ cd demo$ mkdir nginx //创建my_nginx.conf文件$ touch my_nginx.conf$ vi my_nginx.conf server {listen 80;location / {proxy_pass http://192.168.0.5:5000;} }上面我们通过指定listen配置nginx去监听80端口指定proxy_pass为我们Web容器的IP和端口完成反向代理文件的配置。接下来就是启动一个新的Nginx容器并通过挂载的方式将配置文件共享到容器内部。$ docker run -d -p 8080:80 \-v $HOME/demo/nginx/my_nginx.conf:/etc/nginx/conf.d/default.conf \nginx95381aa56a336f65b6d01ff9964ae3364f37d25e5080673347c1878b3a5bb514/usr/bin/docker-current: Error response from daemon: driver failed programming external connectivity on endpoint elated_mccarthy (5a576d5991dd164db69b1c568c94c15e47ec7c67e43a3dd6982a2e9b83b60e08): Bind for 0.0.0.0:8080 failed: port is already allocated.我们发现容器启动失败原因是8080端口被我们刚刚第一次启动的nginx容器占用了。怎么办两个方法第一种就是将刚才创建的nginx容器干掉第二种就是映射到新的端口。这里选择第一种。$ docker ps1bd630b60019        nginx                          nginx -g daemon off   59 minutes ago      Up 59 minutes       0.0.0.0:8080-80/tcp             hellonginx//使用docker rm container id删除容器指定-f进行强制删除$ docker rm 1bd630b60019 -f//重新启动Nginx容器$ docker run -d -p 8080:80 \-v $HOME/demo/nginx/my_nginx.conf:/etc/nginx/conf.d/default.conf \nginx793d4c62ec8ac4658d75ea0ab4273a0b1f0a9a68f9708d2f85929872888b121d启动成功后我们再在浏览器中访问http://ipaddress:8080发现返回的不再是Nginx的默认欢迎页而是我们启动的Web容器中运行的MVC的首页说明反向代理配置成功5. Docker Compose让一切更简单上面的步骤虽然简单但要分两步进行第一个就是我们的Web和Nginx要分两次部署第二个就是我们必须知道Web容器的IP和端口号以完成反向代理文件的配置。对于需要多个容器比如需要Nginx、SqlServer、Redis、RabbitMQ等协调运行的复杂应用中使用以上方式进行部署时很显然会很麻烦而且还要为各个容器之间的网络连接而苦恼。 还好Docker体贴的为我们想到了这一点。借助Compose模块我们可以编写一个docker-compose.yml文件使用声明性语法启动一系列相互连接的容器即可一步完成上面的任务。Docker Compose是一个用来定义和运行复杂应用的Docker工具。使用Compose你可以在一个文件中定义一个多容器应用然后使用一条命令来启动你的应用完成一切准备工作。5.1. 安装Docker Compose依次执行以下命令$ sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-compose $ sudo chmod x /usr/local/bin/docker-compose $ docker-compose --version docker-compose version 1.18.0, build 1719ceb5.2. 编写第一个docker-compose.ymldockers-compose.yml文件要定义在我们项目的文件夹下我们的项目文件夹位于$HOME/demo/HelloDocker.Web。$ cd $HOME/demo/HelloDocker.Web $ touch docker-compose.yml $ vi docker-compose.ymlversion: 2services:hellodocker-web:        container_name: hellodocker.web.compose        build: .reverse-proxy:        container_name: reverse-proxy        image: nginx        ports:- 9090:8080        volumes:- ./proxy.conf:/etc/nginx/conf.d/default.conf简单介绍下上面的配置文件其中定义了两个服务一个是hellodocker-web即以我们当前项目目录来构建镜像并启动一个叫hellodocker.web.compose的容器。一个是reverse-proxy用来使用nginx镜像进行反向代理其中又通过指定volumes来使用挂载的方式进行配置。$ touch proxy.conf $ vi proxy.conf server {    listen 8080;location / {proxy_pass http://hellodocker-web:5000;} } $ ls [rootiZ288a3qazlZ HelloDocker.Web]# lsappsettings.Development.json  Controllers             Models      Startup.cs appsettings.json              docker-compose.yml      obj         Views bin                           Dockerfile              Program.cs  wwwroot bundleconfig.json             HelloDocker.Web.csproj  proxy.conf [rootiZ288a3qazlZ HelloDocker.Web]#其中要注意反向代理的配置proxy_pass http://hellodocker-web:5000;其中ip部分直接指定的是docker-compose.yml中定义的第一个服务的名称hellodocker-web。 下面我们就来启动Compose$ docker-compose up -d Building hellodocker-web Step 1 : FROM microsoft/dotnet:latest--- 7d4dc5c258eb Step 2 : WORKDIR /app--- Using cache--- 98d48a4e278c Step 3 : COPY . /app--- 0cb9fc540afe Removing intermediate container 9fecf088f03f Step 4 : RUN dotnet restore--- Running in 4bb7f34edbbeRestore completed in 597.13 ms for /app/HelloDocker.Web.csproj.Restoring packages for /app/HelloDocker.Web.csproj...Restore completed in 1.76 sec for /app/HelloDocker.Web.csproj.--- 6869609ece23 Removing intermediate container 4bb7f34edbbe Step 5 : EXPOSE 5000--- Running in a97febf01e5a--- 9b2639862a94 Removing intermediate container a97febf01e5a Step 6 : ENV ASPNETCORE_URLS http://*:5000--- Running in 4e2f4af28a8d--- 0069661e891a Removing intermediate container 4e2f4af28a8d Step 7 : ENTRYPOINT dotnet run--- Running in cbbf08d906f9--- 0bbeef249b30 Removing intermediate container cbbf08d906f9 Successfully built 0bbeef249b30WARNING: Image for service hellodocker-web was built because it did not already exist. To rebuild this image you must use docker-compose build or docker-compose up --build. Creating hellodocker.web.compose ... done Starting reverse-proxy ... done//执行docker-compose ps验证启动的服务$ docker-compose psName                   Command          State               Ports --------------------------------------------------------------------------------------- hellodocker.web.compose   dotnet run             Up      5000/tcp reverse-proxy             nginx -g daemon off;   Up      80/tcp, 0.0.0.0:9090-8080/tcp//使用curl指令验证nginx的反向代理$  curl -I http://localhost:9090HTTP/1.1 200 OKServer: nginx/1.13.7Date: Sun, 24 Dec 2017 04:37:35 GMT Content-Type: text/html; charsetutf-8Connection: keep-alive可以看到通过执行curl -I http://localhost:9090验证代理服务器配置成功我们再通过浏览器访问http://ip address:9090发现正确返回了我们MVC项目的默认首页。// 查看当前运行的容器$ docker psCONTAINER ID        IMAGE                            COMMAND                  CREATED             STATUS              PORTS                            NAMESa52830499cff        hellodockerweb_hellodocker-web   dotnet run             7 minutes ago       Up 7 minutes        5000/tcp                         hellodocker.web.compose e1fe109e10bc        nginx                            nginx -g daemon off   11 minutes ago      Up 4 minutes        80/tcp, 0.0.0.0:9090-8080/tcp   reverse-proxy我们同时也发现通过docker-compose正确的创建了两个容器hellodocker.web.compose和reverse-proxy。6. 最后经过以上的练习我们对Nginx有了一定的了解且知道如何进行配置。同时了解了如何借助docker-compose打包运行需要多容器的复杂应用。本篇就先讲到这里下一篇我们介绍如何在Linux上玩耍MySql并打通NginxWebMySql的容器化部署。原文地址:https://www.cnblogs.com/sheng-jie/p/8116276.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://www.yutouwan.com/news/500519/

相关文章:

  • 珠海手机建站模板建设工程获奖查询网站
  • 网站建设工作情况cnnic可信网站
  • 合肥网站开发外包ui设计好学吗?要学多久
  • wap网站教程有没有专门做ppt的网站吗
  • 用php制作一个个人信息网站深圳vi设计平台
  • 福州最好的网站建设网络公司网站建设的问题分析
  • 企业网站建设 推广徐州网站制作方法
  • 怎么做网站的外链wordpress theid
  • 做js题目的网站知乎怎么建立网站模版
  • 自助建子站百度最怕哪个部门去投诉
  • 企业营销网站服务器1g够wordpress page内容
  • 合肥网站设计公做网站内链什么意思
  • 优质企业网站开发h5网页制作基础教程
  • 昌吉住房和城乡建设局网站女性门户网站源码
  • 三亚网站建设兼职服务质量好的外贸营销系统
  • 开个人网站怎么赚钱给您更优质的服务体验
  • 如何管理网站内容wordpress musik主题
  • 网站建设3合1什么意思做交互设计的网站
  • 分析海尔网站的建设特点和优势地名公共服务网站建设
  • 南京网站制作哪家好wordpress 锚点插件
  • 如何注册网站免费的官网网站建设
  • 汕尾建设网站首页新浪微博 wordpress插件
  • 做网站赚取广告费营销模式都有哪些
  • 不让人看出wordpress建的站实业有限公司网站怎么做
  • 911制作网站推荐一个简单的网站制作
  • 清风网站建设营销方案格式
  • 重庆百度网站快速排名做网站需要公司资料吗
  • 旅行做攻略的网站罗村网站制作公司
  • 龙岗建设企业网站手机软文广告300字
  • php学完可以做网站网站推广具体内容简要说明