nginx 配置多tomcat 操作 centos(負載均衡)

最近想要擴展下後端技術知識 所以打算深入瞭解下nginx 並自己搭建一下感受一下。
希望大家也是一樣 ,自己動手試一遍 會有不同的體會。下面進入正題吧!
相信想要實際操作ngnix的 都應該有所瞭解它的基本知識。
我這裏緊緊解決關於負載均衡 爲了解決併發和前後端分離的實操。
前期準備:
centos 7.0(服務器)
nginx-1.8.0.tar.gz(nginx安裝包)
apache-tomcat-8.5.41.tar(tomcat安裝包)
fillzila(文件傳輸工具)

安裝包稍後放在百度雲 需要其他版本的自己下載

鏈接:https://pan.baidu.com/s/1UPs4D-6bwzl1_jORni2-7Q 密碼:rha9

1.將nginx-1.8.0.tar.gz通過fillzila上傳至centos服務器 並解壓

tar ­zxvf nginx-1.8.0.tar.gz 

在這裏插入圖片描述
2.安裝nginx的依賴庫

yum install pcre
yum install pcre­devel yum install zlib
yum install zlib­devel yum install openssl

3.進入解壓後的目錄進行配置(默認配置也可以)

cd nginx-1.8.0

./configure \
­­prefix=/usr/local/nginx \ ­­pid­path=/var/run/nginx/nginx.pid \ ­­lock­path=/var/lock/nginx.lock \ ­­error­log­path=/var/log/nginx/error.log \ ­­http­log­path=/var/log/nginx/access.log \ ­­with­http_gzip_static_module \ ­­http­client­body­temp­path=/var/temp/nginx/client \ ­­http­proxy­temp­path=/var/temp/nginx/proxy \ ­­http­fastcgi­temp­path=/var/temp/nginx/fastcgi \ ­­http­uwsgi­temp­path=/var/temp/nginx/uwsgi \ ­­http­scgi­temp­path=/var/temp/nginx/scgi \ ­­add­module=/usr/local/fastdfs­   ­module/src

4.安裝並編譯

make && make install

5.啓動ngnix

cd /usr/local/nginx/sbin
./nginx

此處有可能報錯:nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
原因是 你本地80端口被佔用,解決方式有兩種
1.查看本地佔用80端口的進程並殺死(個人不建議)
2.修改配置文件改端口

cd /usr/local/nginx/conf
vim nginx.conf

將端口改成其他端口 我這裏改成了90端口
在這裏插入圖片描述

修改好後從新編譯

make && make install

6.編譯成功後測試訪問 http://ip:90界面如下安裝成功
在這裏插入圖片描述
**

接下來配置tomcat

**

1.將tomcat上傳至服務器並解壓 操作如下

 tar -xvf apache-tomcat-8.5.41.tar 

2.tomcat解壓後的文件重命名 操作如下

mv apache-tomcat-8.5.41 tomcat1
mv apache-tomcat-8.5.41 tomcat2

3.分別對兩個tomcat的 server.xml進行端口修改

cd tomcat1/conf/
vim server.xml

作如下修改

<?xml version="1.0" encoding="UTF-8"?>

<!-- 1 默認8005改成8007 -->
<Server port="8006" shutdown="SHUTDOWN">
    <!-- 2 Http默認8080 改成9082 -->
    <Connector port="9081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
     <!-- 3 AJP默認8009 改成8011 -->         
    <Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />        

接下來修改tomcat2的server.xml

cd tomcat2/conf/
vim server.xml

作如下修改

<?xml version="1.0" encoding="UTF-8"?>

<!-- 1 默認8005改成8007 -->
<Server port="8007" shutdown="SHUTDOWN">
    <!-- 2 Http默認8080 改成9082 -->
    <Connector port="9082" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
     <!-- 3 AJP默認8009 改成8011 -->         
    <Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />        

4.進入相應tomcat目錄並運行

# 進入tomcat目錄 
cd /相對路徑/tomcat1
# 運行tomcat
/bin/startup.sh

5.瀏覽器訪問對應http://ip:9081。 http://ip:9082測試 是否tomcat啓動成功
6.配置nginx.conf

cd /usr/local/nginx/conf
vim nginx.conf
# 按下面進行增加和編輯,完成後 :wq 保存。不會使用 vi/ vim。你應該上網搜搜。

http {
    # 省略代碼....
   
    # 增加  upstream, 名稱爲 serverlist
    upstream serverlist{
        server localhost:9081 weight=1;  # weigh表示權重,越大訪問的機率越多
        server localhost:9082 weight=1;
        server localhost:9083 weight=1;
    }
    
    # 編輯
    server {
        listen       80;
        server_name  www.yourdomian.com;

        location / {
            # 這裏使用定義 serverlist
            proxy_pass http://serverlist;
        }
       

7.重啓nginx現在就可以通過你的域名進行訪問了。多次刷新就可以看到網站顯示是哪個tomcat的內容。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章