您的位置:首页 > 运维架构 > Tomcat

Ngnix+Tomcat配置负载均衡

2016-02-18 09:50 531 查看
1.安装tomcat

下载对应的Tomcat版本apache-tomcat-7.0.67-windows-x86.zip,解压到D:\apache-tomcat-7.0.67,配置如下环境变量:

CATALINA_HOME D:\apache-tomcat-7.0.67

Path %CATALINA_HOME%\bin;

运行D:\apache-tomcat-7.0.67\bin\startup.bat命令启动Tomcat

打开浏览器,输入http://localhost:8080/,如果能正常显示如下页面,说明Tomcat配置成功。

2.安装Ngnix

下载对应的Ngnix版本 nginx-1.6.3.zip,解压到D:\nginx-1.6.3

Ngnix的默认监听端口是80,修改默认监听端口为88(不修改也可以,只是本机的80端口已被其他服务占用了)

修改配置文件D:\nginx-1.6.3\conf\nginx.conf

server {

listen 88;

….

}

运行D:\nginx-1.6.3\nginx.exe

浏览器中输入http://localhost:88/,如果能打开如下页面,说明nginx配置成功。

配置nginx,让nginx反向代理tomcat

修改配置文件D:\nginx-1.6.3\conf\nginx.conf

server {

listen 88; #80 ==> 88

server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {

proxy_pass http://localhost:8080;
#root html;

#index index.html index.htm;

}



}

运行nginx -s reload重新加载ngnix的配置文件,然后启动Tomcat

在浏览器中输入http://localhost:88/,如果能打开Tomcat的主页面,说明ngnix反向代理Tomcat配置成功。

配置让Tomcat处理所有jsp页面

location ~ \.jsp$ { # / ==> ~ \.jsp

proxy_pass http://localhost:8080;
#root html;

#index index.html index.htm;

}

运行nginx -s reload重新加载ngnix的配置文件

在浏览器中输入http://localhost:88/,发现这时候显示如下页面

因为请求地址没有以jsp结尾,所以没有转发到Tomcat,如果把地址改成http://localhost:88/index.jsp,这时候会显示如下页面

发现页面虽然显示成功了,但是页面上的图片和css样式没有显示出来,因为我们没有配置让ngnix来处理这些静态页面元素,使用ngnix和tomcat的一个主要功能就是做到动静分离,即让tomcat来处理像jsp之类的动态页面,让ngnix来处理html,jpg等之类的静态页面。我们在配置文件中追加如下配置

location ~ \.(html|js|css|png|gif)$ {

root D:\apache-tomcat-7.0.67\webapps\ROOT;

}

运行nginx -s reload重新加载ngnix的配置文件

再输入http://localhost:88/index.jsp,这时候会正常显示成功页面

配置第二个Tomcat服务器

解压apache-tomcat-7.0.67-windows-x86.zip到目录 C:\apache-tomcat-7.0.67,配置如下环境变量:

CATALINA2_HOME C:\apache-tomcat-7.0.67

Path %CATALINA2_HOME%\bin;

为了避免和第一个Tomcat的端口冲突,修改Tomcat如下端口,打开C:\apache-tomcat-7.0.67\conf\server.xml文件,修改如下端口

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

<Connector port="18080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="18443" />

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

修改startup.bat,catalina.bat和shutdown.bat文件内容:

(1) 打开C:\apache-tomcat-7.0.67\conf\startup.bat文件,把其中所有CATALINA_HOME替换为CATALINA2_HOME。

(2)打开C:\apache-tomcat-7.0.67\conf\catalina.bat文件,把其中所有CATALINA_HOME替换为CATALINA2_HOME。

(3)打开C:\apache-tomcat-7.0.67\bin\shutdown.bat文件,把其中所有CATALINA_HOME替换为CATALINA2_HOME。

在地址栏中输入http://localhost:18080/,如果能正常显示如下页面,说明配置成功。

配置ngnix,让它可以反向代理两台Tomcat,实现负载均衡。

修改配置文件D:\nginx-1.6.3\conf\nginx.conf

upstream local_tomcats {

server localhost:8080;

server localhost:18080;

}

server {

listen 88; #80 ==> 88

server_name localhost;

location ~ \.jsp$ { # / ==> ~ \.jsp

proxy_pass http://local_tomcats;
#root html;

#index index.html index.htm;

}


}

转自【http://www.blogjava.net/jacky9881/archive/2016/01/28/429242.html】
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: