一、Nginx導(dǎo)言
1、引言
????????Nginx 是一款高性能的 Web 服務(wù)器和反向代理服務(wù)器,也可以充當(dāng)負(fù)載均衡器、HTTP 緩存和安全防護(hù)設(shè)備。它的特點(diǎn)是內(nèi)存占用小、穩(wěn)定性高、并發(fā)性強(qiáng)、易于擴(kuò)展,因此在互聯(lián)網(wǎng)領(lǐng)域得到了廣泛的使用。
總結(jié)出以下三點(diǎn):
- 負(fù)載均衡:流量分?jǐn)?/li>
- 反向代理:處理外網(wǎng)訪問內(nèi)網(wǎng)問題
- 動(dòng)靜分離:判斷動(dòng)態(tài)請求還是靜態(tài)請求,選擇性的訪問指定服務(wù)器
2、使用場景
-
Web 服務(wù)器:通過 Nginx 部署 Web 服務(wù)可以提升服務(wù)器的并發(fā)處理能力,降低響應(yīng)延時(shí)和網(wǎng)絡(luò)請求影響,同時(shí)支持多種負(fù)載均衡算法,能根據(jù)實(shí)際情況自動(dòng)分配流量。
-
反向代理服務(wù)器:Nginx 可以作為反向代理服務(wù)器,實(shí)現(xiàn)多個(gè)后端服務(wù)器的負(fù)載均衡,并且可以根據(jù)實(shí)際情況分配請求,有效提升后端服務(wù)器的并發(fā)處理能力。
-
HTTP 緩存:Nginx 的 HTTP 緩存機(jī)制可以將經(jīng)常訪問的 Web 頁面、圖片、視頻等靜態(tài)資源緩存在本地,提高響應(yīng)速度,降低服務(wù)器負(fù)載。
-
安全防護(hù)設(shè)備:Nginx 可以通過配置實(shí)現(xiàn) Web 應(yīng)用的訪問控制、DOS 攻擊防護(hù)、IP 黑名單等功能。
3、Nginx的使用
????????Nginx 的使用和部署項(xiàng)目需要注意的是,在部署項(xiàng)目之前,你需要了解你的項(xiàng)目的具體需求,并根據(jù)實(shí)際情況配置 Nginx。同時(shí),確保服務(wù)器已經(jīng)正確配置防火墻規(guī)則,以允許對應(yīng)的訪問端口。此外,建議備份配置文件和項(xiàng)目文件,以防止意外情況發(fā)生。
????????流程如下:
安裝 Nginx:首先需要在服務(wù)器上安裝 Nginx。具體的安裝方法會因服務(wù)器操作系統(tǒng)的不同而有所不同,你可以參考 Nginx 官方文檔或操作系統(tǒng)相關(guān)的教程進(jìn)行安裝。
配置 Nginx:安裝完成后,需要對 Nginx 進(jìn)行配置。主要包括設(shè)置監(jiān)聽端口、配置服務(wù)代理、設(shè)置負(fù)載均衡、配置緩存等。Nginx 的配置文件位于?
/etc/nginx/nginx.conf
?或?/usr/local/nginx/conf/nginx.conf
。你可以根據(jù)實(shí)際需求進(jìn)行相應(yīng)的修改。啟動(dòng) Nginx:配置完成后,通過終端命令或者服務(wù)管理工具啟動(dòng) Nginx,比如通過執(zhí)行?
sudo service nginx start
?或?/etc/init.d/nginx start
?來啟動(dòng) Nginx。部署項(xiàng)目:將項(xiàng)目文件放置在 Nginx 的 Web 根目錄下,根據(jù)需要?jiǎng)?chuàng)建對應(yīng)的子目錄。默認(rèn)情況下,Nginx 的 Web 根目錄在配置文件中的?
root
?參數(shù)指定,一般是?/usr/share/nginx/html
?或?/var/www/html
。配置項(xiàng)目訪問:根據(jù)項(xiàng)目的需求,可以在 Nginx 的配置文件中添加對應(yīng)的站點(diǎn)配置。主要包括設(shè)置域名和端口、指定訪問路徑、配置 HTTPS、設(shè)置訪問權(quán)限等。
重啟 Nginx:項(xiàng)目部署完成后,需要重新加載 Nginx 的配置文件使其生效。通過執(zhí)行?
sudo service nginx restart
?或?/etc/init.d/nginx restart
?重新啟動(dòng) Nginx。測試訪問:在瀏覽器中輸入 Nginx 服務(wù)器的 IP 地址或域名,加上對應(yīng)的訪問路徑,如果能夠正常訪問項(xiàng)目頁面,則說明部署成功。
二、Nginx安裝
1、安裝依賴
一鍵安裝4個(gè)依賴,執(zhí)行命令等待安裝完成!
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
2、下載解壓安裝包
如果你下載好了可以用客戶端工具拖拽進(jìn)去
沒有下載好就執(zhí)行以下命令,記得在你的放置的目錄下執(zhí)行。
下載命令:wget http://nginx.org/download/nginx-1.13.7.tar.gz
解壓命令:tar -xvf nginx-1.13.7.tar.gz
3、安裝nginx
1、進(jìn)入解壓后的目錄進(jìn)行安裝:cd /nginx-1.13.7/
2、編譯,執(zhí)行配置: 考慮到后續(xù)安裝ssl證書 添加兩個(gè)模塊 等待加載完成!
命令:./configure --with-http_stub_status_module --with-http_ssl_module
3、安裝,等待安裝完成!
命令:make && make install
4、啟動(dòng)
進(jìn)入 /usr/local/nginx/sbin/ 目錄下啟動(dòng):cd?/usr/local/nginx/sbin/
啟動(dòng):./nginx
重啟:./nginx -s reload
關(guān)閉:./nginx -s stop
或者,指定配置文件啟動(dòng):./nginx -c /usr/local/nginx/conf/nginx.conf
5、測試
安裝lsof插件
命令:yum install -y lsof
安裝完成,使用命令:lsof -i:80
6、設(shè)置防火墻端口 80
啟動(dòng)防火墻:systemctl start firewalld
設(shè)置端口 80:firewall-cmd --zone=public --add-port=80/tcp --permanent
設(shè)置端口 8081:firewall-cmd --zone=public --add-port=8081/tcp --permanent
更新防火墻規(guī)則:firewall-cmd --reload
防火墻列表:firewall-cmd --zone=public --list-ports
firewall-cmd --reload && firewall-cmd --list-port
7、訪問
使用我們的IP路徑訪問可以看到
三、tomcat負(fù)載均衡
1、準(zhǔn)備工作
確保你的tomcat的/apache-tomcat-8.5.20/webapps/里面沒有任何不屬于的項(xiàng)目及文件
2、準(zhǔn)備2個(gè)tomcat
準(zhǔn)備兩個(gè)tomcat,在你的根目錄里面執(zhí)行以下命令
命令 復(fù)制:cp -r apache-tomcat-8.5.20/ apache-tomcat-8.5.20_8081/
3、修改端口
進(jìn)入第二個(gè)tomcat/conf里面server.xml文件進(jìn)行端口的修改
編輯文件:vim server.xml
為了避免兩個(gè)的tomcat沖突,我們在這些地方都+1
- HTTP端口,默認(rèn)8080,如下改為8081
![]()
- 遠(yuǎn)程停服務(wù)端口,默認(rèn)8005,如下改為8006
![]()
- AJP端口,默認(rèn)8009,如下改,8010
![]()
4、測試端口
我們在兩個(gè)tomcat里面分別啟動(dòng)? ./startup.sh
5、服務(wù)器的集群
進(jìn)入?cd /usr/local/nginx/conf/ 里面編輯nginx.conf文件
編輯:vim nginx.conf
添加以下代碼
#服務(wù)器的集群 upstream tomcat_list { #服務(wù)器集群名字 server 127.0.0.1:8080 weight=1; #服務(wù)器1 weight是權(quán)重的意思,權(quán)重越大,分配的概率越大。 server 127.0.0.1:8081 weight=2; #服務(wù)器2 weight是權(quán)重的意思,權(quán)重越大,分配的概率越大 }
在里面注釋root,添加proxy_pass http://tomcat_list/;
進(jìn)入/usr/local/nginx/sbin/:cd ../sbin/
重啟nginx:./nginx -s reload
最后我們直接訪問我們的IP地址可以看到
如果有一個(gè)服務(wù)器tomcat停掉了一個(gè),就只會用另外一個(gè)了
四、后端接口部署
1、導(dǎo)入項(xiàng)目啟動(dòng)
- 用我們的客戶端工具在我們兩個(gè)tomcat中webapps文件夾里面都放入我們的war包。
- 如果你的兩個(gè)tomcat都是開啟的狀態(tài)我們在兩個(gè)tomcat里面停止運(yùn)行./shutdown.sh。
- 然后我們再開啟兩個(gè)tomcat服務(wù)器./startup.sh。
- MySQL的數(shù)據(jù)可以查看【Linux】Linux項(xiàng)目部署及更改訪問端口號。
2、測試
我們訪問我們的端口數(shù)據(jù)
五、前端部署
1、前端打包
1.1、簡介
SPA(Single Page Application)是一種運(yùn)行在單個(gè)頁面上的 Web 應(yīng)用程序,主要采用 JavaScript、Ajax 等技術(shù)動(dòng)態(tài)加載頁面內(nèi)容,提供像桌面應(yīng)用程序一樣的用戶體驗(yàn)。將前端 SPA 進(jìn)行打包主要是為了加快頁面的加載速度,減少資源請求次數(shù),保證前端應(yīng)用的快速響應(yīng)。
1.2、步驟
- 再打包之前記得運(yùn)行一遍你的項(xiàng)目,以便出意外的麻煩操作。(確保項(xiàng)目運(yùn)行沒問題)
- 在spa前端項(xiàng)目里面的config/index.js里面build里面修改assetsPublicPath
![]()
- 。在build/utils.js里面添加publicPath。
![]()
- 在你的前端spa項(xiàng)目的目錄里面cmd進(jìn)入命令窗口。
![]()
- 在命令窗口輸入命令:npm run build
![]()
- 在目錄里面可以看到dist文件,里面是我們打包好的前端項(xiàng)目。
2、前端部署
2.1、導(dǎo)入\解壓文件
- 在/usr/local/里面新建一個(gè)文件夾mypro放入自己的前端項(xiàng)目zip。
- 進(jìn)入mypro里面
- 解壓前端
- 安裝解壓插件:yum install -y unzip
![]()
- 解壓:unzip blog.zip
![]()
2.2、配置
在/usr/local/nginx/conf/編輯nginx.conf文件。
靜態(tài)資源配置
把root 的路徑改成你解壓的文件路徑;注釋proxy_pass。
動(dòng)態(tài)資源配置
在下面添加保存;^~/api/表示匹配前綴是api的請求,proxy_pass的結(jié)尾有/, 則會把/api/*后面的路徑直接拼接到后面,即移除api。
location ^~/api/ { proxy_pass http://tomcat_list/; }
進(jìn)入:cd /usr/local/nginx/sbin/
重啟nginx :./nginx -s reload
訪問IP地址可以看到我們的前端
2.3、加載映射關(guān)系
看你的項(xiàng)目請求路徑是什么,如果你的項(xiàng)目請求路徑是對應(yīng)的我們就可以不用修改。
我們進(jìn)入我們主機(jī)的C:\Windows\System32\drivers\etc\hosts文件進(jìn)行編輯配置,配置我們項(xiàng)目訪問對應(yīng)的訪問路徑配置成我們服務(wù)器對應(yīng)的IP地址。
2.4、訪問
這樣我們的主機(jī)就能訪問了文章來源:http://www.zghlxwxcb.cn/news/detail-741137.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-741137.html
到了這里,關(guān)于【Linux】Nginx安裝使用負(fù)載均衡及動(dòng)靜分離(前后端項(xiàng)目部署),前端項(xiàng)目打包的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!