最近幾天用Python寫了個介面後臺服務,把它部在了伺服器的300埠上。之後,我又要把一個二級功能變數名稱解析到該伺服器的300埠上,此時就要用到NGINX了。因為之前對NGINX的使用並不熟悉,特此記錄下來,方便回顧。用了該方法,就能為伺服器上的多個不同介面服務綁定不同的功能變數名稱了,這也就是把多個功能變數名稱解析 ...
最近幾天用Python寫了個介面後臺服務,把它部在了伺服器的300埠上。之後,我又要把一個二級功能變數名稱解析到該伺服器的300埠上,此時就要用到NGINX了。因為之前對NGINX的使用並不熟悉,特此記錄下來,方便回顧。
用了該方法,就能為伺服器上的多個不同介面服務綁定不同的功能變數名稱了,這也就是把多個功能變數名稱解析到伺服器的不同埠上。
1、首先在Linux上安裝NGINX
命令很簡單,使用apt install進行安裝:
apt install nginx
安裝好之後,使用命令`systemctl status nginx`可以查看NGINX的運行狀態,如下所示:
2、將功能變數名稱解析到伺服器IP
因為使用的是騰訊雲,在騰訊雲後臺手動將功能變數名稱解析到功能變數名稱,這步較簡單,前提是要進行功能變數名稱備案(後來還查到,其實阿裡雲是有隱形URL這個功能的,比騰訊雲更方便,騰訊雲就不具備埠解析的功能)。
3、使用NGINX進行埠解析
NGINX的配置文件位於路徑/etc/nginx,可以看到這個路徑下是有一個配置文件nginx.conf的,這是NGINX的總配置文件。打開這個文件看一看,內容並不長,比較關鍵的是如下兩行,它告訴我們還可以將文件放入conf.d和sites-enabled這兩個文件夾下。我就按照以前的習慣,將自己的配置文件放到conf.d里吧。
4、編寫配置文件
使用命令vim ireading.conf創建配置文件並編寫如下代碼,並:wq退出編輯:
server { listen 80; server_name sw.dengshanshi.com; location / { proxy_pass http://127.0.0.1:300; } }
listen 80表示NGINX監聽的是80埠,80埠是預設的網路埠;
sw.dengshanshi.com就是在華為雲上配置的二級功能變數名稱;
proxy_pass http://127.0.0.1:300表示代理的埠是本機的300埠。
之後,使用nginx -t查看配置文件的語法是否正確,如果正確的話,應該如下所示:
然後,為了使新配置文件生效,需要重啟NGINX。先用systemctl stop nginx關閉NGINX,再用systemctl start nginx啟動NGINX。
我在重啟NGINX的時候,發現總是報錯,原來是因為80埠已經被占用了。使用命令lsof-i:300查看一下,原來是Apache已經占用80埠了(Apache和NGINX這麼相愛相殺麽TT)。此時,可以用sudo service apache2 stop關閉Apache,NGINX就正常啟動了。
這時候,當打開網址sw.dengshanshi.com,就自動解析到300埠上的Python服務了。