目录
5.1 反向代理实例一:
1、实现效果
打开浏览器,在浏览器中输入地址 http://www.123.com ,跳转到Linux中tomcat主页面中。
2、准备工作
(1)在 linux 系统安装 tomcat,使用默认端口 8080。
① 移动 tomcat 安装包apache-tomcat-8.5.55.tar.gz到Linux系统/usr/src中。
② 解压
tar -xvf apache-tomcat-8.5.55.tar.gz③启动tomcat
cd /usr/src/apache-tomcat-8.5.55/bin ./startup.sh④ 查看tomcat 日志
cd /usr/src/apache-tomcat-8.5.55/logs tail -f catalina.out⑤对外开放端口8080
sudo firewall-cmd --add-port=8080/tcp --permanent firewall-cmd --reload⑥在本机访问Linux 的tomcat主页
浏览器收索:http://192.168.168.129:8080/
3、访问过程分析
4、具体配置
(1)在 windows 系统中的 host 文件进行域名和 ip 对应关系的配置
路径:C:\Windows\System32\drivers\etc\hosts
编辑文件,在最后面加上ip地址和域名
192.168.168.129 www.123.com(2)在 nginx 进行请求转发的配置(反向代理配置)
找到并编辑nginx的配置文件
cd /usr/local/nginx/conf vi nginx.conf修改配置文件:
找到里面的server项,进行修改。
(1)将server_namelocalhost;改为具体的Ip地址 (2)在location /中添加 proxy_pass :8080;结果:退出并保存
(3)重启nginx
cd /usr/local/nginx/sbin ./nginx -s reload在本机输入 http://www.123.com 就可以打开tomcat的主页了!!!
5.2 反向代理实例二:
1、实现效果:
使用 nginx 的反向代理,根据访问的路径跳转到不同端口的服务中。
nginx 监听端口为9001,
访问 http://192.168.168.129:9001/edu/直接跳转到 127.0.0.1:8080
访问 http://192.168.168.129:9001/vod/ 直接跳转到 127.0.0.1:8081
2、准备工作
(1)关闭之前的tomcat
//查看之前启动的tomcat进程 ps -ef |grep tomcat //找到id号并关闭 kill -9 3070(2)准备两个tomcat 服务器,一个8080端口,一个8081端口。
创建两个文件夹tomcat8080和tomcat8081:
cd /usr/src/ mkdir tomcat8080 mkdir tomcat8081将tomcat的压缩包文件复制到两个文件夹中:
cd /usr/src/ cp apache-tomcat-8.5.55.tar.gz tomcat8080 cp apache-tomcat-8.5.55.tar.gz tomcat8081分别解压:
cd /usr/src/tomcat8080 tar -xvf apache-tomcat-8.5.55.tar.gz cd /usr/src/tomcat8081 tar -xvf apache-tomcat-8.5.55.tar.gz启动端口号为 8080 的tomcat:
cd /usr/src/tomcat8080/apache-tomcat-8.5.55/bin ./startup.sh修改另一个tomcat端口为8081,并保存:
cd /usr/src/tomcat8081/apache-tomcat-8.5.55/conf vi server.xml //(1)找到<Server port="8005" shutdown="SHUTDOWN">修改为8015 <Server port="8015" shutdown="SHUTDOWN"> //(2)找到<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 改为 8081端口号 <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />启动端口号为 8081 的tomcat:
cd /usr/src/tomcat8081/apache-tomcat-8.5.55/bin ./startup.sh备注:开放 8081 端口:
//添加端口 sudo firewall-cmd --add-port=8081/tcp --permanent //重启防火墙 firewall-cmd --reload //再次查看防火墙开放端口 firewall-cmd --list-all(3)创建文件夹和测试页面:
//找到位置8080 cd /usr/src/tomcat8080/apache-tomcat-8.5.55/webapps/ //创建文件夹 mkdir edu cd edu //创建测试页面: touch index.html //编辑html代码 vi index.html //里面添加一句代码 <h1>8080--edu<h1> //找到位置8081 cd /usr/src/tomcat8081/apache-tomcat-8.5.55/webapps/ //创建文件夹 mkdir vod cd vod //创建测试页面: touch index.html //编辑html代码 vi index.html //里面添加一句代码 <h1>8081--vod<h1>(4)本机访问http://192.168.168.129:8080/edu/index.html和http://192.168.168.129:8081/vod/index.html 测试是否可以访问。
3、具体配置
(1)找到nginx的配置文件进行反向代理的配置。
cd /usr/local/nginx/conf/ vi nginx.conf(2)找到模板
复制一份进行修改:
注释:
location后面; 1、 = :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求。 2、~:用于表示 uri 包含正则表达式,并且区分大小写 3、~*:用于表示 uri 包含正则表达式,并且不区分大小写。 4、^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location 块中的正则 uri 和请求字符串做匹配。 注意:如果 uri 包含正则表达式,则必须有 ~ 或者 ~* 标识。(3)开放对外开放的端口号
//添加端口 sudo firewall-cmd --add-port=9001/tcp --permanent //重启防火墙 firewall-cmd --reload //再次查看防火墙开放端口 firewall-cmd --list-all(4)重启nginx
cd /usr/local/nginx/sbin/ ./nginx -s reload4、测试
测试成功!!!