Nginx作为目前主流的服务端负载均衡可以非常高效支持高并发和大数据量访问,相比较apache的负载均衡有很大优势,以下以linux系统为例简单记录了nginx与多个tomcat配合实现的负载均衡配置。
一、Nginx 服务端安装:
1、下载nginx稳定版本:http://nginx.org/en/download.html (当前是1.6.2)
2、执行解压:
# tar -zxvf nginx-1.6.2.tar.gz
3、组件安装:
# yum -y install pcre pcre-devel openssl openssl-devel
4、编译安装nginx到/usr/local/nginx目录
# ./configure --prefix=/usr/local/nginx
5、启动nginx
# /usr/local/nginx/sbin/nginx
6、查看是否安装成功运行 netstat -ltnp 能看到80端口已开放,浏览器输入地址能看到Welcome to nginx!
二、nginx的tomcat均衡负载配置:
1、准备2个tomcat配置不同的端口(3处,如果不在同一个机器不需要修改端口)
<Server port="8015" shutdown="SHUTDOWN">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
<Connector port="18001" protocol="AJP/1.3" redirectPort="8443" />
2、配置分载,进入/usr/local/nginx/conf目录vi
upstream myapp1{
server 127.0.0.1:8080 weight=1;
server 127.0.0.1:8081 weight=1;
}
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
proxy_pass http://myapp1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
其他:
1、添加模块
进入nginx的安装文件目录重新执行configure 并通过--with-xxx来添加模块,如下,执行后通过./make 进行编译。然后将objs目录下的nginx移动到nginx目录(首次执行时的--prefix指向目录的sbin中替换同名文件)
./configure --prefix=/usr/local/nginx/sbin/nginx --with-http_stub_status_module --with-http_proxy_module
测试:
tail -f /home/firefly/webServ/tomcat-6.0.37-1/logs/catalina.out
网友评论