.Net Core2.0 + Nginx + CentOS 部署

准备把项目往Linux上迁移,整个流程跑了一下,也遇到无数个坑。。。以下为亲测并修改后的完整流程。。。

安装ZIP

yum install -y unzip zip

Putty:WINDOWS上传文件到LINUX

pscp e:/.tar.gz root@118.190.143.191:/root/fanrong/

安装.net core 2.0 依赖的组件

yum install deltarpm epel-release unzip libunwind gettext libcurl-devel openssl-devel zlib libicu-devel

安装.net core 2.0

sudo dnf install libunwind libicu
curl -sSL -o dotnet.tar.gz https://aka.ms/dotnet-sdk-2.0.0-linux-x64
sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet
sudo ln -s /opt/dotnet/dotnet /usr/local/bin
dotnet --help

安装nginx

yum install nginx

启动nginx

systemctl start nginx

设置nginx的开机启动(linux宕机、重启会自动运行nginx不需要连上去输入命令)

systemctl enable nginx

修改配置,监听5000端口:路径为:/etc/nginx/nginx.conf,修改如下:

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;
}

安装守护服务(Supervisor)

yum install python-setuptools
easy_install supervisor

配置Supervisor

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

需要修改/etc/supervisor/supervisord.conf文件:
最底部的[include]修改为:

[include]
files = /etc/supervisor/confg.d/*.conf

创建文件

vi /etc/supervisor/conf.d/test1.conf

内容如下:

[program:WebApplicationTest1]
command=dotnet WebApplicationTest1.dll
directory=/root/PublishOutput
environment=ASPNETCORE_ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=
stderr_logfile=/var/log/CManage.err.log
stdout_logfile=/var/log/CManage.out.log

然后需要把supervisord重新加载:

supervisord -c /etc/supervisor/supervisord.conf

执行

nginx -s reload

查看进程

ps -ef

如果想要supervisord开机自启动

新建一个“supervisord.service”文件

vim /usr/lib/systemd/system/supervisord.service

内容如下

# dservice for systemd (CentOS 7.0+)
# by ET-CS (https://github.com/ET-CS)
[Unit]
Description=Supervisor daemon

[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
ExecStop=/usr/bin/supervisorctl shutdown
ExecReload=/usr/bin/supervisorctl reload
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

执行命令:

systemctl enable supervisord 设定开机启动

执行命令:

systemctl is-enabled supervisord #来验证是否为开机启动
上一篇:什么是空间复杂度(What is actually Space Complexity ?)


下一篇:Spark 3000门徒第二课scala面向对象总结