一. 准备工作
1.1 ngnix的安装
nginx基本概念和安装-CSDN博客
1.2 安装tomcat
tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,适用于中小型系统和并发访问用户不是很多的情况。
前往官网网站:Apache Tomcat® - Apache Tomcat 10 Software Downloads 下载tomcat压缩包,解压。
解压后,进入解压后的bin目录下,执行startup.sh脚本,运行tomcat,默认启动端口8080。
查看启动日志:
在启动tomcat时报错 :
报错1原因时java版本过低,需要升级版本。下面链接可以查看tomcat需要的java版本。Apache Tomcat® - Which Version Do I Want?
报错2解决办法需要将JRE_HOME环境变量去掉,unset JRE_HOME。
使用浏览器访问tomcat服务:
二. 实例一
2.1 实现效果
在浏览器中输入www.123.com,跳转到linux系统tomcat主页面。
2.2 具体实现
- 设置域名与IP的映射
在windows的hosts文件中进行域名和nginx服务器ip对应关系的配置。
域名解析:先到本地hosts中查找是否有对应关系,没有再到DNS服务器中查找。
在hosts文件中配上(ip 域名)。
- 在nginx进行请求转发的配置(反向代理配置)
配置文件位置:
配置文件修改:
演示:
说明:
实际访问的ip和port是反向代理服务器的,但是得到的是运行在服务器的tomcat的资源。
三. 实例二
3.1 实现效果
使用nginx反向代理,根据访问的路径跳转到不同端口的服务器中去。nginx监听端口为9001。
访问http://nginx服务器ip:9001/edu/ 直接跳转到,服务器ip:8080进程。
访问http://nginx服务器ip:9001/vod/ 直接跳转到,服务器ip:8081进程。
ip为云服务器公网ip。
3.2 准备工作
- 准备两个tomcat服务器,一个服务器监听在8080端口,另一个监听在8081端口。
启动tomcat:进入解压的tomcat的bin目录下。执行./startup.sh脚本。
- 创建文件夹和测试页面
在tomcat8080目录的解压后的tomcat的webapp目录下建立edu文件夹,在edu目录下建立html文件。
在tomcat8081目录的解压后的tomcat的webapp目录下建立vod文件夹,在vod目录下建立html文件。
问题:我启动两个tomcat服务,但是使用客户端访问8081端口,访问超时。原因是:我的云服务器防火墙没有开放8081端口。
3.3 nginx具体配置
在配置中新增一个server,运行ip为服务器ip,端口为9001。
新增两个location,利用正则表达式,设置访问资源路径,然后对应到需要访问的ip和端口。
修改完配置后,重新加载配置或者重启nginx服务器。
location指令说明:
该指令用于匹配URL。
语法如下:
location [ = | ~ | ~* | ^~ ] uri {
...
}
- =:用于不含正则表达式的uri前,要求请求字符串与uri严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求
- ~:用于表示uri包含正则表达式,区分大小写
- ~*:用于表示uri包含正则表达式,不区分大小写
- ^~:用于不包含正则表达式的uri前,要求nginx服务器找到表示uri和请求字符串匹配度最高的location后,立即使用此location处理请求,不再使用location块中的正则uri和请求字符串做匹配。
注意:如果uri包含正则表达式,则必须要有~或~*标识。
3.4 演示
访问114.55.92.82:9001/edu/a.html,通过反向代理访问到了114.55.92.82:8080/edu/a.html。
访问114.55.92.82:9001/vod/a.html,通过反向代理访问到了114.55.92.82:8081/edu/a.html。