最近用Python做了個(gè)接口服務(wù)白魂,部署在了
300
端口上。而后上岗,又想將一個(gè)二級(jí)域名直接解析到300
端口上福荸,這時(shí)候就需要使用神器NGINX了。此前并沒(méi)用過(guò)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)行域名備案(后來(lái)還查到始绍,其實(shí)阿里云是有隱形URL這個(gè)功能的瞳购,比華為云更方便,華為云就不具備端口解析的功能)亏推。
3学赛、使用NGINX進(jìn)行端口解析
NGINX的配置文件位于路徑/etc/nginx
,可以看到這個(gè)路徑下是有一個(gè)配置文件nginx.conf
的吞杭,這是NGINX的總配置文件盏浇。打開(kāi)這個(gè)文件看一看,內(nèi)容并不長(zhǎng)芽狗,比較關(guān)鍵的是如下兩行绢掰,它告訴我們還可以將文件放入conf.d
和sites-enabled
這兩個(gè)文件夾下。我就按照以前的習(xí)慣童擎,將自己的配置文件放到conf.d
里吧滴劲。
4、編寫(xiě)配置文件
使用命令vim ireading.conf
創(chuàng)建配置文件并編寫(xiě)如下代碼顾复,并:wq
退出編輯:
server {
listen 80;
server_name books.ireading.com;
location / {
proxy_pass http://127.0.0.1:300;
}
}
listen 80
表示NGINX監(jiān)聽(tīng)的是80
端口哑芹,80
端口是默認(rèn)的網(wǎng)絡(luò)端口;
books.ireading.com
就是在華為云上配置的二級(jí)域名捕透;
proxy_pass http://127.0.0.1:300
表示代理的端口是本機(jī)的300
端口聪姿。
之后,使用nginx -t
查看配置文件的語(yǔ)法是否正確乙嘀,如果正確的話(huà)末购,應(yīng)該如下所示:
然后,為了使新配置文件生效虎谢,需要重啟NGINX盟榴。先用systemctl stop nginx
關(guān)閉NGINX,再用systemctl start nginx
啟動(dòng)NGINX婴噩。
我在重啟NGINX的時(shí)候擎场,發(fā)現(xiàn)總是報(bào)錯(cuò),原來(lái)是因?yàn)?code>80端口已經(jīng)被占用了几莽。使用命令lsof -i:80
查看一下迅办,原來(lái)是Apache已經(jīng)占用80
端口了(Apache和NGINX這么相愛(ài)相殺么TT)。此時(shí)章蚣,可以用sudo service apache2 stop
關(guān)閉Apache站欺,NGINX就正常啟動(dòng)了。
這時(shí)候,當(dāng)打開(kāi)網(wǎng)址books.ireading.com
矾策,就自動(dòng)解析到300
端口上的Python服務(wù)了磷账。