同一臺(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í)候,后端沒(méi)出什么太大問(wèn)題,前端由于倆個(gè)nginx,在運(yùn)行時(shí)出了一些問(wèn)題折騰了很長(zhǎng)時(shí)間。
總結(jié)
在同一臺(tái)服務(wù)器上安裝多個(gè)nginx完全沒(méi)有問(wèn)題,但需要注意的問(wèn)題有:
1.每個(gè)Nginx實(shí)例需要使用不同的端口號(hào)和配置文件,以避免端口沖突和配置文件混淆??梢栽诎惭b時(shí)通過(guò)指定不同的安裝目錄和配置文件路徑來(lái)實(shí)現(xiàn);
2.需要在系統(tǒng)中為每個(gè)Nginx實(shí)例配置獨(dú)立的系統(tǒng)服務(wù),以便在系統(tǒng)啟動(dòng)時(shí)自動(dòng)啟動(dòng)??梢酝ㄟ^(guò)創(chuàng)建不同的systemd服務(wù)來(lái)實(shí)現(xiàn)。例如,可以創(chuàng)建一個(gè)名為nginx1.service的服務(wù)文件來(lái)啟動(dòng)第一個(gè)Nginx實(shí)例,并創(chuàng)建一個(gè)名為nginx2.service的服務(wù)文件來(lái)啟動(dòng)第二個(gè)Nginx實(shí)例;
3.要注意系統(tǒng)資源的分配和管理。在同一臺(tái)服務(wù)器上運(yùn)行多個(gè)Nginx實(shí)例可能會(huì)占用較多的系統(tǒng)資源,包括CPU、內(nèi)存和磁盤(pán)空間等。因此,在部署多個(gè)Nginx實(shí)例時(shí),需要確保系統(tǒng)資源足夠,并進(jìn)行合理的資源分配和管理,以避免系統(tǒng)負(fù)載過(guò)高和性能下降等問(wèn)題。
遇見(jiàn)的問(wèn)題
1.(主要問(wèn)題)由于安裝了多個(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用戶(hù)) sudo nginx -s reload # 報(bào)錯(cuò) sudo: nginx: command not found # 原因:這可能是因?yàn)樵趓oot用戶(hù)的PATH環(huán)境變量中沒(méi)有包含nginx可執(zhí)行文件的路徑??梢試L試在命令前加上完 # 整的路徑,例如: sudo /usr/local/nginx/sbin/nginx -s reload # 或者將nginx可執(zhí)行文件所在的路徑添加到root用戶(hù)的PATH環(huán)境變量中,例如: export PATH=$PATH:/usr/local/nginx/sbin
或者在加載配置文件之前,先檢查配置文件是否有語(yǔ)法錯(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)程名稱(chēng)(第八列) ### 最后一行是 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ì)、頁(yè)面訪(fǎng)問(wèn)統(tǒng)計(jì)、性能分析、蜘蛛抓取統(tǒng)計(jì)、TCP連接統(tǒng)計(jì)等相關(guān)命令的總結(jié),相信對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-07-07
nginx配置ssl證書(shū)實(shí)現(xiàn)https訪(fǎng)問(wèn)的示例
這篇文章主要介紹了nginx配置ssl證書(shū)實(shí)現(xiàn)https訪(fǎng)問(wèn)的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
在Nginx中實(shí)現(xiàn)URL重寫(xiě)與重定向
Nginx 的 **URL 重寫(xiě)(Rewrite)**功能允許你根據(jù)請(qǐng)求的 URL 動(dòng)態(tài)地修改請(qǐng)求路徑或進(jìn)行重定向,本文將詳細(xì)介紹如何在 Nginx 中實(shí)現(xiàn) URL 重寫(xiě),并給出一些常見(jiàn)的實(shí)際場(chǎng)景,需要的朋友可以參考下2025-01-01
nginx調(diào)用php-fpm出錯(cuò)解決方法和nginx配置詳解
這篇文章介紹了nginx調(diào)用php-fpm出錯(cuò)的解決方法,最后給出了nginx配置方法,需要的朋友可以參考下2014-03-03
nginx反向代理導(dǎo)致session失效的問(wèn)題解決
這篇文章主要介紹了nginx反向代理導(dǎo)致session失效的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
詳解常用的nginx rewrite重寫(xiě)規(guī)則
這篇文章主要介紹了詳解常用的nginx rewrite重寫(xiě)規(guī)則,Nginx的rewrite功能是使用nginx提供的全局變量或自己設(shè)置的變量,結(jié)合正則表達(dá)式和標(biāo)志位實(shí)現(xiàn)url重寫(xiě)以及重定向。感興趣的可以一起來(lái)了解一下2019-03-03

