集群搭建系列教程1:同一台虚拟机环境下Ngnix反向代理配置

原创教程,未经允许,不得转载

集群搭建系列教程1

搭建环境准备:Centos7、tomcat9、nginx-1.12.2

第一部分:linux编译环境准备

由于我是最小化系统安装,所以本次安装需要的各种运行环境需要事先准备

第一步:安装c++编译环境

yum install gcc-c++

第二步:安装pcre-devel

这东西有一个兼容的正则表达式库,nginx 的 http 模块使用 pcre 来解析正则表达式

yum install -y pcre pcre-devel

第三步:安装zlib

zlib 库提供了很多种压缩和解压缩的方式

yum install -y zlib zlib-devel

第四步:安装OpenSSL

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

yum install -y openssl openssl-devel

第二部分:安装ngnix

第一步:将准备好的nginx-1.12.2.tar.gz 上传到/url/local/下,运行命令进行解压缩

tar -zxvf nginx-1.12.2.tar.gz

第二步:对nginx进行配置

其实什么都不需要配置,只需要运行命令使用默认就行,当然也可以选择自定义配置,这里就不附方法了,不过不怕坑可以自己搞搞

./configure

第三步:编译安装

make
make install

第四步:nginx启动测试

[root@localhost sbin]# whereis nginx
nginx: /usr/local/nginx
[root@localhost sbin]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ./nginx 

启动没问题,代表安装成功,接下来我们要配置tomcat,所以要停止nginx运行

./nginx -s quit

第三部分:安装tomcat

第一步:上传tomcat到服务器,并进行复制,两台tomcat的名字分别问tomcatweb1和tomcatweb2(如果没有jdk,需要先在系统上搞定jdk)

第二步:将我们的项目war包分别上传到两台tomcat的webapp下,进行解压

第三步:分别对每个tomcat的配置文件进行修改,修改内容:

tomcatweb1:

<Server port="18005" shutdown="SHUTDOWN">

<Connector port="18080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

 <Connector port="18009" protocol="AJP/1.3" redirectPort="8443" />

tomcatweb2:

<Server port="28005" shutdown="SHUTDOWN">

<Connector port="28080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

<Connector port="28009" protocol="AJP/1.3" redirectPort="8443" />

第四步:分别启动两个tomcat,看访问是否正常

为了做区分,在页面左上角进行了标记,测试通过,可以访问。

第四部分:nginx整合tomcat

第一步:进入nginx的配置文件目录

[root@localhost conf]# cd /usr/local/nginx/conf

第二步:修改nginx.conf这个文件

[root@localhost conf]# vi nginx.conf

核心配置如下:

upstream  yangxu {  #服务器集群名字   
        server    192.168.229.128:18080  weight=1;#服务器配置   weight是权重的意思,权重越大,分配的概率越大。  
        server    192.168.229.128:28080  weight=2;  
    }   
#打那个钱的Nginx的配置
    server {
        listen       80;#监听80端口,可以改
        server_name  192.168.229.128;#当前服务的域名

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass http://yangxu;
            proxy_redirect default;
        }

要注意的有几点:

1:upstream 后边的服务器集群名字要和proxy_pass后边的连接地址名字一样

2:server_name这个配置的当前服务的域名,当外界访问这个地址时,Nginx会自动将这请求发送到不同的tomcat

此时如果直接访问这个ip,可以访问项目,但是我们注意到平时访问时很少有直接输入ip地址的情况,

如果我们要想通过域名直接访问项目,需要首先在nginx.conf这个文件将server_name改成如下配置

server_name  www.magicabcweb.com;

然后自己在本地windows系统的host文件中添加一个映射(由于这个域名没有注册,所以浏览器无法解析ip地址,需要在本地host中配置)

192.168.229.128        www.magicabcweb.com

配置好以后,此时再次直接访问 www.magicabcweb.com

 

posted @ 2018-01-25 18:19  一介書生  阅读(479)  评论(0)    收藏  举报