您好,登錄后才能下訂單哦!
下文給大家?guī)韓ginx+tomcat動靜分離+負(fù)載均衡實現(xiàn)步驟及配置流程,希望能夠給大家在實際運用中帶來一定的幫助,負(fù)載均衡涉及的東西比較多,理論也不多,網(wǎng)上有很多書籍,今天我們就用億速云在行業(yè)內(nèi)累計的經(jīng)驗來做一個解答。
Nginx+Tomcat的動靜分離:
所謂的動靜分離就是通過nginx(或apache等)來處理用戶端請求的圖片、html等靜態(tài)的文件,tomcat(或weblogic)處理jsp、do等動態(tài)文件,從而達(dá)到動靜頁面訪問時通過不同的容器來處理。nginx處理靜態(tài)頁面效率遠(yuǎn)高于tomcat,而tomcat擅長動態(tài)頁面處理,這樣一來就能更好的提高并發(fā),處理性能。
Nginx+Tomcat的負(fù)載均衡:
在云服務(wù)器集群中,Nginx起到一個代理服務(wù)器的角色(即反向代理),為了避免單獨一個服務(wù)器壓力過大,將來自用戶的請求轉(zhuǎn)發(fā)給不同的服務(wù)器,tomcat負(fù)責(zé)處理nginx轉(zhuǎn)發(fā)的用戶請求
名稱 | 角色 | 地址 |
---|---|---|
centos7-1 | nginx | 192.168.142.153 |
centos7-2 | Tomcat | 192.168.142.154 |
centos7-3 | Tomcat | 192.168.142.132 |
win7 | 客戶端 | 不重要(同一網(wǎng)段即可) |
目的:
當(dāng)訪問服務(wù)器時,靜態(tài)頁面由nginx服務(wù)器處理,動態(tài)頁面由tomcat處理
安裝jdk環(huán)境包
[root@localhost tomcat]# rpm -ivh jdk-8u201-linux-x64.rpm
[root@localhost tomcat]# cd /usr/java/jdk1.8.0_201-amd64/
修改全局配置文件
[root@localhost jdk1.8.0_201-amd64]# vim /etc/profile
//末行添加
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH
[root@localhost jdk1.8.0_201-amd64]# source /etc/profile
[root@localhost jdk1.8.0_201-amd64]# cd /mnt/tomcat/
安裝Tomcat軟件本體
[root@localhost tomcat]# tar zxvf apache-tomcat-9.0.16.tar.gz -C /usr/local/
[root@localhost tomcat]# cd /usr/local/
[root@localhost local]# mv apache-tomcat-9.0.16/ tomcat
建立啟動/停止軟鏈接
[root@localhost local]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/
[root@localhost local]# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin/
//啟服務(wù),關(guān)防火墻
[root@localhost local]# startup.sh
[root@localhost local]# systemctl stop firewalld.service
[root@localhost local]# setenforce 0
創(chuàng)建Tomcat首頁
[root@tomcat1 local]# mkdir -p /web/webapp1 #建立站點
[root@tomcat1 local]# vim /web/webapp1/index.jsp #新建Tomcat首頁
<%@ page language= "java" import="java.util.*" pageEncoding="UTF-8" %>
<html>
<head>
<title>JSP test1 page</title>
</head>
<body>
<% out.println("Welcome to test site, http://www.testl.com" );%>
</body>
</html>
在配置文件中進(jìn)行指定
[root@tomcat1 local]# cd /usr/local/tomcat/conf/
[root@tomcat1 conf]# vim server.xml
##149行插入
<Context docBase="/web/webapp1" path="" reloadable="false">
</Context>
//注解:
//docBase: web應(yīng)用的文檔基準(zhǔn)目錄
//reloadable設(shè)置監(jiān)視“類”是否變化
//path=""設(shè)置默認(rèn)""類
//重啟服務(wù)
[root@tomcat1 conf]# shutdown.sh
[root@tomcat1 conf]# startup.sh
安裝環(huán)境包
[root@nginx ~]# yum -y install gcc gcc-c++ zlib-devel expat-devel pcre-devel pcre openssl-devel
安裝nginx軟件本體
[root@nginx mnt]# cd /opt/nginx-1.12.0/
[root@nginx nginx-1.12.0]# useradd -M -s /sbin/nologin nginx
[root@nginx nginx-1.12.0]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx --group=nginx \
--with-file-aio \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-http_flv_module \
--with-http_ssl_module
[root@nginx nginx-1.12.0]# make && make install
進(jìn)行到這步時,nginx會有三種不同方向與Tomcat進(jìn)行結(jié)合,這里我也會一一進(jìn)行講解
(1)nginx僅進(jìn)行負(fù)載均衡,不提供網(wǎng)頁服務(wù)
[root@nginx nginx-1.12.0]# vim /usr/local/nginx/conf/nginx.conf
//gzip后添加
upstream tomcat-server { //地址池名稱
server 192.168.142.154:8080 weight=1; //指向Tomcat地址,采用輪詢,權(quán)重相同
server 192.168.142.132:8080 weight=1;
}
//location /段后添加
proxy_pass http://tomcat-server; //代理指向Tomcat地址池(之前指定的)
(2)nginx僅進(jìn)行動靜分離時
[root@nginx nginx-1.12.0]# vim /usr/local/nginx/conf/nginx.conf
//server段后添加
location ~ (. *). jsp$ {
proxy_pass http://192.168.142.132:8080; //在nginx遇到以jsp結(jié)尾的網(wǎng)頁時將自動代理至Tomcat服務(wù)器
proxy_set_header Host $host;
}
(3)nginx同時進(jìn)行負(fù)載均衡與反向代理
[root@nginx nginx-1.12.0]# vim /usr/local/nginx/conf/nginx.conf
//gzip后添加
upstream tomcat-server { //地址池名稱
server 192.168.142.154:8080 weight=1; //指向Tomcat地址,采用輪詢,權(quán)重相同
server 192.168.142.132:8080 weight=1;
}
//server段后添加
location ~ (. *). jsp$ {
proxy_pass http://tomcat-server;
proxy_set_header Host $host;
}
開啟服務(wù)
[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
看了以上關(guān)于nginx+tomcat動靜分離+負(fù)載均衡實現(xiàn)步驟及配置流程,如果大家還有什么地方需要了解的可以在億速云行業(yè)資訊里查找自己感興趣的或者找我們的專業(yè)技術(shù)工程師解答的,億速云技術(shù)工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗了。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。