linux下安装nginx+tomcat集群实现负载均衡(基础安装)

来源:互联网 发布:演唱会软件 编辑:程序博客网 时间:2024/05/22 23:59

1、安装前需要的相关环境及库的准备

 

1)、安装gcc

安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc

     yum -y install gcc  gcc-++ autoconf automake

2)、PCRE

PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括perl兼容的正则表达式库。nginxhttp模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。

yum -y install pcre-devel

注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。

3)、安装zlib

zlib库提供了很多种压缩和解压缩的方式,nginx使用zlibhttp包的内容进行gzip,所以需要在linux上安装zlib库。

yum -y install zlib zlib-devel

4)、安装openssl

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

yum  -y install openssl openssl-devel

 

2、编译安装

1)、nginx-1.8.0.tar.gz拷贝至linux服务器。

解压:

# tar -zxvf nginx-1.8.1.tar.gz

# cd nginx-1.8.1

 

2)、configure


./configure --prefix=/usr/local/nginx

 

3)、编译安装

make

make  install

 

3、启动nginx

cd /usr/local/nginx/sbin/

./nginx

 

注意:执行./nginx启动nginx,这里可以-c指定加载的nginx配置文件,如下:

./nginx -c /usr/local/nginx/conf/nginx.conf

如果不指定-cnginx在启动时默认加载conf/nginx.conf文件,此文件的地址也可以在编译安装nginx时指定./configure的参数(--conf-path=指向配置文件(nginx.conf))

4、停止nginx

方式1,快速停止:

cd /usr/local/nginx/sbin

./nginx -s stop

此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。

 

方式2,完整停止

cd /usr/local/nginx/sbin

./nginx -s quit

此方式停止步骤是待nginx进程处理任务完毕进行停止。

 

5、重启nginx

方式1,先停止再启动:

nginx进行重启相当于先停止nginx再启动nginx,即先执行停止命令再执行启动命令。

如下:

./nginx -s quit

./nginx

 

方式2,重新加载配置文件:

nginx的配置文件nginx.conf修改后,要想让配置生效需要重启nginx,使用-s reload不用先停止nginx再启动nginx即可将配置信息在nginx中生效,如下:

./nginx -s reload

二、nginx+tomcat反向代理实现负载均衡

nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至tomcat服务器。

nginx负载均衡服务器:192.168.189.130 80

tomcat1服务器:192.168.189.130 8082

tomcat2服务器:192.168.189.130 8083

 

1、配置nginx.conf文件

# vim nginx.conf

 

        #nginx的基本配置

    server {

listen       80;

        server_name  localhost;

}

a)、监听端口一般都为http端口:80;可以修改为其他,

b)、server_name :默认为localhost ,这里修改为服务器ip地址

# 在这儿配置多个服务器

       upstream orderapp{

           server      192.168.189.130:8082;

           server      192.168.189.130:8083;

       }

修改nginx的基本配置

server {

listen       80;

server_name  localhost;

      #将访问请求转向至服务器集群,orderapp和上面upstream orderapp对应

proxy_pass http://orderapp;

        proxy_set_header    Host $host; #从header头中获取的主机名

    proxy_set_header  X-Real-IP $remote_addr;

#获取header头中获取的主机的真实IP

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  

     

        index  index.html index.htm;

}

 

2、在端口号8082,8083两个服务器部署项目,

 

 

注:yum时报错,# vim /etc/resolv.conf添加nameserver 8.8.8.8