Linux系统下Nginx反向代理Tomcat集群

环境介绍

  • Centos7 X64
  • nginx-1.8.0
  • Tomcat 8.5

一、安装nginx

1.将下载的linux下的Nginx压缩包上传至/usr/local/nginx目录。(nginx下载地址

2.使用tar -vxf命令解压 nginx压缩包,进入解压后的目录中,发现该目录下并没有可执行的程序,在这里还需要安装一下编译环境。
这里写图片描述

3.编译环境介绍。(需要有联网环境
- gcc:安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要执行:yum install gcc-c++
- pcre:PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。执行:yum install -y pcre pcre-devel
注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。
- zlib:zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。yum install -y zlib zlib-devel
- OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。执行:yum install -y openssl openssl-devel

依次执行如下四条命令即可:
    yum install gcc-c++ 
    yum install -y pcre pcre-devel
    yum install -y zlib zlib-devel
    yum install -y openssl openssl-devel

4.编译及安装

  • 进入nginx目录下,输入./configure命令运行configure文件。
  • 然后依次输入make、make install 命令完成安装。

5.完成安装后,返回上一级目录,发现当前目录多出来一些子目录,进入sbin目录,该目录下有一个nginx可执行程序。
输入 ./nginx 命令可以启动nginx服务。
这里写图片描述

其他命令介绍

关闭命令:相当于找到nginx进程kill。
./nginx -s stop

退出命令:
./nginx -s quit
等程序执行完毕后关闭,建议使用此命令。

动态加载配置文件
./nginx -s reload
可以不关闭nginx的情况下更新配置文件。

6.nginx默认使用了80端口,为了能够远程访问,需要放开80端口。

放开80端口命令:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

二、搭建Tomcat集群

1.linux搭建Tomcat集群很简单,创建两个相同的Tomcat即可,记住要修改端口号,确保两个Tomcat服务器的端口不一致。
2.接下来一步就是配置nginx使其代理这两个Tomcat服务器,进入nginx目录,找到conf目录并进入(注意此处的conf目录应该是与sbin目录同一级的目录,解压包nginx-1.8.0下面也有一个conf目录,这个目录不需要配置。lz因为这个愚蠢问题卡了好几天)
3.进入nginx.conf目录后修改添加如下两段代码(注释部分),配置文件中大概在第30到50行的位置。可参考windows下nginx反向代理tomcat集群

    #upstream tomcat_server{
    #server 127.0.0.1:8090;
    #server 127.0.0.1:8000;
    #ip_hash;
    #}
    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
            #proxy_pass http://tomcat_server;
        }

上面的ip_hash代码可以通过用户访问的ip地址通过hash算法生成一个值,根据这个值用户就能跟session绑定,从而可以避免访问nginx服务器导致session共享问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值