Centos 7離線安裝Nginx 配置負載均衡集羣

場景

項目中有三臺應用服務器,系統爲Centos 7 ,應用地址分別爲:html

  • 192.168.198.229:8080
  • 192.168.198.230:8080
  • 192.168.198.231:8080

應用使用tomcat部署,目前沒有域名,都是使用IP在局域網中單獨訪問。由於沒有單獨的服務器能夠用來部署Nginx,因此Nginx部署在229服務器上。nginx

安裝依賴包

在安裝Nginx前,須要先安裝好一些依賴包。
gcc依賴包centos

  • gcc-4.8.5-16.el7.x86_64.rpm
  • glibc-devel-2.17-196.el7.x86_64.rpm
  • glibc-headers-2.17-196.el7.x86_64.rpm
  • kernel-headers-3.10.0-693.el7.x86_64.rpm

其它依賴包tomcat

  • pcre-devel-8.32-17.el7.x86_64.rpm
  • zlib-devel-1.2.7-17.el7.x86_64.rpm
  • openssl-fips-2.0.10.tar.gz

由於沒法使用yum,我下載好後經過ftp上傳到服務器。依賴包下載傳送門:https://centos.pkgs.org/
前四個爲gcc安裝包與相關依賴,最後一個openssl-fips若是使用rpm,還須要安裝不少依賴包,所以使用壓縮包安裝更簡單。
gcc安裝
gcc安裝
gcc安裝驗證:
gcc驗證
服務器

其它依賴包安裝學習

[root@APP1 opt]# rpm -ivh pcre-devel-8.32-17.el7.x86_64.rpm 
警告:pcre-devel-8.32-17.el7.x86_64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID f4a80eb5: NOKEY
準備中...                          ################################# [100%]
正在升級/安裝...

[root@APP1 opt]# rpm -ivh zlib-devel-1.2.7-17.el7.x86_64.rpm 
警告:zlib-devel-1.2.7-17.el7.x86_64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID f4a80eb5: NOKEY
準備中...                          ################################# [100%]
正在升級/安裝...
   1:zlib-devel-1.2.7-17.el7          ################################# [100%]
   
[root@APP1 opt]# tar zxvf openssl-fips-2.0.10.tar.gz 
[root@APP1 opt]# cd openssl-fips-2.0.10/
[root@APP1 openssl-fips-2.0.10]# ./config && make && make install

安裝Nginx

安裝好上述依賴包後就能夠安裝Nginx了。安裝以下:
使用tar將nginx-1.12.0.tar.gz 解壓到 /usr/local/目錄,編譯安裝測試

[root@HMDMAPP1 opt]# tar -zxvf nginx-1.12.0.tar.gz -C /usr/local/
[root@HMDMAPP1 opt]# cd /usr/local/nginx-1.12.0/
[root@HMDMAPP1 nginx-1.12.0]# ./configure && make && make install
[root@HMDMAPP1 nginx-1.12.0]# whereis nginx
nginx: /usr/local/nginx

配置Nginx

安裝好後咱們須要對Nginx進行配置。
配置文件路徑爲:/usr/local/nginx/sconf/nginx.conf
主要配置點:
一、upstream
這裏配置一組被代理的服務器地址spa

upstream mysvr {
        server 192.168.198.229:8080   weight=1 max_fails=3 fail_timeout=15;
        server 192.168.198.230:8080   weight=1 max_fails=3 fail_timeout=15;
        server 192.168.198.231:8080   weight=1 max_fails=3 fail_timeout=15;
    }

二、server.net

server {
        listen       80; #監聽端口,與應用端口不一樣
        server_name  192.168.198.229; #監聽地址,通常是配置域名

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass http://mysvr; #請求轉向upstream配置中mysvr定義的服務器列表
        }
}
請求轉向還有另一種寫法:
若是upstream 中的服務器列表地址前加了 http:// 則在server中的請求轉向地址 mysvr不須要加 http://
upstream mysvr{
    server http://192.168.198.229:8080   weight=1 max_fails=3 fail_timeout=15;
       ...
       ...
}
server{
    ....
    location / {
            proxy_pass mysvr; #請求轉向upstream配置中mysvr定義的服務器列表
        }
}

啓動Nginx

[root@HMDMAPP1 /]# cd /usr/local/nginx/sbin
[root@HMDMAPP1 sbin]# ./nginx
Nginx經常使用命令
查看進程: ps -aux |grep 'nginx'
重啓nginx: ./nginx -s reopen
中止nginx: ./nginx -s stop
從新載入配置文件: ./nginx -s reload

經過 192.168.198.229+應用地址 進行訪問,咱們能夠在不一樣的服務器中的頁面中添加標識來測試Nginx配置是否成功。下面訪問test3.html頁面不一樣刷新顯示結果以下:
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
能夠看到訪問地址沒有變化,但Nginx把請求分配到了不一樣的服務器上。3d

本文中使用到了依賴包與Nginx.conf完整配置文件下載:https://download.csdn.net/dow...

推薦學習:Nginx部署與配置

相關文章
相關標籤/搜索