在閱讀本文以前,您必須對Linux中涉及的常見命令有必定了解,本文側重實戰,不會對相關概念詳述。html
注:本文實驗環境是 Oracle VM VirtualBox虛擬機, CentOS-7-x86_64-Minimal-1908系統 。python
vi /etc/sysconfig/network-scripts/ifcfg-eno
ONBOOT=no
修改成 ONBOOT=yes
sudo service network restart
ip addr
查看 ipyum install epel-release
yum install nginx
systemctl start nginx
systemctl enable nginx
server { listen 81; 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; } }
systemctl start firewalld //啓動防火牆 systemctl status firewalld //查看防火牆狀態 firewall-cmd --permanent --zone=public --add-service=http //容許HTTP firewall-cmd --permanent --zone=public --add-service=https //容許HTTPS firewall-cmd --reload //從新加載防火牆 firewall-cmd --zone=public --add-port=80/tcp --permanent //開啓80端口 firewall-cmd --list-ports //查看已經開放的端口
緣由是因爲 SELinux 保護機制所致使,咱們須要將 nginx 添加至 SELinux 的白名單。接下來咱們經過一些命令解決這個問題。linux
yum install policycoreutils-python sudo cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx sudo semodule -i mynginx.pp
yum install python-setuptools easy_install supervisor
先建立 Supervisor 配置文件的目錄nginx
mkdir /etc/supervisor
經過 echo_supervisord_conf 指令(用來生成初始配置文件,文件名能夠自定義)來初始化一個配置文件:shell
echo_supervisord_conf > /etc/supervisor/supervisord.conf
經過 vim 命令修改建立好的 supervisord.conf 配置信息,或有視圖界面的直接打開編輯vim
vi /etc/supervisor/supervisord.conf
文件內容末尾找到如下內容進行修改centos
;[include] ;files = relative/directory/*.ini [include] files = /etc/supervisor/conf.d/*.conf
建立目錄,添加配置文件網絡
mkdir /etc/supervisor/conf.d cd /etc/supervisor/conf.d touch netcore.conf
經過 vi 指令或視圖界面編輯 netcore.conf,添加如下配置內容(分號後面的是註釋,注意看註釋,省得配置錯了)tcp
[program:NetCoreDemo] ;自定義進程名稱, 根據本身喜愛命名 command=dotnet NetCoreDemo.dll ;程序啓動命令 使用dotnet 命令(dll是你的項目文件) directory=/root/Documents/NETCore ;命令執行的目錄 你.NET Core 程序存放目錄 autostart=true ;在Supervisord啓動時,程序是否啓動 autorestart=true ;程序退出後自動重啓 startretries=5 ;啓動失敗自動重試次數,默認是3 startsecs=1 ;自動重啓間隔 user=root ;設置啓動進程的用戶,默認是root priority=999 ;進程啓動優先級,默認999,值小的優先啓動 stderr_logfile=/etc/supervisor/log/GDSMPlateForm.err.log ;標準錯誤日誌 路徑能夠自定義,文件夾要建好 stdout_logfile=/etc/supervisor/log/GDSMPlateForm.out.log ;標準輸出日誌 路徑能夠自定義,文件夾要建好 environment=ASPNETCORE_ENVIRONMENT=Production ;進程環境變量 stopsignal=INT ;請求中止時用來殺死程序的信號
啓動 supervisor 服務 supervisord -c /etc/supervisor/supervisord.conf
centos7
1.進入/usr/lib/systemd/system/
目錄 cd /usr/lib/systemd/system/
2.建立自定義配置文件 supervisord.service touch supervisord.service
3.編輯 supervisord.service 文件,有視圖界面就直接打開編輯 vi supervisord.service
4.添加如下內容,保存退出
[Unit] Description=Supervisor daemon [Service] Type=forking ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown ExecReload=/usr/bin/supervisorctl $OPTIONS reload KillMode=process Restart=on-failure RestartSec=42s [Install] WantedBy=multi-user.target
5.設置開機啓動 systemctl enable supervisord.service
6.檢測是否配置成功 systemctl is-enabled supervisord