(一)安裝所需軟件包
nginx-1.15.12.tar.gz
下載地址:http://nginx.org/download
安裝環境:Linux
(二)安裝准備
Nginx是C語言開發的,所以需要在Linux上使用C語言編譯后才能使用,所以需要先安裝用於編譯的C環境,這些依賴庫主要有g++,gcc,openssl-devel,pcre-devel和zlib-devel。執行如下命令安裝:
$ yum install -y gcc-c++
$ yum install -y pcre pcre-devel
$ yum install -y zlib zlib-devel
$ yum install -y openssl openssl-devel
安裝nginx之前,最好檢查一下是否已經安裝有nginx
$ find -name nginx
如果已經安裝了nginx,那么就先卸載
$ yum remove nginx
(三)Nginx安裝
1) 解壓安裝包到指定目錄
tar -zxvf nginx-1.15.12.tar.gz -C /CFCA/nginx
2) 進入nginx解壓后的目錄(/CFCA/nginx),執行“./configure”進行編譯,編譯完成后,這個目錄下會多一個Makefile文件
3) 進入nginx解壓后的目錄(/CFCA/nginx),執行安裝命令
make PREFIX=/usr/local/nginx install
PREFIX指定安裝到哪個目錄下,否則默認安裝時很容易找不到地方,然后就有了安裝后的目錄/usr/local/nginx
4) 安裝完畢后,進入安裝目錄(/usr/local/nginx)便可以啟動或停止它了。
5) 根據需要開啟防火牆端口(80)
(四)Nginx啟動關閉及其他命令
進入安裝目錄(/usr/local/nginx)下的sbin目錄,可執行nginx啟動關閉命令。
1)檢查配置文件是否正確
$ /usr/local/nginx-1.6/sbin/nginx –t
2) 查看nginx是否啟動
ps –ef|grep nginx
3) 啟動nginx
./sbin/nginx
4) 停止nginx
./sbin/nginx –s stop 或 pkill nginx
5) 退出,等程序執行關閉后,建議使用此命令
./sbin/nginx –s quit
6) 動態加載配置文件,可以在不關閉nginx的情況下更新配置文件,使其生效
./sbin/nginx –s reload
(五)Nginx + Tomcat集群搭建
為簡單,本文搭建一個Nginx+兩個Tomcat服務的環境。
准備Web應用及Tomcat服務器
准備一個Java Web項目,兩個Tomcat中,兩個Tomcat的端口修改為不一樣的,避免沖突,將Web應用分別部署到兩個Tomcat中。
Nginx代理集群服務器配置
1) 進入nginx安裝目錄(/usr/local/nginx),修改conf目錄下的nginx.conf文件,在http節點下添加如下所示。
在location/{}中添加反向代理:proxy_pass 代理服務器路徑(http://上圖中的自定義名稱)
2) 重啟Nginx服務器
3) 訪問http://ip/servicename(ip為 nginx服務器的IP),會隨機地訪問兩個Tomcat中的應用內容。
4) 注意:經過上述配置,負載均衡已生效,用戶會隨機的訪問兩個Tomcat中的應用內容,但是存在問題,用戶每次訪問的Session不一致,所以還需要設置Session共享。
Nginx集群下Session共享配置
解決Session共享問題通常有如下三種方式:
1) 采用Web服務器解決(廣播機制),有可能會導致tomcat性能下降
2) 在nginx的配置文件nginx.conf中的upstream中添加ip_hash
經過這樣配置之后,同一個IP,無論怎么訪問都會指向同一個Tomcat。
3) 將Session放入redis中。
可參考 https://blog.csdn.net/liuningwcsdn/article/details/79848223