反向代理作用
隐藏服务器信息 -> 保证内网的安全,通常将反向代理作为公网访问地址,web服务器是内网,即通过nginx配置外网访问web服务器内网
举例
百度的网址是:http://www.baidu.com ,
现在我通过自己的服务器地址 http://192.168.1.102
来访问到百度的地址
并且访问地址是自己的服务器ip或者域名地址,这时候我们就可以通过Nginx配置反向代理来实现 ~
简单配置
server {
listen 80;
server_name 192.168.1.102;# 服务器地址或绑定域名
location / { # 访问80端口后的所有路径都转发到 proxy_pass 配置的ip中
root /usr/share/nginx/html;
index index.html index.htm;
proxy_pass http://www.baidu.com; # 配置反向代理的ip地址和端口号 【注:url地址需加上http:// 或 https://】
}
}
复杂配置
根据不同的后缀名访问不同的服务器地址
把apache-tomcat复制成两份,一份是tomcat8081,一份是tomcat8082,过程如下
cp -r apache-tomcat tomcat8081
cp -r apache-tomcat tomcat8082
然后通过远程连接修改tomcat8081里面的server.xml配置里面修改端口号
8081
然后把tomact8081里面的webapps文件夹里面的ROOT文件夹里面的index.jsp变成下面这样,此时可以看到下面输入的内容是8081
<html lang="en"> <head> <title><%=request.getServletContext().getServerInfo() %></title> <link href="favicon.ico" rel="icon" type="image/x-icon" /> <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" /> <link href="tomcat.css" rel="stylesheet" type="text/css" /> </head> <body> <h1>tomcat8081index.jsp<h1> </body> </html>
然后把tomact8082里面的webapps文件夹里面的ROOT文件夹里面的index.jsp变成下面这样,此时可以看到下面输入的内容是8082
<html lang="en"> <head> <title><%=request.getServletContext().getServerInfo() %></title> <link href="favicon.ico" rel="icon" type="image/x-icon" /> <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" /> <link href="tomcat.css" rel="stylesheet" type="text/css" /> </head> <body> <h1>tomcat8082index.jsp<h1> </body> </html>
然后就是启动tomcat8081和tomcat8082,启动如下所示
/root/tomcat8081/bin/startup.sh
/root/tomcat8082/bin/startup.sh
分别访问这两个地址,可以访问成功
然后我们配置本地电脑里面的host文件变成下面这样
windows/system32/drivers/etc
然后配置nginx服务器里面的conf文件夹里面的nginx.conf配置文件,配置完之后记得要重启nginx服务器
此时当访问www.sina.com 的时候,就会访问host文件,然后就会去找47.91.248.236 这个ip对应的linux服务器,然后www.sina.com 默认的端口就是80,所以访问www.sina.com 的时候,就会找到下面的upstream tomcat1,然后下面的upstream tomcat1就会去找server 47.91.248.236:8081,就会找到8081端口的tomcat服务器,然后因为upstream tomcat1的默认访问页是index.jsp,所以就会访问8081端口的tomcat服务器的index.jsp页面(也就是http://47.91.248.236:8081/index.jsp)
此时当访问www.huohu.com 的时候,就会访问host文件,然后就会去找47.91.248.236 这个ip对应的linux服务器,然后www.huohu.com 默认的端口就是80,所以访问www.huohu.com 的时候,就会找到下面的upstream tomcat2,然后下面的upstream tomcat2就会去找server 47.91.248.236:8082,就会找到8082端口的tomcat服务器,然后因为upstream tomcat2的默认访问页是index.jsp,所以就会访问8082端口的tomcat服务器的index.jsp页面(也就是http://47.91.248.236:8082/index.jsp)
user root; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; #配置www.sina.com:80对应的服务器监听端口 upstream tomcat1 { server 47.91.248.236:8081; } server { listen 80; server_name www.sina.com; location / { proxy_pass http://tomcat1; #配置默认访问页,这里就会访问到tomcat1里面的那个index.jsp文件里面 index index.jsp; } } #配置www.houhu.com:80对应的服务器监听端口 upstream tomcat2 { server 47.91.248.236:8082; } server { listen 80; server_name www.houhu.com; location / { proxy_pass http://tomcat2; #配置默认访问页,这里就会访问到tomcat2里面的那个index.jsp文件里面 index index.jsp; } } }
然后我们访问 www.sina.com
此时访问到的就是tomcat8081对应的tomcat服务器
然后我们访问 www.huohu.com
此时访问到的就是tomcat8082对应的tomcat服务器
Nginx实现负载均衡
https://www.cnblogs.com/wly1-6/p/10418149.html