Centos 7搭建Nginx負載均衡,最簡單。

1.安裝Nginx

1.1.下載Nginx安裝包

Nginx 官網(https://nginx.org)
本次選擇的是nginx-1.6.3.tar.gz版本,安裝環境是centos7。
而後把下載好的安裝包經過SecureCRT工具上傳至Centos7中或者使用wget命令下載安裝包css

#下載nginx-1.6.3.tar.gz
wget -c https://nginx.org/download/nginx-1.6.3.tar.gz

如果出現下面的提示html

-bash: wget: command not found

則執行java

yum install wget

2.安裝Nginx的前提環境

1)安裝 gcc 環境nginx

yum install gcc-c++

2) 安裝 PCRE 依賴庫c++

yum install -y pcre pcre-devel

3)安裝 zlib 依賴庫web

yum install -y zlib zlib-devel

4) 安裝 OpenSSL 安全套接字層密碼庫shell

yum install -y openssl openssl-devel

5)解壓 Nginxapache

#解壓文件夾
tar -zxvf nginx-1.6.3.tar.gz

6)執行配置命令vim

cd進入文件夾
cd nginx-1.6.3

執行配置命令centos

./configure

出現以下圖:表示成功

在這裏插入圖片描述在這裏插入圖片描述
7)執行編譯安裝命令

 

make install

8)查找安裝路徑

whereis nginx

結果以下:

在這裏插入圖片描述在這裏插入圖片描述
9)啓動服務

 

進入 nginx 的目錄

cd /usr/local/nginx/sbin/

執行以下命令

#啓動
./nginx

#中止,此方式至關於先查出nginx進程id再使用kill命令強制殺掉進程
./nginx -s stop

#中止,此方式中止步驟是待nginx進程處理任務完畢進行中止
./nginx -s quit

#從新加載配置文件,Nginx服務不會中斷
./nginx -s reload

10)修改配置文件

好比,修改端口號,默認端口號爲80,我們這裏改爲83;

進入配置文件夾

cd /usr/local/nginx/conf

備份原始配置文件

cp nginx.conf nginx.conf.back

編輯nginx.conf配置文件

vim nginx.conf

找到server中的listen,修改端口號爲83

在這裏插入圖片描述在這裏插入圖片描述
啓動服務

 

#要進入sbin/下才能執行
./nginx

查看 nginx 進程

ps -ef|grep nginx

在這裏插入圖片描述在這裏插入圖片描述
到此,nginx 安裝基本完成,直接在瀏覽器上訪問服務器地址:虛擬機的ip:83,就能夠進入頁面
在這裏插入圖片描述在這裏插入圖片描述

3.安裝Tomcat

tomcat 官網(http://tomcat.apache.org/)
本次選擇的是最新版本,本次安裝環境是centos7。

我是直接用wget命令下載

在這裏插入圖片描述在這裏插入圖片描述

解壓文件夾

tar -zxvf apache-tomcat-8.5.40.tar.gz

從新命名

mv apache-tomcat-8.5.40 tomcat-1

一樣的,再次解壓安裝包,命名爲tomcat-2

mv apache-tomcat-8.5.40 tomcat-2

1)修改 tomcat 端口號

將 tomcat-1 的 http 端口設置爲8080,將 tomcat-2 的 http 端口設置爲8081。

進入tomcat的conf文件夾,修改server.xml

vim server.xml

修改SHUTDOWN、HTTP/1.一、redirectPort、AJP/1.3端口,使其錯開,避免重啓的時候,報端口被佔用問題

tomcat-1 的SHUTDOWN、HTTP/1.一、redirectPort、AJP/1.3設置以下:

<!--關閉服務端口-->
<Server port="9005" shutdown="SHUTDOWN">
...
<!--HTTP服務端口8080,跳轉端口9443-->
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="9443" />

<!--AJP服務端口-->
<Connector port="9009" protocol="AJP/1.3" redirectPort="9443" />
...
</Server>

tomcat-2 的SHUTDOWN、HTTP/1.一、redirectPort、AJP/1.3設置以下:

<!--關閉服務端口-->
<Server port="10005" shutdown="SHUTDOWN">
...
<!--HTTP服務端口8081-->
<Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="10443" />

