7.tomcat动静分离

tomcat的动静分离

tomcat处理动态页面,apache/nginx处理静态页面

apache代理tomcat 通过ajp连接tomcat

7dc2d843be26ad5d0bf05359acbec9a

#apache+tomcat动静分离
tomcat  192.168.5.4
apache  192.168.5.5

#apache端
yum -y install httpd
httpd -M | grep proxy
 proxy_module (shared)
 proxy_ajp_module (shared)
vim /etc/httpd/conf/httpd.conf 
260 ProxyRequests Off                                      #httpd代理,off开反向代理/on正向代理/不写不开启代理
261 ProxyPassMatch (^/.*\.jsp)$ ajp://192.168.2.10:8009/$1   
#apache接收到以.jsp结尾的请求时,将这个请求通过ajp这个协议交给后面IP地址节点
#$1位置变量,获取用户访问ip后的路径,作为去tomcat获取数据的路径,例子:192.168.2.20:8080/aa/index.jsp$1   $0:192.168.2.20:8080  $1:/aa/index.jsp

systemctl restart httpd

#访问html
echo apache > /var/www/html/index.html
curl 192.168.5.5/index.html

#访问jsp
echo "ceshi success" > /usr/local/tomcat/webapps/ROOT/index.jsp
curl 192.168.5.4:8080/index.jsp
ceshi success
curl 192.168.5.5/index.jsp
ceshi success
#如果使用Firefox经过apache连接tonmcat,访问到jsp页面为非图形化界面,是正常的,因为apache要缓存一份图片

p页面为非图形化界面,是正常的,因为apache要缓存一份图片


 
### 一、Nginx 和 Tomcat 动静分离概述 为了提高系统的性能和扩展性,通常会采用 Nginx 处理静态资源(如 HTML 文件、CSS 样式表、JavaScript 脚本以及图片等),而将动态请求转发给 Tomcat 来处理。这种动静分离的设计可以显著减少服务器的压力,并提升用户的访问体验。 --- ### 二、具体配置流程 #### 1. 安装与初始化 - **安装 Nginx** 确保已成功安装 Nginx 并能够正常运行[^1]。 - **安装 Tomcat** 使用 `startup.sh` 启动 Tomcat,并验证其默认页面是否可以通过浏览器访问[^4]。 #### 2. 配置 Nginx 处理静态资源 编辑 Nginx 的配置文件 `/etc/nginx/nginx.conf` 或者站点对应的虚拟主机配置文件: ```nginx server { listen 80; server_name localhost; # 设置静态资源路径 location /static/ { root /var/www/html/; index index.html; } # 将动态请求转发至 Tomcat location ~ \.jsp$ { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` 在此配置中: - 所有以 `/static/` 开头的 URL 请求会被映射到本地磁盘上的指定目录 `/var/www/html/static/`[^1]。 - 对于 `.jsp` 结尾的动态请求,则通过反向代理将其传递给 Tomcat[^3]。 #### 3. 修改 Tomcat 的配置 调整 `$TOMCAT_HOME/conf/server.xml` 文件中的 `<Host>` 节点属性,确保应用根目录指向正确的路径。 如果希望进一步优化性能,还可以考虑启用 AJP 协议代替 HTTP 协议进行通信。此时需更新 Nginx 配置如下: ```nginx location ~ \.jsp$ { include uwsgi_params; uwsgi_pass 127.0.0.1:8009; # 默认AJP端口为8009 } ``` 同时确认 Tomcat 已开启 AJP Connector 组件支持[^5]。 #### 4. 测试部署效果 完成以上步骤后重启服务生效命令分别为: ```bash sudo systemctl restart nginx /usr/local/tomcat/bin/shutdown.sh && /usr/local/tomcat/bin/startup.sh ``` 最后可通过浏览器尝试访问不同类型的网页链接来检验功能是否正常工作。 --- ### 三、最佳实践建议 - **缓存机制引入** 利用 Nginx 提供的强大缓存策略降低频繁读取硬盘带来的开销;对于变动较少的内容设置较长有效期时间戳[TTL](Time To Live)[^2]。 - **SSL 加密传输保障安全性** 当前互联网环境下 HTTPS 成为主要趋势之一,因此务必为网站添加 SSL/TLS 认证证书保护敏感数据交换过程免受中间人攻击威胁[^3]. - **高可用架构设计** 构建基于负载均衡器(Load Balancer)之上由多台物理机组成的分布式计算集群模型从而达到更高的可靠性和吞吐量目标。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值