Nginx+Tomcat+Https负载均衡配置

1.需求分析

     nginx是一个较为流行的反向代理服务器,可以用来对多台服务器进行集群配置;在笔者公司项目中,就恰到好处的运用nginx对多台服务器进行集群;首先第一台主服务器配置系统服务(redis+mysql+nginx),然后第二台及第三台服务器为应用程序服务器,部署java基础环境(jdk+tomcat),并且部署同一套代码到两台应用程序服务器中,客户端通过访问主服务器配置好的反向代理serverdomain来反向的访问应用程序服务器,从而完美的到达了服务器集群。

2.nginx的安装

首先配置Nginx用户

[root@localhost ~]# groupadd nginx
[root@localhost ~]# useradd -g nginx -s /sbin/nologin nginx

用户安装依赖包

[root@localhost ~]# yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel gcc gcc-c++

解压并进入文件夹内

[root@localhost ~]# tar zxvf nginx-1.2.6.tar.gz
[root@localhost ~]# cd nginx-1.2.6

配置安装

[root@localhost nginx-1.10.1]# ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module
[root@localhost nginx-1.10.1]# make && make install

如果在该步出现异常,则将报异常的moudle删除即可

好了,nginx就安装完毕了,安装详细教程,可点击该链接:http://blog.csdn.net/zhangxing52077/article/details/73927714

3.https证书的申请

   阿里云有免费的CA证书申请,申请详细教程,点击该连接:http://blog.csdn.net/zhangxing52077/article/details/72827770,申请成功后下载证书文件,将证书文件上传到主服务器的自定义目录下,如图:


4.nginx中https环境的配置

 vim  /usr/local/nginx/conf/nginx.conf 进行配置修改

Nginx+Tomcat+Https负载均衡配置_第1张图片

upstream中配置的是多台反向代理的服务器域名,也可以指多台应用程序服务器的域名;proxy_pass配置的是映射路径(反向代理路径,即upstream中配置的服务器域名)

最后开启Nginx服务,访问https://www.mysysj.com,即可访问到nginx首页;

Nginx+Tomcat+Https负载均衡配置_第2张图片


5.nginx域名后面追加项目名

在应用程序服务器中创建自定义目录,用来存放项目war包,这里姑且是 /www/yivi,将打包好的项目上传到这个目录下


然后在tomcat中的server.xml中配置如下:


访问https://www.mysysj.com/online就可成功的访问到应用程序服务器的项目了

Nginx+Tomcat+Https负载均衡配置_第3张图片

通过配置upstream中的ip_hash使两台应用程序服务器在交替访问时的sessionId达到一致,从而有效的避免session无效.

6.nginx的代理方式

①轮询

默认的就是轮询的方式,也就是交替代理

②.权重(weight)

 对于多台服务器,服务器配置好的配置权重应该较大,反之较小;

③ip_hash

为了避免让session失效,在upstream中配置ip_hash进行代理

你可能感兴趣的:(nginx,linux疑难杂症)