全球建筑网站,电脑无法访问网页是什么原因,重庆网络推广网站,网站开发怎么实现用户一对一发文字图片一、动静分离
Nginx实现负载均衡的原理#xff1a; Nginx实现负载均衡是通过反向代理实现Nginx服务器作为前端#xff0c;Tomcat服务器作为后端#xff0c;web页面请求由Nginx服务来进行转发。 但不是把所有的web请求转发#xff0c;而是将静态页面请求Ncinx服务器自己来处…一、动静分离
Nginx实现负载均衡的原理 Nginx实现负载均衡是通过反向代理实现Nginx服务器作为前端Tomcat服务器作为后端web页面请求由Nginx服务来进行转发。 但不是把所有的web请求转发而是将静态页面请求Ncinx服务器自己来处理动态页面请求转发给后端的Tomcat服务器来处理。 Tomcat是属于轻量级的应用服务器可接受访问量可能会不足所以我们需要多台Tomcat服务器。并且Tomcat并发量处理能力弱约Nginx的六分之一所以需要Nginx方向代理时进行合理的调用分配。环境
(1)代理服务器Nginx192.168.247。10
作为前端处理静态请求响应静态页面将动态请求转发到后端由后端Toncat处理动态请求的负载均衡
(2)Tomcat服务器 192.168.247.60:8080 192.168.247.60:8081 192.168.247.70:8080
作为后端处理动态请求
1、代理服务器Nginx相关配置
1.1 配置负载均衡的服务器列表 #配置负载均衡的服务器列表weight参数表示权重权重越高被分配到的概率越大upstream tomcat_server {server 192.168.247.60:8080 weight1;server 192.168.247.60:8081 weight1;server 192.168.247.70:8080 weught2;} 1.2 配置Nginx处理动态页面请求和配置Nginx处理静态图片请求
#配置Nginx处理动态页面请求将 .jsp文件请求转发到Tomcat 服务器处理
location ~ .*\.jsp$ {proxy_pass http://zz;#设置后端的Web服务器可以获取远程客户端的真实IP#设定后端的Web服务器接收到的请求访问的主机名域名或IP、端口默认HOST的值为proxy_pass指令设置的主机名。如果反向代理服务器不重写该请求头的话那么后端真实服务器在处理时会认为所有的请求都来自反向代理服务器如果后端有防攻击策略的话机器就被封了。proxy_set_header HOST $host;#把$remote_addr赋值给X-Real-IP来获取源IPproxy_set_header X-Real-IP $remote_addr;#在nginx 作为代理服务器时设置的IP列表会把经过的机器ip代理机器ip都记录下来proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}#配置Nginx处理静态图片请求location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|css)$ {root /usr/local/nginx/html;expires 10d;} 1.3 设置静态页面
vim /usr/local/nginx/html/index.html
html
body
h1 this is Nginx static test !/h2
img src1.jpg/
/body
/html重启服务 2、Tomcat服务器60:8080
2.1 配置静态页面
mkdir -p /usr/local/tomcat/tomcat1/webapps/testvim /usr/local/tomcat/tomcat1/webapps/test/index.jsp
% page languagejava importjava.util.* pageEncodingUTF-8%
html
head
titleJSP test1 page/title
/head
body
% out.println(动态页面 1,http://www.test1.com);%
/body
/html 2.2 配置Tomcat主配置文件
vim /usr/local/tomcat/tomcat1/conf/server.xml #把前面的host配置删除
Host namelocalhost appBasewebapps unpackWARstrue autoDeploytrue xmlValidationfalse xmlNamespaceAwarefalseContext docBase/usr/local/tomcat/tomcat1/webapps/test path reloadabletrue /
/Host/usr/local/tomcat/tomcat1/bin/shutdown.sh
/usr/local/tomcat/tomcat1/bin/startup.sh 重启 注 另外2台Tomcat服务器 60:8081 70:8080 与60.8080配置方法相同但是60.8080与60.8081是单台服务器上2台多实例Tomcat所以配置主配置文件server.xml文件时注意文件路径
3、验证
静态页面192.168.247.10
动态页面192.168.247.10/index.jsp 动态页面访问 二、多实例部署 1.配置 tomcat 环境变量
vim /etc/profile.d/tomcat.sh
#tomcat1
export CATALINA_HOME1/usr/local/tomcat/tomcat1
export CATALINA_BASE1/usr/local/tomcat/tomcat1
export TOMCAT_HOME1/usr/local/tomcat/tomcat1#tomcat2
export CATALINA_HOME2/usr/local/tomcat/tomcat2
export CATALINA_BASE2/usr/local/tomcat/tomcat2
export TOMCAT_HOME2/usr/local/tomcat/tomcat2source /etc/profile.d/tomcat.sh2. 修改 tomcat2 中的 server.xml 文件要求各 tomcat 实例配置不能有重复的端口号
vim /usr/local/tomcat/tomcat2/conf/server.xml
Server port8006 shutdownSHUTDOWN #22行修改Server prot默认为8005 - 修改为8006
Connector port8081 protocolHTTP/1.1 #69行修改Connector portHTTP/1.1 默认为8080 - 修改为8081
Connector port8010 protocolAJP/1.3 redirectPort8443 /
#116行修改Connector port AJP/1.3默认为8009 - 修改为8010第一个连接器默认监听8080端口负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时使用的就是这个连接器。第二个连接器默认监听8009端口负责和其他的HTTP服务器建立连接。在把Tomcat与其他HTTP服务器集成时需要用到这个连接器。第三个连接器port8010指定AJP连接器监听的端口号。在这个示例中AJP连接器监听在8010端口上。protocolAJP/1.3指定连接器所使用的协议。这里设置为AJP/1.3表示使用AJP协议的版本1.3。redirectPort8443指定重定向端口。当AJP连接器接收到HTTP请求时如果请求是通过HTTPS加密访问的则会将请求重定向到8443端口。
3. 修改各 tomcat 实例中的 startup.sh 和 shutdown.sh 文件添加 tomcat 环境变量
vim /usr/local/tomcat/tomcat1/bin/startup.sh
# -----------------------------------------------------------------------------
# Start Script for the CATALINA Server
# -----------------------------------------------------------------------------
##添加以下内容
export CATALINA_BASE$CATALINA_BASE1
export CATALINA_HOME$CATALINA_HOME1
export TOMCAT_HOME$TOMCAT_HOME1vim /usr/local/tomcat/tomcat1/bin/shutdown.sh
# -----------------------------------------------------------------------------
# Stop script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE$CATALINA_BASE1
export CATALINA_HOME$CATALINA_HOME1
export TOMCAT_HOME$TOMCAT_HOME1vim /usr/local/tomcat/tomcat2/bin/startup.sh
# -----------------------------------------------------------------------------
# Start Script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE$CATALINA_BASE2
export CATALINA_HOME$CATALINA_HOME2
export TOMCAT_HOME$TOMCAT_HOME2vim /usr/local/tomcat/tomcat2/bin/shutdown.sh
# -----------------------------------------------------------------------------
# Stop script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE$CATALINA_BASE2
export CATALINA_HOME$CATALINA_HOME2
export TOMCAT_HOME$TOMCAT_HOME2 重启服务
/usr/local/tomcat/tomcat1/bin/startup.sh #关闭
/usr/local/tomcat/tomcat2/bin/startup.sh #开启4.验证测试
浏览器访问测试 http://192.168.233.21:8080 http://192.168.233.21:8081