做爲一個剛接觸linux的新手,在安裝環境的時候,折騰了很多時間,寫下一篇總結帖,幫助下新人吧~python
作完後再回來看步驟,也很簡單,也就如下幾步:linux
1.安裝.Net Core環境nginx
2.安裝nginx實現端口轉發git
3.設置nginx開機啓動github
4.設置防火牆(有些雲服務器可省略)centos
5.配置SELinux的白名單(有些雲服務器可省略)服務器
6.上傳網站curl
7.安裝守護進程(若是是本地虛擬機,最好手動啓動網站,易於查找錯誤)tcp
8.設置守護進程開機啓動(若是是本地虛擬機,最好手動啓動網站,易於查找錯誤)網站
【命令】sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
【↑註釋】添加yum源
【命令】sudo yum update
【↑註釋】更新已安裝的全部yum包
【命令】sudo yum install dotnet-sdk-2.1
【↑註釋】安裝.Net Core2.1的SDK
【命令】curl -o nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
【↑註釋】下載指定的nginx文件
【命令】rpm -ivh nginx.rpm
【↑註釋】安裝rpm包
【命令】yum install nginx -y
【↑註釋】安裝nginx
【執行】修改 /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;
}
}
【命令】systemctl start nginx
【↑註釋】啓動nginx
【命令】systemctl enable nginx
【↑註釋】設置開機啓動
【命令】systemctl start firewalld.service
【↑註釋】啓動防火牆
【命令】systemctl enable firewalld.service
【↑註釋】設置開機啓動防火牆
【命令】firewall-cmd --state
【↑註釋】查看防火牆當前狀態(可省略)
【命令】firewall-cmd --zone=public --add-port=80/tcp --permanent
【↑註釋】配置80端口容許訪問
【命令】systemctl restart firewalld
【↑註釋】重啓防火牆
【命令】yum install policycoreutils-python
【↑註釋】安裝policycoreutils-python
【命令】sudo cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx
【↑註釋】上面的我也不知道...百度沒找到,求解
【命令】sudo semodule -i mynginx.pp
【↑註釋】上面的我也不知道...百度沒找到,求解
我是用FileZillaPortable上傳的,設置界面以下:
個人站點目錄是/home/GroupShareSite
網站上傳後,經過cd進入站點目錄。這一步很是很是重要!若是沒有cd進入目錄就執行下面的命令啓動站點,會致使配置文件沒法讀取,網站資源獲取失敗等等不可預期的問題。
執行如下命令:
【命令】dotnet GroupShareSite.dll
【↑註釋】運行網站,由於個人項目名是GroupShareSite,因此這個名稱須要根據本身的實際狀況來修改
【命令】yum install python-setuptools -y
【↑註釋】安裝python
【命令】easy_install supervisor
【↑註釋】安裝守護進程
【命令】mkdir /etc/supervisor
【↑註釋】建立配置文件目錄
【命令】echo_supervisord_conf > /etc/supervisor/supervisord.conf
【↑註釋】這個不知道什麼意思,但願你們能告訴我...
【執行】修改 /etc/supervisor/supervisord.conf 文件中的內容:
將裏面的最後兩行:
;[include]
;files = relative/directory/*.ini
改成
[include]
files = conf.d/*.conf
【執行】建立文件/etc/supervisor/conf.d/GroupShareSite.conf,內容以下:
[program:GroupShareSite]
command=dotnet GroupShareSite.dll ; 運行程序的命令
directory=/home/GroupShareSite/ ; 命令執行的目錄
autorestart=true ; 程序意外退出是否自動重啓
stderr_logfile=/var/log/GroupShareSite.err.log ; 錯誤日誌文件
stdout_logfile=/var/log/GroupShareSite.out.log ; 輸出日誌文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 進程環境變量
user=root ; 進程執行的用戶身份
stopsignal=INT
【↑注意】要修改GroupShareSite爲本身的東西
【命令】supervisord -c /etc/supervisor/supervisord.conf
【↑註釋】運行守護程序
【執行】新建文件/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
【↑註釋】設置開機啓動
【命令】systemctl is-enabled supervisord
【↑註釋】判斷是否成功設置開機啓動
有幾個地方須要注意:
1.文中全部涉及到「GroupShareSite」的地方,都須要根據實際進行修改
2.SeLinux必定要設置,不然網站通常都沒法訪問(阿里雲輕量應用服務器不須要設置,好像它沒有限制)
3.若是手動啓動站點,必定要經過cd進入站點根目錄,而後再運行,不然,1)運行的網站會找不到配置文件。2)運行後,站點資源沒法找到。
最後,放一下網站地址,就當作個宣傳吧:
還在開發過程當中...