使用NGINX將二級(jí)域名解析到服務(wù)器指定端口

最近用Python做了個(gè)接口服務(wù),部署在了300端口上。而后,又想將一個(gè)二級(jí)域名直接解析到300端口上,這時(shí)候就需要使用神器NGINX了。此前并沒用過NGINX,記錄一下。

使用這個(gè)方法,就可以為服務(wù)器上的多個(gè)接口服務(wù)安排不同的域名了,即將多個(gè)域名解析到服務(wù)器的不同端口。

1、首先在Ubuntu上安裝NGINX

命令很簡(jiǎn)單,使用apt install進(jìn)行安裝:

apt install nginx

安裝好之后,使用命令systemctl status nginx可以查看NGINX的運(yùn)行狀態(tài),如下所示:

2、將域名解析到服務(wù)器IP

因?yàn)槭褂玫氖侨A為云,在華為云后臺(tái)手動(dòng)將域名解析到域名,這一步比較簡(jiǎn)單,前提是要進(jìn)行域名備案(后來還查到,其實(shí)阿里云是有隱形URL這個(gè)功能的,比華為云更方便,華為云就不具備端口解析的功能)。

3、使用NGINX進(jìn)行端口解析

NGINX的配置文件位于路徑/etc/nginx,可以看到這個(gè)路徑下是有一個(gè)配置文件nginx.conf的,這是NGINX的總配置文件。打開這個(gè)文件看一看,內(nèi)容并不長(zhǎng),比較關(guān)鍵的是如下兩行,它告訴我們還可以將文件放入conf.dsites-enabled這兩個(gè)文件夾下。我就按照以前的習(xí)慣,將自己的配置文件放到conf.d里吧。

4、編寫配置文件

使用命令vim ireading.conf創(chuàng)建配置文件并編寫如下代碼,并:wq退出編輯:

server {              
    listen 80;    
    server_name books.ireading.com; 
    
    location / {        
        proxy_pass http://127.0.0.1:300;
    } 
}

listen 80表示NGINX監(jiān)聽的是80端口,80端口是默認(rèn)的網(wǎng)絡(luò)端口;

books.ireading.com就是在華為云上配置的二級(jí)域名;

proxy_pass http://127.0.0.1:300表示代理的端口是本機(jī)的300端口。

之后,使用nginx -t查看配置文件的語(yǔ)法是否正確,如果正確的話,應(yīng)該如下所示:

然后,為了使新配置文件生效,需要重啟NGINX。先用systemctl stop nginx關(guān)閉NGINX,再用systemctl start nginx啟動(dòng)NGINX。

我在重啟NGINX的時(shí)候,發(fā)現(xiàn)總是報(bào)錯(cuò),原來是因?yàn)?code>80端口已經(jīng)被占用了。使用命令lsof -i:80查看一下,原來是Apache已經(jīng)占用80端口了(Apache和NGINX這么相愛相殺么TT)。此時(shí),可以用sudo service apache2 stop關(guān)閉Apache,NGINX就正常啟動(dòng)了。

這時(shí)候,當(dāng)打開網(wǎng)址books.ireading.com,就自動(dòng)解析到300端口上的Python服務(wù)了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容