Nginx+Tomcat實現動靜分離
動靜分離Nginx+Tomcat
Nginx群集
nginx的優點
- 支援高達50000個併發連線數的響應
- 擁有強大的靜態資源處理能力
- 執行穩定
- 記憶體、CPU等系統資源消耗非常低
靜態處理優勢
- nginx處理靜態頁面效率遠高於tomcat的處理能力
- 若tomcat的請求量為1000次,則nginx的請求量為6000次
- tomcat每秒的吞吐量為0.6M,nginx的每秒吞吐量為3.6M
- nginx處理靜態資源的能力是tomcat處理的6倍
nginx實現負載均衡
在nginx中配置反向代理:
在主配置檔案中新增
upstream 服務池名 { }
配置後端伺服器池,以提供響應資料
proxy_pass http://服務池名
配置將訪問請求轉發給後端伺服器池的伺服器處理
nginx實現動靜分離
服務端接收來自客戶端的請求中,既有靜態資源也有動態資源,靜態資源由nginx提供服務,動態資源nginx轉發至後端tomcat伺服器
Nginx+Tomcat動靜分離專案例項
本專案包含一臺Nginx排程器192.168.10.12
兩臺Tomcat伺服器192.168.10.13,192.168.10.14
tomcat1
##搭建tomcat依賴的java環境
tar -zxvf jdk-8u91-linux-x64.tar.gz
mv jdk1.8.0_91/ /usr/local/java
vi /etc/profile
export JAVA_HOME=/usr/local/java
export JAVA_JRE=/usr/local/java/jre
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/lib:$JAVA_JRE/bin:$JAVA_JRE/lib
source /etc/profile
##部署tomcat
tar -zxvf apache-tomcat-8.5.16.tar.gz
mv apache-tomcat-8.5.16 /usr/local/tomcat
ln -s /usr/local/tomcat/bin/startup.sh /usr/bin/tomcatup
ln -s /usr/local/tomcat/bin/shutdown.sh /usr/bin/tomcatdown
vi /usr/local/tomcat/conf/server.xml
<Context docBase="/web1" path="" reloadable="false">
</Context>
mkdir /web1
vi /web1/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head><title>TEST PAGE</title></head>
<body>
<% out.println("傘兵一號盧本偉準備就緒");%>
<div>tomcat 動態網頁</div>
<br/>
<img src="lbw.jpg">
</body>
</html>
tomcatup
netstat -napt | grep 8080 #檢查服務埠開啟
tomcat2
##搭建tomcat依賴的java環境
tar -zxvf jdk-8u91-linux-x64.tar.gz
mv jdk1.8.0_91/ /usr/local/java
vi /etc/profile
export JAVA_HOME=/usr/local/java
export JAVA_JRE=/usr/local/java/jre
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/lib:$JAVA_JRE/bin:$JAVA_JRE/lib
source /etc/profile
##部署tomcat
tar -zxvf apache-tomcat-8.5.16.tar.gz
mv apache-tomcat-8.5.16 /usr/local/tomcat
ln -s /usr/local/tomcat/bin/startup.sh /usr/bin/tomcatup
ln -s /usr/local/tomcat/bin/shutdown.sh /usr/bin/tomcatdown
vi /usr/local/tomcat/conf/server.xml
<Context docBase="/web2" path="" reloadable="false">
</Context>
mkdir /web2
vi /web2/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head><title>TEST PAGE</title></head>
<body>
<% out.println("給阿姨倒一杯卡布奇諾");%>
<div>tomcat 動態網頁</div>
<br/>
<img src="lbw.jpg">
</body>
</html>
tomcatup
netstat -napt | grep 8080 #檢查服務埠開啟
nginx排程器
安裝部署nginx
yum -y install gcc gcc-c++ make pcre-devel zlib-devel
useradd -M -s /sbin/nologin nginx
tar -zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
make && make install
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin
vi /usr/local/nginx/conf/nginx.conf
user nginx nginx;
error_log logs/error.log info;
pid logs/nginx.pid;
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
server {
charset utf-8; #主機設定開啟支援utf-8編碼
}
}
配置動靜分離反向代理
vi /usr/local/nginx/conf/nginx.conf
http {
upstream tomcat_server { #定義伺服器池
server 192.168.10.13:8080 weight=1;
server 192.168.10.14:8080 weight=1;
}
server {
location ~ \.jsp$ { #配置反向代理
proxy_pass http://tomcat_server;
}
}
}
配置靜態資源
cp lbw.jpg /usr/local/nginx/html
測試效果
第一次訪問
第二次訪問
相關文章
- Nginx+Tomcat實現負載均衡、動靜分離叢集部署NginxTomcat負載
- Nginx+Tomcat負載均衡,動靜分離群集部署解析NginxTomcat負載
- 帶你瞭解Nginx+Tomcat負載均衡,動靜分離群集NginxTomcat負載
- Nginx 動靜分離與負載均衡的實現Nginx負載
- Nginx 高階篇(一)反向代理實現動靜分離Nginx
- 11,nginx動靜分離Nginx
- Nginx使用篇:實現負載均衡、限流與動靜分離Nginx負載
- 013.Nginx動靜分離Nginx
- Tomcat+Nginx實現動靜分離和負載均衡架構部署TomcatNginx負載架構
- ShardingSphere-proxy +PostgreSQL實現讀寫分離(靜態策略)SQL
- 大輝談-備戰雙十一之動靜分離實戰
- 網際網路動靜分離架構架構
- Nginx—tomcat負載均衡動靜分離群集NginxTomcat負載
- HAproxy企業應用,TCP/HTTP動靜分離TCPHTTP
- nginx+tomcat實現負載均衡NginxTomcat負載
- nginx反向代理目錄及動靜分離公羊seoNginx
- 觀點:實現CQRS分離不如實現一致性分離 - @jroper
- MySQL主從分離實現MySql
- vue 實現 js css html分離VueJSCSSHTML
- ProxySQL實現MySQL讀寫分離MySql
- Docker實現Mariadb分庫分表、讀寫分離Docker
- 知物由學 | 輿情資料清洗“動”“靜”分離方案
- 乾貨 | CDN搭配OSS最佳實踐 ——搭建動靜態分離的應用架構應用架構
- 搭建基於springmvc,ibatis的工程實現讀寫分離,配置分離SpringMVCBAT
- 利用Nginx+tomcat實現memcached的資源接管NginxTomcat
- 【Mongo】Mongo讀寫分離的實現Go
- 實現前後端分離的心得後端
- 14-宣告和實現的分離
- 【linux】驅動-5-驅動框架分層分離&實戰Linux框架
- 伺服器群集—Nginx+Tomcat+keepalived負載均衡、動靜分離群集伺服器NginxTomcat負載
- 基於Sharding-Jdbc 實現的讀寫分離實現JDBC
- 分庫分表(6)--- SpringBoot+ShardingSphere實現分表+ 讀寫分離Spring Boot
- PostgreSQL+Pgpool實現HA讀寫分離SQL
- docker+atlas+mysql實現讀寫分離DockerMySql
- Kubernetes 中實現 MySQL 的讀寫分離MySql
- ShardingSphere + Mysql,實現分庫分表、讀寫分離,並整合 SpringBootMySqlSpring Boot
- Orchestrator+Proxysql 實現自動導換+應用透明讀寫分離SQL
- ShardingSphere(七) 讀寫分離配置,實現分庫讀寫操作