码迷,mamicode.com
首页 > Web开发 > 详细

linux上部署.net core项目并配置supervisor进程守护

时间:2020-05-29 17:50:09      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:官方   str   连接   font   end   错误日志   修改   inux   nal   

简单说明:

nginx和mysql已安装

连接工具用的是 Xshell和Xftp

1. linux安装.net core运行环境

参考官方文档:https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-package-manager-centos7

2. 发布项目
    1. 文件系统方式发布

技术图片

    1. 放到对应目录下,我这里是放到如下位置

技术图片

    1. 配置项目端口

我这里是通过修改配置文件来设置访问端口。

其他也可以在 Program.cs 中添加 .UseUrls("http://*:6005") 或者在启动项目的时候指定端口。

修改配置文件比较方便后期维护

appsettings.json 中添加如下代码:

"Kestrel": {
"EndPoints": {
"Http": {
"Url": "http://*:6005" // 端口自己改吧
}}},

在文件目录下运行dll,如下:

技术图片

访问 ip:刚刚配置的端口,这个时候应该能正常访问了

注:运行dll是有的会有info的提示,有的因为项目配置的原因是没有的,这个时候什么都不会显示,但是已经运行了,是可以正常访问的。(不要感觉卡着了,这种时候如果再运行会提示端口被占用……)

如果关掉刚刚的进程,我们的页面就不能再访问了。接下来要配置下进程守护。

3. 配置supervisor进程守护
    1. 安装pip
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 
python get-pip.py
    1. 安装supervisor
pip install supervisor
    1. 设置supervisor开机启动
systemctl enable supervisord 
systemctl start supervisord
    1. 生成配置文件并启动
echo_supervisord_conf > /etc/supervisord.conf
supervisord -c /etc/supervisord.conf
    1. 修改配置文件

找到 [include] 后边files这段,修改为如下:

files = supervisord.d/*.conf
    1. 在 /etc/supervisord.d 路径下新增.conf文件

技术图片

? 加入如下代码(发布的路径还有日志的路径根据个人配置):

[program: Test]
command=dotnet Test.dll   ; 运行程序的命令
directory=/home/publish/Test/   ; 命令执行的目录
autorestart=true   ; 程序意外退出是否自动重启
autostart=true   ; 是否自动启动
stderr_logfile=/var/log/supervisor/Test.err.log   ; 错误日志文件
stdout_logfile=/var/log/supervisor/Test.out.log   ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production   ; 进程环境变量
user=root   ; 进程执行的用户身份
stopsignal=INT
startsecs=1   ; 自动重启间隔
    1. 重新载入配置文件
supervisorctl -c /etc/supervisord.conf reload

技术图片

    1. 进入 supervisorctl

技术图片

正在运行

这个时候再去访问ip:端口 应该就可以访问啦~

    1. 配置supervisor UI 管理台

编辑 supervisord.conf 文件,加入/修改 [inet_http_server]

[inet_http_server]           ; inet (TCP) server disabled by default
port=*:9001                   ; (ip_address:port specifier, *:port for all iface)
username=user              ; (default is no username (open server))
password=123               ; (default is no password (open server))

接下来访问ip:9001,就可以看到正在运行的进程了

技术图片

linux上部署.net core项目并配置supervisor进程守护

标签:官方   str   连接   font   end   错误日志   修改   inux   nal   

原文地址:https://www.cnblogs.com/sylvia-/p/12988576.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!