博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2017-03-05 CentOS中结合Nginx部署dotnet core Web应用程序
阅读量:4310 次
发布时间:2019-06-06

本文共 3278 字,大约阅读时间需要 10 分钟。

  Visual Studio Live 倒计时2天,当然这是美国倒计时两天,中国应该是在3月8日的凌晨,正值"3.8妇女节"。提前祝广大的女性同志节日快乐,当然还有奋斗在一线的程序媛们。

  言归正传,在昨天的dotnet core Web发布到Linux中,遗留的问题,我们继续探讨。首先了解下Nginx是什么,这个我也并不是很了解,记得在前段时间,在看H5移动开发的时候,用到过,但也并没有深入研究。先看下来自百度百科的解释:

 

Nginx ("engine x") 是一个高性能的 和 服务器,也是一个IMAP/POP3/SMTP 。Nginx是由Igor Sysoev为 访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将 以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而 。2011年6月1日,nginx 1.0.4发布。
Nginx是一款 的  服务器/ 服务器及 (IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少, 能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、 、 、 、 、 等。

  实际上这就是一个轻量级的服务器,Web服务器、反向代理服务器、电子邮件代理服务器,看来还是很强大的,那在今天的内容中,毫无疑问,它担任的是Web服务器的角色了,相当于我们的IIS服务器了,亦或是Tomcat服务器,属于轻量级。这样看的话,我们就无需惧怕它了。

 

  首先我们来安装和启动Nginx服务,以下是安装和启动的步骤:

#1.下载Nginx包curl -o nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm#2.建立Nginx的yum仓库rpm -ivh nginx.rpm#3.下载并安装Nginxyum install nginx#4.启动Nginx服务systemctl start nginx#5.将nginx服务设为开机启动,这样当服务器重启也就不用手动启动服务了systemctl enable nginx

看到这些命令行,真的是有点头大,昨天因为一些符号的问题,搞出很多错,所以大家一定要小心,下面我们按照上面的步骤进行安装:

这时nginx服务已经安装成功了,可以使用 nginx -v 命令查看版本,这里的版本是1.10.3,如果此时输入服务器的地址,那么应该可以看到Nginx的页面,默认是用的80端口,访问我自己的服务器,测试一下,,开始的时候我没有访问到,查看了下防火墙,没有把80端口开放,具体的如何开放,在上一篇博客中已经提到了,注意添加完规则后执行下reload重新应用规则,同样对nginx 服务也一样,当修改内容也要reload一下,以免出现不必要的麻烦 nginx -s reload ,具体的命令大家自行查找吧。当我添加上80端口后,重新运行,终于看到了我们想要的内容:

下面开始配置我们的nginx服务,实际上端口的转发,将我们Web应用的5000端口转发到80端口,我们需要找到一个.conf文件,在里面进行相应的配置,路径为:/etc/nginx/conf.d/default.conf ,我们先看下这个配置文件里的内容:

  server {    listen       80;    server_name  localhost;    #charset koi8-r;    #access_log  /var/log/nginx/log/host.access.log  main;    location / {        root   /usr/share/nginx/html;        index  index.html index.htm;    }    #error_page  404              /404.html;    # redirect server error pages to the static page /50x.html    #    error_page   500 502 503 504  /50x.html;    location = /50x.html {        root   /usr/share/nginx/html;    }    # proxy the PHP scripts to Apache listening on 127.0.0.1:80    #    #location ~ \.php$ {    #    proxy_pass   http://127.0.0.1;    #}    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000    #    #location ~ \.php$ {    #    root           html;    #    fastcgi_pass   127.0.0.1:9000;    #    fastcgi_index  index.php;    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;    #    include        fastcgi_params;    #}    # deny access to .htaccess files, if Apache's document root    # concurs with nginx's one    #    #location ~ /\.ht {    #    deny  all;    #}}

#后面的都是一些注释,里面加了一些默认的配置,具体怎么解释还是自己再查相应的资料吧,我们将其全部删掉,替换成我们要修改的内容,具体内容如下:

server {    listen       80;    location / {	proxy_pass http://localhost:5000;	proxy_http_version 1.1;	proxy_set_header Upgrade $http_upgrade;	proxy_set_header Connection keep-alive;	proxy_set_header Host $host;	proxy_cache_bypass $http_upgrade;    }}

可以看到我们将地址指向了我们的Web应用。配置完成后我们在putty里面直接查看是否修改成功,以防万一,

reload时报了个错误,注意location后面的写法“location / ”,斜杠前后都有空格,不知道怎么拷贝的时候没了,注意下,重新修改了下Ok了,我们现在去启动下Web,看是否能转发成功,期待一下。

其实是没有悬念的事,这么认真肯定是可以成功的,鼓掌!!!

那么问题又来了,我们总不能一直让这个黑色窗口开着吧,未必有点太low了,像我们强大的IIS就不会出这么个丑陋的窗口,一直是默默的为我们的服务,这篇博客就是写这么多吧,这个问题就留到下面博客中去说,以免内容太多,产生审美疲劳。

扫描二维码关注我的公众号,共同学习,共同进步!

 

转载于:https://www.cnblogs.com/Allen0910/p/6506238.html

你可能感兴趣的文章
代码示例_进程
查看>>
PLSQL数据导入导出问题解决(空表、大字段表、表空间错误等)
查看>>
阻塞、非阻塞的概念和select函数的阻塞功能
查看>>
在Ubuntu64位加安装H3C的INode客户端软件
查看>>
Centos6系统yum升级安装程序库错误解决方法
查看>>
__tostring()和__invoke()的用法
查看>>
作业6
查看>>
es6中promise的用法
查看>>
实现双向绑定
查看>>
java websocket开发的客户端程序
查看>>
Java中关键词之this,super的使用
查看>>
人工智能暑期课程实践项目——智能家居控制(一)
查看>>
前端数据可视化插件(二)图谱
查看>>
kafka web端管理工具 kafka-manager【转发】
查看>>
获取控制台窗口句柄GetConsoleWindow
查看>>
Linux下Qt+CUDA调试并运行
查看>>
3.1.1;例3-1
查看>>
BZOJ4066: 简单题
查看>>
用户添加修改文件的操作
查看>>
C# 2015关键字
查看>>