1. 程式人生 > >.NET CORE+CENTOS部署+supervisor守護

.NET CORE+CENTOS部署+supervisor守護

查看 sof restart chmod directory 自動運行 ble ash load

一、安裝.NetCore和發布項目
1、要開始安裝.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‘
2、更新 yum:
sudo yum update

3、安裝依賴:
sudo yum install libunwind libicu
4、安裝.Net Core Sdk:
(1)、先查看skd都有哪些版本
sudo yum search dotnet-sdk

(2)安裝:
sudo yum install dotnet-sdk-2.1.200.x86_64
5、查看是否安裝成功:
dotnet --version
6、創建項目
dotnet new mvc WebDev
7、運行項目
dotnet run,這裏就可以訪問了,默認使用 http://localhost:5000
如果執行成功,可以進行下面的步驟
8、發布項目:
dotnet publish 默認項目會發布到./bin/Debug/netcoreapp2.1/publish(netcoreapp2.1是我sdk的版本) 目錄下
9、進入到發布目錄,執行命令:
dotnete WebDev.dll,就會執行成功,直接訪問
http://localhost:5000 ,說明發布成功
二、安裝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不需要連上去輸入命令)。
三、配置防火墻:

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

命令:systemctl restart firewalld(重啟防火墻以使配置即時生效)
四、配置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 部署已經完成;

四、配置守護服務(Supervisor)

supervisor的介紹詳見:https://www.studyscript.com/Post/index/id/3038.html

1、安裝supervisor

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

2、生成supervisor配置文件

 建立目錄,並賦予所有者可讀、可寫、可執行(700)權限

#mkdir -m 700 -p /etc/supervisor

3、創建配置文件

#echo_supervisord_conf > /etc/supervisor/supervisord.conf

4、修改配置文件

#vim /etc/supervisor/supervisord.conf

在文件最後加上

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

5、創建進程配置文件

  5.1創建進程配置文件存放目錄

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

  5.2、創建進程配置文件

  #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

6、創建supervisor自啟動服務

  6.1、創建服務文件

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

  6.2、編輯內容

[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

7、賦權

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

8、設置開機自啟動

#systemctl enable supervisor.service

9、運行服務

#systemctl start supervisor.service

10、查看進程執行情況

#supervisorctl

11、進入supervisor提示符之後輸入“status”查看,或者#supervisorctl status




 

.NET CORE+CENTOS部署+supervisor守護