在CentOS7中部署.net core2.0项目

2018-01-22  本文已影响0人  StrongAndyZhang

【环境说明】

 *服务器系统:CentOS7
 *相关工具:Xshell、WinSCP
 *服务器软件软件:.netcore2.0、nginx

【准备.net core2.0项目发布包】
使用VS2017的发布功能生成Release包。发布的方式有两种:自宿主式和便携式,我们采用便携式,原因有二:

1.便携式的性能比自宿主式的高
2.微软建议使用便携式
deploy.PNG

【在CentOS7中安装.Net Core2.0 SDK】

1.sudo yum install libunwind libicu(安装libicu依赖)
2.curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=809131(下载sdk压缩包)
3.sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet(解压缩)
4.sudo ln -s /opt/dotnet/dotnet /usr/local/bin(创建链接)
5.输入 dotnet –info 来查看是否安装成功
dotnetcore.PNG

【部署.Net Core2.0项目】

1.使用WinSCP将发布包放到linux服务器上的/home/wwwroot/目录下,例:/home/wwwroot/DotNetCoreWeb。
2.使用命令运行项目:dotnet /home/wwwroot/DotNetCoreWeb/Portal.dll,其中Portal.dll是Web应用的入口程序,默认端口是5000。
run.PNG

【安装与配置Nginx】

1.curl -o  nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
2.rpm -ivh nginx.rpm
3.yum install nginx
server {
     listen 4000;
     location / {
        proxy_pass http://localhost:5000;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection keep-alive;
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

【安装Supervisor】

1.yum install python-setuptools
2.easy_install supervisor

【配置Supervisor】

1.mkdir /etc/supervisor
2.echo_supervisord_conf > /etc/supervisor/supervisord.conf

修改supervisord.conf文件,将文件尾部的配置

;[include]
;files = relative/directory/*.ini

改成

[include]
files = conf.d/*.conf

【配置对ASP.NET Core应用的守护】
在/etc/supervisor/conf.d/目录下创建一个DotNetCoreWeb.conf文件,内容大致如下:

[program:DotNetCoreWeb]
command=dotnet Portal.dll ; 运行程序的命令
directory=/home/wwwroot/DotNetCoreWeb/ ; 命令执行的目录
autorestart=true ; 程序意外退出是否自动重启
stderr_logfile=/var/log/DotNetCoreWeb.err.log ; 错误日志文件
stdout_logfile=/var/log/DotNetCoreWeb.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行的用户身份
stopsignal=INT

运行supervisord,查看是否生效:

supervisord -c /etc/supervisor/supervisord.conf
ps -ef | grep DotNetCoreWeb

至此关于ASP.NET Core应用程序的守护即配置完成。

上一篇下一篇

猜你喜欢

热点阅读