<!--AJP服務端口-->
<Connector port="10009" protocol="AJP/1.3" redirectPort="10443" />
...
</Server>

2)啓動服務

分別進入 tomcat-1 、 tomcat-2 的bin文件夾,執行腳本,啓動服務

sh startup.sh

查看服務是否啓動成功

ps -ef|grep tomcat

能夠直接在瀏覽器上分別輸入ip:8080、ip:8081進行訪問了,結果以下:

在這裏插入圖片描述在這裏插入圖片描述
3)編寫Html

 

爲了便於測試,咱們建立一個html格式的頁面,文件命名爲index.html,內容以下:
進入tomcat-1的webapps文件夾,刪除ROOT文件夾裏面的東西,建立index.html文件;

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        Hello server1!
    </body>
</html>

進入tomcat-1的webapps文件夾,刪除ROOT文件夾裏面的東西,建立index.html文件;

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        Hello server2!
    </body>
</html>

4)測試

建立好了以後,分別在瀏覽器上訪問ip:8080、ip:8081;

ip:8080,結果以下:

在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述

實現負載均衡

進入 Nginx 的配置文件夾

cd /usr/local/nginx/conf

編輯nginx.conf配置文件

vim nginx.conf

主要新增upstream集羣配置點,配置以下:

worker_processes  1;

events {
    worker_connections  1024;
}

http {  
    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    gzip  on;

     #服務器的集羣(這個就是咱們要配置的地方)
     #test.com:服務器集羣名字,自定義
    upstream  test.com {
        #服務器配置   weight是權重的意思,權重越大,分配的機率越大。
        #127.0.0.1:8080、127.0.0.1:8081對應tomcat服務器地址
        server    127.0.0.1:8080  weight=1;
        server    127.0.0.1:8081  weight=2;
    }

    server {  
        listen       83;
        server_name  localhost;

    location / {
    ·        #配置反向代理地址
            proxy_pass http://test.com;
            proxy_redirect default;
        }


        error_page   500 502 503 504  /50x.html;  
        location = /50x.html {  
            root   html;  
        }  
    }  
}

參數說明:

•worker_processes:工做進程的個數,通常與計算機的cpu核數一致
•worker_connections:單個進程最大鏈接數(最大鏈接數=鏈接數*進程數)
•include:文件擴展名與文件類型映射表
•default_type:默認文件類型
•sendfile :開啓高效文件傳輸模式,sendfile指令指定nginx是否調用sendfile函數來輸出文件,對於普通應用設爲 on,若是用來進行下載等應用磁盤IO重負載應用,可設置爲off,以平衡磁盤與網絡I/O處理速度,下降系統的負載。注意:若是圖片顯示不正常把這個改爲off。
•keepalive_timeout:長鏈接超時時間,單位是秒
•upstream:服務器的集羣配置點

配置好以後,進入/usr/local/nginx/sbin/ 文件夾,從新刷新配置文件

./nginx -s reload

最後,訪問Nginx服務器所在ip:83地址,屢次刷新,看看效果:

在這裏插入圖片描述在這裏插入圖片描述
多刷幾回
在這裏插入圖片描述在這裏插入圖片描述

防火牆的開啓

####開啓防火牆
[root@localhost httpd]# systemctl start firewalld
####添加81端口放行規則
[root@localhost sysconfig]# firewall-cmd --zone=public --add-port=83/tcp --permanent
success
####添加8080端口放行規則
[root@localhost sysconfig]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
success
####添加8081端口放行規則
[root@localhost sysconfig]# firewall-cmd --zone=public --add-port=8081/tcp --permanent
success
####從新加載一下
[root@localhost httpd]# sudo firewall-cmd --reload

更多資源和教程請關注公衆號:非科班的科班。
若是以爲我寫的還能夠請給個贊,謝謝你們,你的鼓勵是我創做的動力

 

最後分享一波java的資源,資源包括java從入門到開發的全套視頻,以及java的26個項目,資源比較大,大小大概是290g左右,連接容易失效,獲取的方式是關注公衆號:非科班的科班,讓後回覆:java項目便可得到,祝你們學習愉快

相關文章
相關標籤/搜索