Nginx 安装部署以及负载均衡
參考文章:
Nginx反向代理兩個tomcat服務器 - 戈博折刀 - 博客園
Nginx負載均衡的詳細配置及使用案例詳解. - 一枝花算不算浪漫 - 博客園
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(最新穩定版本)
wget http://nginx.org/download/nginx-1.20.1.tar.gz
tar -zxvf nginx-1.20.1.tar.gz -C /usr/local/nginx
3. 使用默認配置
cd /usr/local/nginx-1.20.1
./configure
4. 啟動
cd /usr/local/nginx/sbin
./nginx 啟動
./nginx -s stop 強制關閉
./nginx -s quit 關閉
./nginx -s reload 重載服務配置文件
./nginx -t 驗證配置文件
./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. 配置反向代理,負載均衡
先配置轉發請求的真正服務地址,即真正響應服務的tomcat的地址和端口,
用 upstream + 自定義tomcat服務器的名稱,然后里面是 server + tomcat的ip+端口
(server_name攔截請求域名,本地主機需修改host文件 ip 域名 )
192.168.199.100 8080.主機名.com
192.168.199.100 8081.主機名.com
?location中,不再配置本地目錄作為相應,而是用 proxy_pass? 關鍵字來配置請求轉發的服務器名稱,具體格式為: proxy_pass? http:// + 服務器名稱
其中的服務名稱就是我們在 upstream 中配置的 真正要提供服務的tomcat的 我們自定義的名稱,即 tomcatserver1
這樣,當前臺請求 虛擬主機的攔截地址 8080.itheima.com時,虛擬主機就會將請求轉發給真正的tomcat服務器 192.168.25.141:8080 來提供服務。
同理,再配置第二對請求的真正服務器 tomcatserver2 及 攔截請求的虛擬主機 server_name 8081.itheima.com
實例:
vim /usr/local/nginx/conf/nginx.conf
配置文件內容:
? 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.主機名.com;location / {proxy_pass http://tomcatserver1;index index.html index.htm;}}?第二臺服務器:
? server{listen 80;server_name 8081.主機名.com;location / {proxy_pass http://tomcatserver2;index index.html index.htm;}}?訪問 8080.主機名.com
訪問 8081.主機名.com
這樣就實現了反向代理,即從表象上看,我們兩個請求都是請求的同一個ip地址同樣都是默認的80端口,但是服務器端實際上是用兩個不同的tomcat來響應的。
因為我們前面在host中配置的是同一個ip,而且沒有配端口(后面的8080和8081后面都是點,即其是域名,非端口),所以看起來像是訪問的同一個服務器ip地址和端口。
8. 負載均衡
? upstream tomcatserver{server 192.168.199.100:8080 weight=2;server 192.168.199.100:8081 weight=1;}server{listen 80;server_name 8080.主機名.com;location / {proxy_pass http://tomcatserver;index index.html index.htm;}}?訪問nginx主機8080.主機名.com的請求會被攔截,并轉發到http://tomcatserver ?下,其中服務器對應的
192.168.199.100:8080
192.168.199.100:8081
含有對應權重,按權重比例轉發請求。
proxy_pass 的相對路徑和絕對路徑
在nginx中配置proxy_pass代理轉發時,如果在proxy_pass后面的url加/,表示絕對根路徑;如果沒有/,表示相對路徑,把匹配的路徑部分也給代理走
其他配置:
超時時間、最大請求數、數據包發送、隱藏版本號、日志配置、文件緩存、ssl證書等配置。
總結
以上是生活随笔為你收集整理的Nginx 安装部署以及负载均衡的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言实现仿射密码体制
- 下一篇: VS2017--无法添加引用--提示“未