同一臺(tái)服務(wù)器安裝多個(gè)Nginx的方法總結(jié)
背景
在同一臺(tái)服務(wù)器上同時(shí)安裝測(cè)試環(huán)境和生產(chǎn)環(huán)境,我們項(xiàng)目經(jīng)理為了倆個(gè)項(xiàng)目更獨(dú)立分別在不同目錄下都安裝了tomcat和nginx。在我部署項(xiàng)目的時(shí)候,后端沒出什么太大問題,前端由于倆個(gè)nginx,在運(yùn)行時(shí)出了一些問題折騰了很長時(shí)間。
總結(jié)
在同一臺(tái)服務(wù)器上安裝多個(gè)nginx完全沒有問題,但需要注意的問題有:
1.每個(gè)Nginx實(shí)例需要使用不同的端口號(hào)和配置文件,以避免端口沖突和配置文件混淆??梢栽诎惭b時(shí)通過指定不同的安裝目錄和配置文件路徑來實(shí)現(xiàn);
2.需要在系統(tǒng)中為每個(gè)Nginx實(shí)例配置獨(dú)立的系統(tǒng)服務(wù),以便在系統(tǒng)啟動(dòng)時(shí)自動(dòng)啟動(dòng)??梢酝ㄟ^創(chuàng)建不同的systemd服務(wù)來實(shí)現(xiàn)。例如,可以創(chuàng)建一個(gè)名為nginx1.service的服務(wù)文件來啟動(dòng)第一個(gè)Nginx實(shí)例,并創(chuàng)建一個(gè)名為nginx2.service的服務(wù)文件來啟動(dòng)第二個(gè)Nginx實(shí)例;
3.要注意系統(tǒng)資源的分配和管理。在同一臺(tái)服務(wù)器上運(yùn)行多個(gè)Nginx實(shí)例可能會(huì)占用較多的系統(tǒng)資源,包括CPU、內(nèi)存和磁盤空間等。因此,在部署多個(gè)Nginx實(shí)例時(shí),需要確保系統(tǒng)資源足夠,并進(jìn)行合理的資源分配和管理,以避免系統(tǒng)負(fù)載過高和性能下降等問題。
遇見的問題
1.(主要問題)由于安裝了多個(gè)nginx,在輸入啟動(dòng)命令時(shí),系統(tǒng)不知道執(zhí)行哪一個(gè),需輸入指定路徑
eg.(1)檢查不同的配置文件路徑
/usr/local/nginx/conf/nginx.conf # 第一個(gè) Nginx 實(shí)例的配置文件 /usr/local/nginx2/conf/nginx.conf # 第二個(gè) Nginx 實(shí)例的配置文件
(2) 每個(gè)配置文件應(yīng)該包含唯一的端口號(hào),如下所示:
# /usr/local/nginx/conf/nginx.conf http { server { listen 80; server_name localhost; ... } } # /usr/local/nginx2/conf/nginx.conf http { server { listen 8080; server_name localhost; ... } }
(3)最后啟動(dòng)每個(gè) Nginx 實(shí)例時(shí),分別使用不同的端口號(hào)和配置文件路徑:
# 啟動(dòng)第一個(gè) Nginx 實(shí)例 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf # 啟動(dòng)第二個(gè) Nginx 實(shí)例 /usr/local/nginx2/sbin/nginx -c /usr/local/nginx2/conf/nginx.conf
若想要同時(shí)運(yùn)行多個(gè) Nginx 實(shí)例,需將上述命令添加到自己的啟動(dòng)腳本中
2.在執(zhí)行重新加載配置文件命令時(shí),會(huì)有sudo: nginx: command not found報(bào)錯(cuò)
# 重新加載 Nginx 配置文件(root用戶) sudo nginx -s reload # 報(bào)錯(cuò) sudo: nginx: command not found # 原因:這可能是因?yàn)樵趓oot用戶的PATH環(huán)境變量中沒有包含nginx可執(zhí)行文件的路徑??梢試L試在命令前加上完 # 整的路徑,例如: sudo /usr/local/nginx/sbin/nginx -s reload # 或者將nginx可執(zhí)行文件所在的路徑添加到root用戶的PATH環(huán)境變量中,例如: export PATH=$PATH:/usr/local/nginx/sbin
或者在加載配置文件之前,先檢查配置文件是否有語法錯(cuò)誤,命令如下:
sudo nginx -t
3.查看運(yùn)行中的nginx進(jìn)程
ps -ef | grep nginx # 輸出結(jié)果 nobody 13701 13700 0 10:13 ? 00:00:00 nginx: worker process root 20973 13070 0 11:02 pts/1 00:00:00 grep --color=auto nginx # 進(jìn)程所有者(第一列) 進(jìn)程ID(第二列) 父進(jìn)程ID(第三列) CPU占用率(第四列) # 內(nèi)存占用率(第五列) 進(jìn)程狀態(tài)(第六列) 進(jìn)程啟動(dòng)時(shí)間(第七列) 進(jìn)程名稱(第八列) ### 最后一行是 grep 命令本身的進(jìn)程信息,可以忽略
4.在Nginx配置文件中,搜索所有包含listen關(guān)鍵字的行,可以使用以下命令:
sudo grep -R "listen" /etc/nginx/
到此這篇關(guān)于同一臺(tái)服務(wù)器安裝多個(gè)Nginx的方法總結(jié)的文章就介紹到這了,更多相關(guān)服務(wù)器安裝多個(gè)Nginx內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx日志統(tǒng)計(jì)分析的常用命令總結(jié)
這篇文章主要給大家總結(jié)了關(guān)于Nginx日志統(tǒng)計(jì)分析的一些常用命令,其中包括IP相關(guān)統(tǒng)計(jì)、頁面訪問統(tǒng)計(jì)、性能分析、蜘蛛抓取統(tǒng)計(jì)、TCP連接統(tǒng)計(jì)等相關(guān)命令的總結(jié),相信對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-07-07nginx配置ssl證書實(shí)現(xiàn)https訪問的示例
這篇文章主要介紹了nginx配置ssl證書實(shí)現(xiàn)https訪問的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03nginx調(diào)用php-fpm出錯(cuò)解決方法和nginx配置詳解
這篇文章介紹了nginx調(diào)用php-fpm出錯(cuò)的解決方法,最后給出了nginx配置方法,需要的朋友可以參考下2014-03-03nginx反向代理導(dǎo)致session失效的問題解決
這篇文章主要介紹了nginx反向代理導(dǎo)致session失效的問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06