一、Centos7下.Net Core 環境安裝:
鏈接:https://www.microsoft.com/net/core#linuxcentos
按照步驟來:
yum install libunwind libicu
curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=835019
mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet
ln -s /opt/dotnet/dotnet /usr/local/bin
就這樣,.Net Core環境搭建好了,可以使用dotnet --version查看版本號。
可以把我們的.Net Core程序上傳到服務器上,使用命令dotnet xxx.dll運行我們的程序。
二、使用Nginx代理轉發
參考資料:https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-centos-7
1.添加CentOS 7 EPEL存儲庫:
yum install epel-release
2.Nginx存儲庫安裝在您的服務器上,使用以下yum命令安裝Nginx:
yum install nginx
3.啟用Nginx,設置開機啟動
systemctl start nginx #啟用Nginx
systemctl enable nginx #設置開機啟動
4.使用firewall或iptables開發80端口,這樣就可以使用http://ip地址 訪問,看到如下這個界面就說明Nginx服務開啟成功!
5.配置轉發規則:
修改配置,監聽5000端口:路徑為:/etc/nginx/nginx.conf,修改如下:
location/{ # 傳遞真實IP到后端 proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:5000;
}
三、使用Supervisor守護進程
參考鏈接:http://www.cnblogs.com/savorboard/p/dotnetcore-supervisor.html
3.1安裝Supervisor :
yum install python-setuptools easy_install supervisor mkdir /ect/supervisor #創建目錄 echo_supervisord_conf > /etc/supervisor/supervisord.conf #配置文件
3.2配置Supervisor:
在/etc/supervisor/confg.d/(如果沒有,就創建目錄)下新建個名字為CManage.conf(名字xxx.conf就行)配置,
內容如下:
[program:CManage] command=dotnet CManage.dll #要執行的命令 directory=/home/wwwroot #命令執行的目錄 environment=ASPNETCORE__ENVIRONMENT=Production #環境變量 user=www-data #進程執行的用戶身份 stopsignal=INT autostart=true #是否自動啟動 autorestart=true #是否自動重啟 startsecs=1 #自動重啟間隔 stderr_logfile=/var/log/CManage.err.log #標准錯誤日志 stdout_logfile=/var/log/CManage.out.log #標准輸出日志
3.3配置完了之后,需要修改/etc/supervisor/supervisord.conf文件:
最底部的[include]修改為:
[include] files = /etc/supervisor/conf.d/*.conf
然后需要把supervisord重新加載:
supervisord -c /etc/supervisor/supervisord.conf
3.4打開服務:
ps -ef | grep CManage
3.5Supervisor 的常用命令:
supervisorctl shutdown #關閉所有任務 supervisorctl stop|start program_name 開啟或者停止任務 supervisorctl status #查看所有任務狀態
3.6這時候Supervisor相關配置完了,設置開機啟動,這樣就不用每次重啟服務器還需要啟用守護進程了。
在/usr/lib/systemd/system/目錄新建個supervisord.service文件,內容如下:
# dservice for systemd (CentOS 7.0+) # by ET-CS (https://github.com/ET-CS) [Unit] Description=Supervisor daemon [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
設置開機啟動:
systemctl enable supervisord 設置為開機啟動
四、Supervisor UI 管理台
Supervisor 默認給我們提供了一個圖形界面來供我們管理進程和任務,我們可以修改配置文件/etc/supervisor/supervisord.conf,添加inet_http_server 節點:
然后就可以通過界面來查看運行的進程了: