实例一

1. 实现效果

打开浏览器,在浏览器地址栏输入地址 www.123.com,跳转到 linux 系统 tomcat 主页面中。

2. 准备工作

(1)在linux系统安装 tomcat,使用默认端口 8080。

  • 将tomcat安装文件放到 linux 系统中,解压
#解压tomcat(采用系统自带JDK)
cd /usr/src
tar -xvf apache-tomcat-7.0.70.tar.gz 

#启动tomcat
cd /usr/src/apache-tomcat-7.0.70.tar.gz/bin
./startup.sh

(2)对外开放访问的端口

firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd -reload

#查看已经开放的端口号
firewall-cmd --list-all

(3)在windows系统中通过浏览器访问 tomcat 服务器

nginx 部署 war包 nginx运行war包_nginx

3. 访问过程分析

nginx 部署 war包 nginx运行war包_tomcat_02

4. 具体配置

第一步 在 windows 系统的 host 文件进行域名和ip对应关系的配置

nginx 部署 war包 nginx运行war包_apache_03


(1)添加内容在 host 文件中

nginx 部署 war包 nginx运行war包_nginx_04


第二步 在nginx配置文件中进行请求转发的配置(反向代理配置)

nginx 部署 war包 nginx运行war包_nginx_05


配置结束后,保存配置文件,重载nginx

cd /usr/local/nginx/sbin/
./nginx -s reload

5. 最终测试

nginx 部署 war包 nginx运行war包_centos_06

实例二

1. 实现效果

使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中。
nginx监听端口为 9001
访问 http://192.168.16.130:9001/edu/ 直接跳转到 127.0.0.1:8081;
访问 http://192.168.16.130:9001/vod/ 直接跳转到 127.0.0.1:8082;

2. 准备工作

(1)准备两个 tomcat 服务器,一个8080端口,一个8081端口;

#将已经启动的tomcat,停掉
ps -ef | grep tomcat
kill -9 id号

cd /usr/src/
mkdir tomcat8080
mkdir tomcat8081

#上传tomcat压缩包后,进入目录
cd tomcat8080
#解压
tar -xvf apache-tomcat-7.0.107.tar.gz

#启动tomcat
cd apache-tomcat-7.0.107/
cd bin
./startup.sh

安装第二个tomcat

cd /usr/src/
cd tomcat8081

#解压
tar -xvf apache-tomcat-7.0.107.tar.gz

#修改端口号为8081
cd apache-tomcat-7.0.107/
cd conf
vim server.xml

nginx 部署 war包 nginx运行war包_apache_07


nginx 部署 war包 nginx运行war包_nginx_08

#启动tomcat8081
cd /usr/src/tomcat8081
cd apache-tomcat-7.0.107/bin
./startup.sh

然后在浏览器地址栏分别输入ip:8080/8081即可访问到tomcat首页。

(2)创建文件夹和测试页面

cd /usr/src/tomcat8080/apache-tomcat-7.0.107/webapps
mkdir edu

#新建一个文件
cd edu
touch a.html
vim a.html

#输入如下内容,保存退出
<h1>8080!!!</h1>

nginx 部署 war包 nginx运行war包_apache_09


重复上面的步骤,在/usr/src/tomcat8081/apache-tomcat-7.0.107/webapps/vod目录下编辑一个内容为<h1>8081!!!</h1>的a.html文件。

nginx 部署 war包 nginx运行war包_nginx 部署 war包_10

3. 具体配置

(1)找到 nginx 配置文件,进行反向代理配置

nginx 部署 war包 nginx运行war包_nginx_11


重启nginx

cd /usr/local/nginx/sbin
./nginx -s reload

(2)开放对外访问的端口号 9001 8080 8081

4. 最终测试

nginx 部署 war包 nginx运行war包_nginx_12


nginx 部署 war包 nginx运行war包_apache_13

5. location指令说明

该指令用于匹配 URL
语法如下:

localtion [ = | ~ | ~* | ^~ ] uri {
	
}
  • =:用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求;
  • ~:用于表示 uri 包含正则表达式,并且区分大小写;
  • ~*:用于表示 uri 包含正则表达式,并且不区分大小写;
  • ^~:用于不含正则表达式的 uri 前,要求 nginx 服务器找到标识 uri 和请求字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location 块中的正则 uri 和请求字符串做匹配。

注意:如果 uri 包含正则表达式,则必须要有 ~ 或者~*标识。