nginx反向代理

nginx的反向代理类型

七层反向代理

基于http https等七层应用协议的代理转发,可以根据用户请求访问的URL路径来转发请求,通常用于做动静分离等应用场景。

配置:

1.安装一台nginx服务器,两个tomcat服务器
安装nginx

创建nginx用户

useradd nginx

下载依赖环境

yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make

上传解压软件包

tar -xf nginx-1.26.2.tar.gz

配置软件模块

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-file-aio --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-stream

编译安装

make -j 2 && make install

将 Nginx 添加到 PATH

vi /etc/profile

export PATH=$PATH:/usr/local/nginx/sbin

source /etc/profile

网页访问

安装tomcat

1.上传软件包

2.安装jdk

rpm -ivh jdk-8u391-linux-x64.rpm

设置JDK环境变量

vim /etc/profile.d/java.sh

export JAVA_HOME=/usr/java/jdk1.8.0-x64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

source /etc/profile.d/java.sh

3.安装启动Tomcat

tar -xf apache-tomcat-9.0.16.tar.gz

mv apache-tomcat-9.0.16 /usr/local/tomcat

4.配置多实例

配置虚拟主机

tar xf apache-tomcat-9.0.16.tar.gz

mv apache-tomcat-9.0.16 /usr/local/tomcat/tomcat1

cp -a /usr/local/tomcat/tomcat1 /usr/local/tomcat/tomcat2

配置 tomcat 环境变量

vim /etc/profile.d/tomcat.sh

#tomcat1
export CATALINA_HOME1=/usr/local/tomcat/tomcat1
export CATALINA_BASE1=/usr/local/tomcat/tomcat1
export TOMCAT_HOME1=/usr/local/tomcat/tomcat1

#tomcat2
export CATALINA_HOME2=/usr/local/tomcat/tomcat2
export CATALINA_BASE2=/usr/local/tomcat/tomcat2
export TOMCAT_HOME2=/usr/local/tomcat/tomcat2

source /etc/profile.d/tomcat.sh

修改各 tomcat 实例中的 startup.sh 和 shutdown.sh 文件,添加 tomcat 环境变量

export CATALINA_BASE=$CATALINA_BASE1
export CATALINA_HOME=$CATALINA_HOME1
export TOMCAT_HOME=$TOMCAT_HOME1

修改 每个tomcat中的 server.xml 文件,要求各 tomcat 实例配置不能有重复的端口号

启动每个tomcat 实例

查看端口号

netstat -nltp | grep java

为每个tomcat实例创建测试页面

网页访问

2.nginx配置修改

upstream tomcat_web {
              server 192.168.110.50:8081 weight=1;
              server 192.168.110.50:8082 weight=1;
              server 192.168.110.60:8081 weight=1;
              server 192.168.110.60:8082 weight=1;
     }
 

location ~ .*\.jsp$ {
            proxy_pass http://tomcat_web;

            proxy_set_header HOST $host;
            proxy_set_header X_Real_IP $remote_addr;
            proxy_set_header X_Forwarded_For $proxy_add_x_forwarded_for;
        }

测试

访问动态页面

刷新

刷新

刷新

访问静态页面

由此可见七层反向代理可以实现动静分离

四层反向代理

四层反向代理:基于IP 端口实现的代理转发,可以根据用户请求的IP或端口来转发请求,通常用于做 网络接入层的负载均衡器 等应用场景。

配置:

四层反向代理需要添加代理模块--with-stream

如没有配置需要重新编译nginx,添加四层代理模块--with-stream

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-file-aio --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-stream

新生成的二进制文件

备份原二进制文件

cd /usr/local/nginx/sbin/

mv nginx nginx.bak

将新生成的二进制文件复制到nginx里

mv nginx /usr/local/nginx/sbin/nginx

重载

修改配置文件

vi /usr/local/nginx/conf/nginx.conf

stream {
     upstream tomcat_web {
              server 192.168.110.50:8081 weight=1;
              server 192.168.110.60:8081 weight=1;
              server 192.168.110.50:8082 weight=1;
              server 192.168.110.60:8082 weight=1;
              }
              server {
                 listen  8080;
                 proxy_pass tomcat_web;
              }
}
 

重载

kill -1 pid

网页访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值