02-02 nginx 反向代理+负载均衡搭建,环境:centos7+nginx+tomcat8

最近在学习nginx,顺便做一下笔记

主要步骤:
* 配置虚拟地址:用于模拟域名访问
* nginx,tomcat,jkd下载安装
* nginx配置,tomcat配置

一、配置虚拟地址

1.1、在电脑的host文件中配置虚拟地址

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
0.0.0.0 account.jetbrains.com
192.168.58.191 www.test.nginx
  • 我这个是mac的配置,Windows的自己百度了(尴尬)

1.2、在nginx中配置对应的虚拟地址

    server {
        listen       80;
        server_name  www.test.nginx;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            root   html;
            index  index.html index.htm;
        }
        #error_page  404              /404.html;
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
  • 说明:server_name www.test.nginx;为配置的虚拟地址

1.3、启动nginx,并在电脑中访问地址:

http://www.test.nginx/
  • 注:nginx搭建可以参照博客: 02-01 nginx环境搭建:环境 centos7

二、nginx反向代理

  • 思路:采用一个nginx对应多个tomcat服务器,通过nginx转发请求到对应的服务器中

2.1、jdk下载:

  • tomcat运行需要有jdk环境

2.1.1、安装jdk

[root@bogon local]#  yum install java-1.7.0-openjdk

2.1.2、配置环境变量

[root@bogon local]# vim /etc/profile

2.1.3、在配置文件中添加设置

#set java environment
JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
  • 注意:
  • java_home中的路径需要先进去验证/java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64是否为对应的文件夹

2.1.4、重新加载配置文件

[root@bogon local]# source /etc/profile

2.2、tomcat配置

2.2.1、创建tomcats文件夹并在此文件夹下下载tomcat文件

  • 创建tomcats文件夹是用来存放多个tomcat,来模拟多台服务器
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.0.52/bin/apache-tomcat-8.0.52.tar.gz 

2.2.2、解压tomcat文件夹,并给解压后的文件夹重命名

[root@localhost tomcats]# ls
apache-tomcat-8.0.52.tar.gz
[root@localhost tomcats]# tar zxf apache-tomcat-8.0.52.tar.gz 
[root@localhost tomcats]# mv apache-tomcat-8.0.52 tomcat01
[root@localhost tomcats]# ls
apache-tomcat-8.0.52.tar.gz  tomcat01

2.2.3、复制出3个tomcat文件夹(用于模拟3台服务器)

[root@localhost tomcats]# cp -r tomcat01  tomcat02
[root@localhost tomcats]# cp -r tomcat01  tomcat03
[root@localhost tomcats]# ls
apache-tomcat-8.0.52.tar.gz  tomcat01  tomcat02  tomcat03

2.2.4、修改tomcat启动页面中页面显示

[root@localhost tomcats]# vim tomcat01/webapps/ROOT/index.jsp 
[root@localhost tomcats]# vim tomcat02/webapps/ROOT/index.jsp 
[root@localhost tomcats]# vim tomcat03/webapps/ROOT/index.jsp 
  • 修改内容:
            <div id="asf-box">
                <h1>${pageContext.servletContext.serverInfo}    --- tomcat01 ---- </h1>
            </div>

2.2.5、修改tomcat的服务器端口

[root@localhost tomcats]# vim tomcat02/conf/server.xml 
[root@localhost tomcats]# vim tomcat03/conf/server.xml 

2.2.6、将启动端口进行修改

  • 修改内容:
<Server port="8006" shutdown="SHUTDOWN">
    <Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />

2.2.7、nginx中修改反向代理配置

[root@localhost local]# vim nginx/conf/nginx.conf
 upstream tomcats{
                server 192.168.58.191:8080;
                server 192.168.58.191:8081;
                server 192.168.58.191:8082;
        }
    server {
        listen       80;
        server_name  www.test.nginx;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            proxy_pass http://tomcats;
            index  index.html index.htm;
        }
        #error_page  404              /404.html;
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

2.2.8、启动3个tomcat+nginx

  • 3个tomcat启动
[root@localhost local]# tomcats/tomcat01/bin/startup.sh
Using CATALINA_BASE:   /usr/local/tomcats/tomcat01
Using CATALINA_HOME:   /usr/local/tomcats/tomcat01
Using CATALINA_TMPDIR: /usr/local/tomcats/tomcat01/temp
Using JRE_HOME:        /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64/jre
Using CLASSPATH:       /usr/local/tomcats/tomcat01/bin/bootstrap.jar:/usr/local/tomcats/tomcat01/bin/tomcat-juli.jar
Tomcat started.
[root@localhost local]# tomcats/tomcat02/bin/startup.sh
Using CATALINA_BASE:   /usr/local/tomcats/tomcat02
Using CATALINA_HOME:   /usr/local/tomcats/tomcat02
Using CATALINA_TMPDIR: /usr/local/tomcats/tomcat02/temp
Using JRE_HOME:        /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64/jre
Using CLASSPATH:       /usr/local/tomcats/tomcat02/bin/bootstrap.jar:/usr/local/tomcats/tomcat02/bin/tomcat-juli.jar
Tomcat started.
[root@localhost local]# tomcats/tomcat03/bin/startup.sh
Using CATALINA_BASE:   /usr/local/tomcats/tomcat03
Using CATALINA_HOME:   /usr/local/tomcats/tomcat03
Using CATALINA_TMPDIR: /usr/local/tomcats/tomcat03/temp
Using JRE_HOME:        /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64/jre
Using CLASSPATH:       /usr/local/tomcats/tomcat03/bin/bootstrap.jar:/usr/local/tomcats/tomcat03/bin/tomcat-juli.jar
Tomcat started.
  • nginx启动
[root@localhost local]# nginx/sbin/./nginx -s reload
  • 如果之前有运行nginx直接reload

2.2.9、直接访问

http://www.test.nginx/
  • 正常访问会出现tomcat的欢迎界面,不断刷可以实现多个tomcat的切换调用
  • 如果访问失败可能是8080,8081,8082防火墙没开
[root@localhost local]# firewall-cmd --permanent --zone=public --add-port=8080/tcp
success
[root@localhost local]# firewall-cmd --permanent --zone=public --add-port=8081/tcp
success
[root@localhost local]# firewall-cmd --permanent --zone=public --add-port=8082/tcp
success
[root@localhost local]#  firewall-cmd --reload 
success
[root@localhost local]#  nginx/sbin/./nginx -s reload

三、负载均衡实现

3.2、nginx中修改反向代理配置

[root@localhost local]# vim nginx/conf/nginx.conf
        upstream tomcats{
                server 192.168.58.191:8080;
                server 192.168.58.191:8081 weight=3;
                server 192.168.58.191:8082;
        }

猜你喜欢

转载自blog.csdn.net/qq_34231253/article/details/80775642
今日推荐