1. Nginx+Tomcat 环境
- Nginx 处理静态资源的优势同样可以应用在 Tomcat 环境中 。从实现方法上来说,
Nginx+Tomcat
环境的搭建思路与前面完成的 Nginx+Apache
环境是完全相同的,只需要将 Nginx 与 Tomcat 的站点文档目录配置到同一目录下,利用 Nginx 的 proxy_pass
指令代理请求动态文件即可。
1.1 Tomcat 的安装与使用
1. 获取 Tomcat 和 JDK
- 由于 Tomcat 主要用于运行 JavaWeb 项目,所以需要在系统中安装
JRE(Java Runtime Environment ,Java 运行环境)
。如果需要直接在服务器中开发 JavaWeb 项目,则需要安装 JDK(Java Development Kit,Java 开发工具包)
。
- 关于JDK和Tomcat的安装,可以访问我以前的博客作为参考。
- Centos7.3云服务器上安装Nginx、MySQL、JDK、Tomcat环境
2. 查看 Tomcat 目录结构
- 切换到 Tomcat 目录中查看目录结构,具体结果如下。
./startup.sh
./shutdown.sh
- 打开防火墙的端口号和服务器上的安全组规则,把主要的端口号放开
Nginx +Tomcat 动静分离
- Java Web 项目中的动态资源使用
jsp
或 do
扩展名,并且在站点文档目录中通过 WEBINF
和 META-INF
目录保存一些配置信息。下面以 Tomcat 的默认站点为例,实现 Nginx +Tomcat
的动静分离 。在 Nginx 中创建虚拟主机 tomcat. ng. test
,具体配置如下。
1 server {
2 listen 80;
3 server_name tomcat.ng.test;
4 root /usr/1ocal/tomcat8.5/webapps/ROOT;
5 index index.html index.htm index.jsp index.do;
6 location ~/(WEB- INE|META-INF){
7 deny all;
8 }
9 location ~\.(jsp|do)$ {
10 proxy_pass http:/1127.0.0.1:8080;
11 proxy_set_header X-Client-IP $ remote addr;
12 }
13 location~^/(docs|examples)(/.*)* $ {
14 root /usr/local/tomcat8.5/webapps;
15 }
16 }
- 在上述配置中,第 4 行设置站点文档目录为
webapps
目录下的 ROOT
目录,该目录是站点的根目录;第 5 行在默认页面配置中增加了 jsp
和 do
扩展名;第 6 行用于阻止访问配 置目录;第 9 行将带有 jsp
和 do
扩展名的请求代理到 8080
端口的 Tomcat 服务器中;第 14 行配置了站点下 docs、examples
两个目录的实际存放路径。
- 接下来在物理机的
hosts
文件中将域名 tomcat. ng. test
解析到 192. 168. 78. 3
,然后使用浏览器访问进行测试,运行结果如图 5-28 所示。