.NET CORE+CENTOS部署+supervisor守护

1、安装.NetCore和发布项目
一、要开始安装.NET,您须要注册微软签名密钥并添加微软产品提要。这只须要每台机器作一次。打开命令提示符并运行如下命令
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'
二、更新 yum:
sudo yum update

三、安装依赖:
sudo yum install libunwind libicu
四、安装.Net Core Sdk:
(1)、先查看skd都有哪些版本
sudo yum search dotnet-sdk

(2)安装:
sudo yum install dotnet-sdk-2.1.200.x86_64
五、查看是否安装成功:
dotnet --version
六、建立项目
dotnet new mvc WebDev
七、运行项目
dotnet run,这里就能够访问了,默认使用 http://localhost:5000
若是执行成功,能够进行下面的步骤
八、发布项目:
dotnet publish 默认项目会发布到./bin/Debug/netcoreapp2.1/publish(netcoreapp2.1是我sdk的版本) 目录下
九、进入到发布目录,执行命令:
dotnete WebDev.dll,就会执行成功,直接访问
http://localhost:5000 ,说明发布成功
2、安装nignx:
curl -o  nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
rpm -ivh nginx.rpm
yum install nginx
输入:systemctl start nginx  来启动nginx。
输入:systemctl enable nginx 来设置nginx的开机启动(linux宕机、重启会自动运行nginx不须要连上去输入命令)。
3、配置防火墙:

命令:firewall-cmd --zone=public --add-port=80/tcp --permanent(开放80端口)

命令:systemctl restart firewalld(重启防火墙以使配置即时生效)
4、配置nginx对ASP.NET Core应用的转发
修改 /etc/nginx/conf.d/default.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;
    }
}
执行:nginx –s reload 使其即时生效

命令:dotnet
/bin/Debug/netcoreapp2.1/publish/WebApplication1.dll

到这里,.NetCore 部署已经完成;

4、配置守护服务(Supervisor)

supervisor的介绍详见:https://www.studyscript.com/Post/index/id/3038.htmlcss

一、安装supervisorhtml

#yum install python-setuptools //安装python安装工具 #easy_install supervisor //安装supervisor

二、生成supervisor配置文件python

 创建目录,并赋予全部者可读、可写、可执行(700)权限linux

#mkdir -m 700 -p /etc/supervisor

三、建立配置文件nginx

#echo_supervisord_conf > /etc/supervisor/supervisord.conf

四、修改配置文件vim

#vim /etc/supervisor/supervisord.conf

  在文件最后加上centos

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

五、建立进程配置文件

  5.1建立进程配置文件存放目录mvc

  #mkdir -m 700 /etc/supervisor/conf.d

  5.二、建立进程配置文件app

  #vim /etc/supervisor/conf.d/IO_Spider_WebAPI.conf

  编辑内容

[program:IO_Spider_WebAPI]
command=/bin/bash -c "dotnet xxgk.dll"
directory=/home/zhangfei/IO_Spider/WebAPI/
autorestart=true
stderr_logfile=/var/log/IO_Spider_WebAPI.error.log
stdout_logfile=/var/log/IO_Spider_WebAPI.stdout.log
environment=ASPNETCORE_ENVIRONMENT=Development
user=root
stopsignal=INT

六、建立supervisor自启动服务

  6.一、建立服务文件

  #vim /lib/systemd/system/supervisor.service

  6.二、编辑内容

[Unit]
Description=supervisor
[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

七、赋权

#chmod 754 /lib/systemd/system/supervisor.service

八、设置开机自启动

#systemctl enable supervisor.service

九、运行服务

#systemctl start supervisor.service

十、查看进程执行状况

#supervisorctl

十一、进入supervisor提示符以后输入“status”查看,或者#supervisorctl status

相关文章
相关标签/搜索