您好,登錄后才能下訂單哦!
下文給大家帶來關于Nginx+Tomcat負載均衡群集的實戰詳解,希望能夠給大家在實際運用中帶來一定的幫助,負載均衡涉及的東西比較多,理論也不多,網上有很多書籍,今天我們就用億速云在行業內累計的經驗來做一個解答。
云服務器角色 | IP地址 | 操作系統 |
---|---|---|
Nginx服務器 | 192.168.142.131 | centos 7 |
tomcat 01服務器 | 192.168.142.134 | centos 7 |
tomcat 02服務器 | 192.168.142.130 | centos 7 |
#安裝環境
[root@nginx ~]#yum install gcc gcc-c++ pcre-devel zlib-devel
#添加Nginx管理用戶
[root@nginx ~]# useradd -M -s /sbin/nologin nginx
#遠程共享源碼包
[root@nginx ~]# smbclient -L //192.168.142.1
[root@nginx ~]# mount.cifs //192.168.142.1/tomcat /mnt
#解壓源碼包
[root@nginx ~]# cd /mnt
[root@nginx ~]# tar zxvf nginx-1.12.0.tar.gz -C /opt
[root@nginx mnt]# cd /opt/nginx-1.12.0/
#進行configure配置
[root@nginx nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module
#編譯及編譯安裝
[root@nginx nginx-1.12.0]# make && make install
#創建軟連接讓系統識別nginx啟動腳本
[root@nginx nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
#開啟服務
[root@nginx nginx-1.12.0]# nginx
[root@nginx nginx-1.12.0]# systemctl stop firewalld.service
[root@nginx nginx-1.12.0]# setenforce 0
#啟動配置文件目錄創建啟動腳本
[root@nginx nginx-1.12.0]# vim /etc/init.d/nginx
#!/bin/bash
# chkconfig: - 99 20
# description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
start)
$PROG
;;
stop)
kill -s QUIT $(cat $PIDF)
;;
restart)
$0 stop
$0 start
;;
reload)
kill -s HUP $(cat $PIDF)
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac
exit 0
#添加執行權限
[root@nginx nginx-1.12.0]# chmod +x /etc/init.d/nginx
#將nginx增加到service管理
[root@nginx nginx-1.12.0]# chkconfig --add nginx
#啟動服務
[root@nginx nginx-1.12.0]# service nginx start
#查看服務端口狀態
[root@nginx nginx-1.12.0]# netstat -ntap | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 42092/nginx: master
#修改配置文件
[root@nginx nginx-1.12.0]# vim /usr/local/nginx/conf/nginx.conf
#gzip on;
#追加以下四行條目,用以定義tomcat服務池并分配權重
upstream tomcat-server {
server 192.168.142.134:8080 weight=1;
server 192.168.142.130:8080 weight=1;
}
server {
listen 80;
server_name localhost;
#追加以下四行條目,用以支持
location ~.*.jsp$ {
proxy_pass http://tomcat-server;
proxy_set_header Host $host;
}
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
#追加以下一行條目,用以調用tomcat服務池資源
proxy_pass http://tomcat-server;
}
#追加以下四行條目,用以支持各類圖片的緩存30天
location ~.*\.(gif|jpg|jpeg|png|bmp|swf|css)$ {
root html/test;
expires 30d;
}
#檢查語法
[root@nginx nginx-1.12.0]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
#重啟服務,并查看服務端口狀態
[root@nginx nginx-1.12.0]# service nginx stop
[root@nginx nginx-1.12.0]# service nginx start
[root@nginx nginx-1.12.0]# netstat -ntap | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 69680/nginx: master
#創建站點目錄
[root@nginx nginx-1.12.0]# mkdir /usr/local/nginx/html/test
#復制圖片到站點目錄中
[root@nginx nginx-1.12.0]# cp /mnt/game.jpg /usr/local/nginx/html/test
#遠程共享源碼包
[root@tomcat01 ~]# smbclient -L //192.168.142.1
[root@tomcat01 ~]# mount.cifs //192.168.142.1/tomcat /mnt
#解壓源碼包
cd /mnt
[root@tomcat01 mnt]# tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local
[root@tomcat01 mnt]# tar zxvf apache-tomcat-8.5.16.tar.gz -C /usr/local/
#聲明環境變量
[root@tomcat01 mnt]# vim /etc/profile
export JAVA_HOME=/usr/local//jdk1.8.0_91
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
#生效環境變量
[root@tomcat01 mnt]# source /etc/profile
[root@tomcat01 ~]# cd /usr/local
[root@tomcat01 local]# mv apache-tomcat-8.5.16/ tomcat
##創建tomcat啟動腳本的軟鏈接到系統目錄中,方便系統識別
[root@tomcat01 local]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/
#創建tomcat關閉腳本的軟鏈接到系統目錄中,方便系統識別
[root@tomcat01 local]# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin/
#啟動服務
[root@tomcat01 local]# startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local//jdk1.8.0_91/jre
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
#查看服務端口狀態
[root@tomcat01 local]# netstat -ntap | grep 8080
tcp6 0 0 :::8080 :::* LISTEN 111655/java
#創建站點目錄
[root@tomcat local]# mkdir /usr/local/tomcat/webapps/test
#編輯站點首頁內容
[root@tomcat01 local]# vim /usr/local/tomcat/webapps/test/index.jsp
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.Date" %>
<%@ page import="java.text.SimpleDateFormat" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/ html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>動態網頁</title>
</head>
<body>
<div>Welcom to Jiangsu</div><br><img src="game.jpg">
</body>
</html>
[root@tomcat01 local]# vim /usr/local/tomcat/conf/server.xml
#在第149行下追加以下條目,
<Context docBase="/usr/local/tomcat/webapps/test" path="" reloadable="false">
</Context>
#重啟服務
[root@tomcat01 local]# shutdown.sh
[root@tomcat01 local]# startup.sh
#關閉防火墻和安全功能
[root@tomcat02 local]# systemctl stop firewalld.service
[root@tomcat02 local]# setenforce 0
#編輯站點首頁內容
[root@tomcat01 local]# vim /usr/local/tomcat/webapps/test/index.jsp
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.Date" %>
<%@ page import="java.text.SimpleDateFormat" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/ html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>動態網頁</title>
</head>
<body>
<div>Welcom to NanJing</div><br><img src="game.jpg">
</body>
</html>
看了以上關于Nginx+Tomcat負載均衡群集的實戰詳解,如果大家還有什么地方需要了解的可以在億速云行業資訊里查找自己感興趣的或者找我們的專業技術工程師解答的,億速云技術工程師在行業內擁有十幾年的經驗了。億速云官網鏈接www.neiyidaogou.com
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。