Nginx 安装部署以及负载均衡
參考文章:
Nginx反向代理兩個tomcat服務(wù)器 - 戈博折刀 - 博客園
Nginx負(fù)載均衡的詳細(xì)配置及使用案例詳解. - 一枝花算不算浪漫 - 博客園
nginx反向代理proxy_pass絕對路徑和相對路徑 - 簡書
1. 安裝依賴包
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
make
make install
2. 下載解壓nginx(最新穩(wěn)定版本)
wget http://nginx.org/download/nginx-1.20.1.tar.gz
tar -zxvf nginx-1.20.1.tar.gz -C /usr/local/nginx
3. 使用默認(rèn)配置
cd /usr/local/nginx-1.20.1
./configure
4. 啟動
cd /usr/local/nginx/sbin
./nginx 啟動
./nginx -s stop 強(qiáng)制關(guān)閉
./nginx -s quit 關(guān)閉
./nginx -s reload 重載服務(wù)配置文件
./nginx -t 驗(yàn)證配置文件
./nginx -c 路徑 配置文件路徑
5. 配置文件
/usr/local/nginx/conf/nginx.conf
vim nginx.conf
6. 開放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
7. 配置反向代理,負(fù)載均衡
先配置轉(zhuǎn)發(fā)請求的真正服務(wù)地址,即真正響應(yīng)服務(wù)的tomcat的地址和端口,
用 upstream + 自定義tomcat服務(wù)器的名稱,然后里面是 server + tomcat的ip+端口
(server_name攔截請求域名,本地主機(jī)需修改host文件 ip 域名 )
192.168.199.100 8080.主機(jī)名.com
192.168.199.100 8081.主機(jī)名.com
?location中,不再配置本地目錄作為相應(yīng),而是用 proxy_pass? 關(guān)鍵字來配置請求轉(zhuǎn)發(fā)的服務(wù)器名稱,具體格式為: proxy_pass? http:// + 服務(wù)器名稱
其中的服務(wù)名稱就是我們在 upstream 中配置的 真正要提供服務(wù)的tomcat的 我們自定義的名稱,即 tomcatserver1
這樣,當(dāng)前臺請求 虛擬主機(jī)的攔截地址 8080.itheima.com時,虛擬主機(jī)就會將請求轉(zhuǎn)發(fā)給真正的tomcat服務(wù)器 192.168.25.141:8080 來提供服務(wù)。
同理,再配置第二對請求的真正服務(wù)器 tomcatserver2 及 攔截請求的虛擬主機(jī) server_name 8081.itheima.com
實(shí)例:
vim /usr/local/nginx/conf/nginx.conf
配置文件內(nèi)容:
? upstream tomcatserver1{server 192.168.199.100:8080 weight=2;server 192.168.199.100:8081 weight=1;}upstream tomcatserver2{server 192.168.199.100:8081;}server{listen 80;server_name 8080.主機(jī)名.com;location / {proxy_pass http://tomcatserver1;index index.html index.htm;}}?第二臺服務(wù)器:
? server{listen 80;server_name 8081.主機(jī)名.com;location / {proxy_pass http://tomcatserver2;index index.html index.htm;}}?訪問 8080.主機(jī)名.com
訪問 8081.主機(jī)名.com
這樣就實(shí)現(xiàn)了反向代理,即從表象上看,我們兩個請求都是請求的同一個ip地址同樣都是默認(rèn)的80端口,但是服務(wù)器端實(shí)際上是用兩個不同的tomcat來響應(yīng)的。
因?yàn)槲覀兦懊嬖趆ost中配置的是同一個ip,而且沒有配端口(后面的8080和8081后面都是點(diǎn),即其是域名,非端口),所以看起來像是訪問的同一個服務(wù)器ip地址和端口。
8. 負(fù)載均衡
? upstream tomcatserver{server 192.168.199.100:8080 weight=2;server 192.168.199.100:8081 weight=1;}server{listen 80;server_name 8080.主機(jī)名.com;location / {proxy_pass http://tomcatserver;index index.html index.htm;}}?訪問nginx主機(jī)8080.主機(jī)名.com的請求會被攔截,并轉(zhuǎn)發(fā)到http://tomcatserver ?下,其中服務(wù)器對應(yīng)的
192.168.199.100:8080
192.168.199.100:8081
含有對應(yīng)權(quán)重,按權(quán)重比例轉(zhuǎn)發(fā)請求。
proxy_pass 的相對路徑和絕對路徑
在nginx中配置proxy_pass代理轉(zhuǎn)發(fā)時,如果在proxy_pass后面的url加/,表示絕對根路徑;如果沒有/,表示相對路徑,把匹配的路徑部分也給代理走
其他配置:
超時時間、最大請求數(shù)、數(shù)據(jù)包發(fā)送、隱藏版本號、日志配置、文件緩存、ssl證書等配置。
總結(jié)
以上是生活随笔為你收集整理的Nginx 安装部署以及负载均衡的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言实现仿射密码体制
- 下一篇: Nginx配置并使用SSI功能