新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
CentOS7上實現(xiàn)Nginx+Tomcat負(fù)載均衡
- 概述
通常情況下,一個Tomcat站點由于可能出現(xiàn)單點故障及無法應(yīng)付過多客戶復(fù)雜多樣的請求等問題,不能單獨應(yīng)用于生產(chǎn)環(huán)境下,所以需要一套更可靠的解決方案來完善web站點架構(gòu)。

nginx是一款優(yōu)秀的http服務(wù)器軟件,它能夠支持多達50000個并發(fā)連接數(shù)的響應(yīng),擁有強大的靜態(tài)資源處理能力,運行穩(wěn)定,并且內(nèi)存,CPU等系統(tǒng)資源消耗非常低。目前有很多大型網(wǎng)站都應(yīng)用nginx作為后端網(wǎng)站程序的反向代理及負(fù)載均衡。
本案例我們將已nginx作為負(fù)載均衡器,反向代理,tomcat作為節(jié)點服務(wù)器。
- 案例環(huán)境
| 主機 | IP地址 |
|---|---|
| nginx服務(wù)器 | 192.168.177.132 |
| tomcat服務(wù)器1 | 192.168.177.145 |
| tomcat服務(wù)器2 | 192.168.177.135 |
tomcat服務(wù)器
安裝jdk(1.8版本)
# tar xf apache-tomcat-8.5.23.tar.gz /opt # tar xf jdk-8u144-linux-x64.tar.gz /opt //解壓安裝包
# mv apache-tomcat-8.5.23/ /usr/local/tomcat8 # mv jdk1.8.0_144/ /usr/local/Java //便于管理
# vim /etc/profile //設(shè)置環(huán)境變量 export JAVA_HOME=/usr/local/java export JRE_HOME=/usr/local/java/jre export PATH=$PATH:/usr/local/java/bin export CLASSPATH=./:/usr/local/java/lib:/usr/local/java/jre/lib # source /etc/profile
# java -version //查看java版本信息 java version "1.8.0_131" OpenJDK Runtime Environment (build 1.8.0_131-b12) OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
安裝tomcat
# ln -s /usr/local/tomcat8/bin/startup.sh /usr/bin/tomcatup # ln -s /usr/local/tomcat8/bin/shutdown.sh /usr/bin/tomcatdown //放在/usr/bin下便于識別命令
# tomcatup //開啟服務(wù)
# netstat -anpt | grep 8080 //查看tomcat端口是否開啟
# http://192.168.177.145:8080/ //測試默認(rèn)測試頁是否正常顯示(節(jié)點)
# vim /usr/local/tomcat8/webapps/ROOT/index.jsp //修改默認(rèn)網(wǎng)頁內(nèi)容(站點)
this is 145!!!
nginx服務(wù)器
手工編譯安裝
# tar zxvf nginx-1.12.0.tar.gz -C /opt
# yum install pcre-devel zlib-devel gcc gcc-c++ -y //安裝環(huán)境包
# useradd -M -s /sbin/nologin nginx //創(chuàng)建管理nginx的用戶
# cd /opt/nginx-1.12.0/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \ //指定運行的用戶
--group=nginx \ //指定運行的組
--with-http_stub_status_module //啟用統(tǒng)計狀態(tài)
# make && make install
# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //讓系統(tǒng)識別命令
# nginx -t //驗證語法
編寫便于service管理的腳本
# cd /etc/init.d/
vim 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
# chmod +x /etc/init.d/nginx //執(zhí)行權(quán)限
# chkconfig --add nginx
# chkconfig --level 35 nginx on
# service nginx stop
# netstat -ntap | grep 80
# service nginx start
# netstat -ntap | grep 80
修改配置文件
# vim /usr/local/nginx/conf/nginx.conf
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
添加:
upstream tomcat_server { #添加
server 192.168.177.145:8080 weight=1; //權(quán)重相同,頁面會反復(fù)在以下兩個頁面間來回切換
server 192.168.177.135:8080 weight=1;
}
server {
listen 80;
.....省略
location / {
# root html;
# index index.html index.htm;
proxy_pass http://tomcat_server; //添加一行 ,把nginx的默認(rèn)站點通過 proxy_pass方法代理到設(shè)定好的tomcat_server負(fù)載均衡服務(wù)器上
}
# service nginx restart //啟用nginx服務(wù)// 文章名稱:CentOS7上實現(xiàn)Nginx+Tomcat負(fù)載均衡
瀏覽地址:http://www.dlmjj.cn/article/djshphg.html


咨詢
建站咨詢
