centos7中使用nginx反向代理.net core程序
在linux上部署.netcore应用能够获得更好的性能。故尝试在linux上部署.netcore程序:
1、在vs2017中发布.netcore部署包,注意发布选项中配置环节设置部署模式为独立部署,目标运行时为Linux-x64,然后一路发布得到一个linux上专用的部署包,通过xftp传送至linux主机中。
2、安装好linux(centos7)上的最新的.netcore 运行时,终端中进入到部署包中 dotnet xxx.dll若能正常启动且监听5000端口则可以进行下一步了,下一步要做的就是为该.netcore进程设置一个守护者进程以保证其不挂掉,一个最简单的守护者进程可以为:
#!/bin/bash
#chkconfig: 2345 80 90
#supervisor processo
while true
do
res=`netstat -nalp| grep 5000 | grep -v grep | wc -l`
if [ $res -eq 0 ]
then
cd /dotnetcoreTest/ChuXiongWizGis_Linux/ && dotnet WizGisBackService.dll&
fi
sleep 5
done
3、保存为shell文件DotNetTest.sh,然后设置其开机自启动:
chmod +x DotNetTest.sh #增加执行权限
chkconfig --add DotNetTest.sh #把startTest添加到系统服务列表
chkconfig DotNetTest.sh on #设定startTest的开关(on/off)
以上所做就保证了linux主机上有个不会挂掉的.netcore进程,但是在远程主机上访问http://ip+端口号却无法访问,故用nginx做反向代理,将主机内的5000端口号映射出去。
4、首先安装nginx,centos下安装nginx:
a、安装准备
首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以执行如下命令安装
$ yum install gcc-c++
$ yum install pcre pcre-devel
$ yum install zlib zlib-devel
$ yum install openssl openssl--devel
b、安装Nginx
安装之前,最好检查一下是否已经安装有nginx
$ find -name nginx
如果系统已经安装了nginx,那么就先卸载
$ yum remove nginx
首先进入/usr/local目录
$ cd /usr/local
从官网下载最新版的nginx
$ wget http://nginx.org/download/nginx-1.7.4.tar.gz
解压nginx压缩包
$ tar -zxvf nginx-1.7.4.tar.gz
会产生一个nginx-1.7.4 目录,这时进入nginx-1.7.4目录
$ cd nginx-1.7.4
接下来安装,使用--prefix参数指定nginx安装的目录,make、make install安装
$ ./configure $默认安装在/usr/local/nginx
$ make
$ make install
如果没有报错,顺利完成后,最好看一下nginx的安装目录
$ whereis nginx
最后应该设置一下映射:
server{
listen 2002;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
# root html;
# index index.html index.htm;
proxy_pass http://localhost:5000;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header Host $http_host;
}
}
安装完毕后,进入安装后目录(/usr/local/nginx)便可以启动或停止它了,启动命令为:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
停止命令为:
/usr/local/nginx/sbin/nginx -s stop
这样就完成了Nginx对.netcore api程序的反向代理功能,其结果是可以在远程主机通过映射的ip端口号访问到api。
更多推荐


所有评论(0)