.Net Core3.1 Centos离线部署
https://dotnet.microsoft.com/download/dotnet-core/3.1
mkdir -p /var/lib/dotnet
1.3 把压缩包上传Linux,解压到/var/lib/dotnet目录
tar zxf aspnetcore-runtime-3.1.1-linux-x64.tar.gz -C /var/lib/dotnet
1.4 创建软链接方式来设置环境变量
ln -s /var/lib/dotnet/dotnet /usr/local/bin
dotnet --info
mkdir /home/www
2.2 通过FTP等工具将VS打包好的部署包上传到该目录
cd /home/wwww
dotnet AspNetCoreDeployDemo.dll
2.4 网页测试或者命令行测试能否打开该地址,如果打不开,请检查
wget http://localhost:5000
这时候,窗口不能关闭,如果关闭就访问不到,下面要使用suppervisor或者systemd等工具进行后台守护进程。
cd /app/supervisor
./run_supervisor.sh
3.2 查看supperisor运行状态
3.3 查看配置文件,并把后台界面端口关闭,可以看到会加载supervisord/下面的ini配置文件
#项目名 [program:demo] #脚本目录 directory=/home/wwww #脚本执行命令 command=dotnet AspNetCoreDeployDemo.dll #环境变量 environment=ASPNETCORE_ENVIRONMENT=Production #用户 user = root #进程数 numprocs=1 #supervisor启动的时候是否随着同时启动,默认True autostart=true #当程序exit的时候,这个program不会自动重启,默认unexpected,设置子进程挂掉后自动重启的情况,有三个选项,false,unexpected和true。如果为false的时候,无论什么情况下,都不会被重新启动,如果为unexpected,只有当进程的退出码不在下面的exitcodes里面定义的 autorestart=false #这个选项是子进程启动多少秒之后,此时状态如果是running,则我们认为启动成功了。默认值为1 startsecs=1 #把stderr重定向到stdout,默认 false redirect_stderr = true #stdout日志文件大小,默认 50MB stdout_logfile_maxbytes=10 #stdout日志文件备份数 stdout_logfile_backups=10 #日志输出 stderr_logfile=/app/supervisor/logs/demo/log_error.log
supervisorctl reload
3.6启动程序
supervisorctl start demo
supervisord -v 查看版本号 supervisorctl 查看正在守候的进程 supervisorctl start <application name> 启动指定应用 supervisorctl stop <application name> 停止指定应用 supervisorctl restart all 重启所有应用 supervisorctl stop all 停止所有应用 supervisorctl start all 启动所有应用
yum install -y nginx-1.16.1-1.el7.ngx.x86_64.rpm
service nginx start
#或者
systemctl start nginx.service
systemctl enable nginx.service
nginx -v
service nginx status
systemctl status nginx.service
vi /etc/nginx/conf.d/demo.conf 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; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
nginx -s reload