NETCore部署到Linux
1、配置net的运行环境在 CentOS 上安装 .NET - .NET | Microsoft Docs演示在 CentOS 上安装 .NET SDK 和 .NET 运行时的各种方式。https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-centos设置密钥sudo rpm -Uvh https://packages.microso
·
1、配置net的运行环境
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
安装SDK
sudo yum install dotnet-sdk-6.0
安装运行时
sudo yum install aspnetcore-runtime-6.0
或者
sudo yum install dotnet-runtime-6.0
查看安装版本和信息
dotnet --info
dotnet --version
做完代表环境搭建好了
2、拷贝部署文件到linux,记住文件地址
3、cd到上面的目录
cd /home/Deploy
4、启动netcore站点
dotnet 站点名字的.dll --urls http://*:8081
5,开启进程守护
https://www.jb51.net/article/232731.htmhttps://www.jb51.net/article/232731.htm如果不开启进程守护,关掉ssh的客户端后,站点就会停止
a、安装supervisor
yum install supervisor
b、通过配置启动
#通过配置文件来启动supervisor
sudo supervisord -c /etc/supervisord.conf
#启动supervisorctl
sudo supervisorctl -c /etc/supervisord.conf
#查看supervisor 版本
version
c、创建配置文件
#进入目录
cd /etc/supervisord.d
#新建NetCore进程配置文件
sudo touch WsServerNetCore.ini
d、文件配置信息,从外部直接编辑
#配置程序名称
[program:HyWebSocketServer]
#运行程序的命令
command=dotnet Core.Rest.dll --urls http://*:8081
#命令执行的目录
directory=/home/Deploy
#进程环境变量
environment=ASPNETCORE_ENVIRONMENT=Production
#进程执行的用户身份
user=root
#进程停止信号,可以为TERM, HUP, INT, QUIT, KILL, USR1, or USR2等信号默认为TERM >。当用设定的信号去干掉进程,退出码会被认为是expected,非必须设置
stopsignal=INT
#如果是true的话,子进程将在supervisord启动后被自动启动,默认就是true,非必须设置
autostart=true
#这个是设置子进程挂掉后自动重启的情况,有三个选项,false,unexpected和true。如果>为false的时候,无论什么情况下,都不会被重新启动,如果为unexpected,只有当进程的>退出码不在下面的exitcodes里面定义的退出码的时候,才会被自动重启。当为true的时候>>,只要子进程挂掉,将会被无条件的重启
autorestart=true
#这个选项是子进程启动多少秒之后,此时状态如果是running,则我们认为启动成功了,默认值为1,非必须设置
startsecs=1
#错误日志文件
stderr_logfile=/home/Deploy/err.log
#输出日志文件
stdout_logfile=/home/Deploy/out.log
日志路径不存在会启动失败! supervisor不会自己创建目录!
f、启动
sudo supervisord -c /etc/supervisord.conf
处理启动错误
1、端口被占用
ps aux | grep supervisord
kill - 9 进程ID
2、Unlinking stale socket
unlink /var/run/supervisor/supervisor.sock
6、最后一步,开机启动supervisor
1、修改这个文件
[Unit]
Description=Process Monitoring and Control Daemon
After=rc-local.service nss-user-lookup.target
[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf
ExecStop=/usr/bin/supervisorctl shutdown
ExecReload=/usr/bin/supervisorctl reload
KillMode=process
Restart=on-failure
RestartSec=42
[Install]
WantedBy=multi-user.target
最后
#启动服务
systemctl enable supervisord
#验证是否为开机启动
systemctl is-enabled supervisord
更多推荐
已为社区贡献1条内容
所有评论(0)