聲明
本文翻譯自:
Host ASP.NET Core application on Linux with Nginx
Apache Mod_proxy '[Error] (13)Permission Denied' Error on RHEL
1.安裝epel:
如果直接安裝Nginx,可能會提示沒有可用軟件包
yum install epel-release
2.安裝Nginx
sudo yum install nginx
3.運行Nginx
sudo service nginx start
4.查看Nginx運行狀態
systemctl status nginx.service
5.啟動Nginx
systemctl start nginx #啟用Nginx
systemctl enable nginx #設置開機啟動
此時可以通過瀏覽器運行localhost查看Nginx狀態

6.配置Nginx做反向代理
如果將Nginx作為ASP.NET Core應用請求的反向代理,需要需改配置文件
sudo vi /etc/nginx/nginx.conf
將配置文件中的Server部分內容修改如下:
server { listen 80;
server_name MvcDemoApp; 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 $http_host; proxy_cache_bypass $http_upgrade; } }
測試Nginx配置文件是否存在語法問題(因為少寫過一個;,這個是可以提示的)
sudo nginx -t
重新加載nginx配置文件
sudo nginx -s reload
7.502 Bad Gateway
按照上文操作正常的話,在服務器的瀏覽器查看80端口:http://localhost。

會報502的錯誤,這是原文沒有提到的,解決辦法如下:
/usr/sbin/setsebool httpd_can_network_connect 1
但是指令是動態的設置,如果指令運行后問題可以解決,請鍵入以下指令:
/usr/sbin/setsebool -P httpd_can_network_connect 1
參考
Linux下安裝Nginx並部署Net Core Web API程序
How To Install Nginx on CentOS 7
