Nginx+Tomcat集群搭建

一、在服务器上安装好Tomcat,并将项目发布到Tomcat上
二、Nginx安装步骤:
a)下载Nginx到服务器上
i.下载方式一:使用Linux命令 ”wegt + Nginx下载地址” 将Nginx下载到当前目录
ii.下载方式二:使用浏览器下载
iii.Nginx官网下载地址:http://nginx.org/en/download.html

b)进入Nginx安装包下载目录,解压
i.解压命令:”tar vxzf + Nginx安装包名”
c)进入解压后的Nginx文件夹
d)设置配置信息,执行”./configure --prefix=/usr/local/nginx”命令
i.“/usr/local/nginx”是Nginx的安装目录,可以修改为其他目录
ii.Nginx1.9以后的版本可以使用支持udp协议的stream模块,但是stream模块默认不启用,如需启用在该语句后加入“--with-stream”命令(./configure --prefix=/usr/local/nginx --with-stream)
iii.可能出现的问题:

1../configure: error: the HTTP rewrite module requires the PCRE library;解决:安装pcre-devel,命令:yum -y install pcre-devel
2../configure: error: the HTTP cache module requires md5 functions from OpenSSL library. 解决:yum -y install openssl openssl-devel
e)执行”make”命令,编译Nginx
f)执行”make install”命令,安装Nginx
三、Nginx配置信息
a)进入Nginx安装目录(cd /usr/local/nginx)
b)进入配置文件目录(cd conf)
c)打开nginx.conf文件(vim nginx.conf)
d)TCP配置:

i.进程数与每个进程的最大连接数

#工作进程数,一般为服务器cpu核心数,或者为cpu核心数的两倍
worker_processes 1 ;
events {
#include:单个进程的最大连接数
worker_connections 1024 ;
}

ii.基本配置(注:Server模块位于http模块下)

server {
#监听端口号
listen 80 ;
#监听服务名
server_name localhost ;
#proxy_pass: 调用之前设置的负载均衡列表
#proxy_connect_timeout:与服务器连接的超时时间,默认60s
location / {
proxy_pass http://local_tomcat ;
        proxy_connect_timeout 10s ;
}
}


Listen为监听端口号,server_name为监听服务名

iii.配置负载均衡列表

#keepalive_timeout:守护进程时间,意味着产生的tcp连接在最后一次响应后还需要5秒后才关闭该连接
keepalive_timeout 5 ;
#upstream:定义负载均衡列表
#fail_timeout:当该时间内服务器没响应,则认为服务器失效,默认10s
#max_fails:允许连接失败次数,默认为1
#weight: 权重,权重越大,被访问的几率也越大,如此处8080端口访问几率应该是8088端口的两倍
upstream local_tomcat {
    server localhost:8080 fail_timeout=1s max_fails=1 weight=2 ;
    server localhost:8088 fail_timeout=1s max_fails=1 weight=1 ;
}
server {
#监听端口号
listen 80 ;
#监听服务名
server_name localhost ;
#proxy_pass: 调用之前设置的负载均衡列表
#proxy_connect_timeout:与服务器连接的超时时间,默认60s
location / {
proxy_pass http://local_tomcat ;
         proxy_connect_timeout 10s ;
}
}


1.Upstream:声明服务器集群;
2.Location:请求转向自定义的服务器列表,这里我们将请求都转向标识为http://local_tomcat 的负载均衡服务器列表
3.Weight:表示权重,权重越大被访问到的几率越大
4.max_fails:允许连接失败次数,默认为1
5.fail_timeout:当该时间内服务器没响应,则认为服务器失效,默认10s
6.proxy_connect_timeout:与服务器连接的超时时间,默认60s
7.注:以上为基础配置,其他配置请参考官网文档( http://www.nginx.cn/doc/)
e)Udp配置
i.将原本配置中的http模块改为stream模块并删除原http模块下其他信息(需要在编译时设置"--with-stream"参数)

ii.配置负载均衡列表

upstream udp_test {
    server 127.0.0.1:8080 ;
    server 127.0.0.1:8088 ;
}


iii.设置server信息

server {
listen 127.0.0.1:80 udp ;
proxy_pass udp_test ;
proxy_response 1 ;
proxy_timeout 20s ;
}

1.Nginx默认是tcp协议,如果是udp协议,需要在监听端口后添加 udp

2.设置监听服务时,需要将服务名和端口号配置在一起

3.用proxy_pass指定负责均衡列表

四、Nginx基础配置代码(TCP协议):

#工作进程数,一般为服务器cpu核心数,获取cpu核心数的两倍
worker_processes 1 ;
events {
#include:单个进程的最大连接数
worker_connections 1024 ;
}
http {
#include:引入文件到改位置(在此处为引入配置文件同目录下的mime.types文件的内容)
include mime.types ;
#default_type:设置文件使用的默认的MIME-type
default_type application/octet-stream ;
sendfile on ;
#keepalive_timeout:守护进程时间,意味着产生的tcp连接在最后一次响应后还需要5秒后才关闭该连接
keepalive_timeout 5 ;
#upstream:定义负载均衡列表
#fail_timeout:当该时间内服务器没响应,则认为服务器失效,默认10s
     #max_fails:允许连接失败次数,默认为1
#weight: 权重,权重越大,被访问的几率也越大,如此处8080端口访问几率应该是8088端口的两倍
upstream udpTest {
         server localhost:8080 fail_timeout=1s max_fails=1 weight=2 ;
        server localhost:8088 fail_timeout=1s max_fails=1 weight=1 ;
     }
server {
#监听端口号
listen 80 ;
#监听服务名
server_name localhost ;
#proxy_pass: 调用之前设置的负载均衡列表
#proxy_connect_timeout:与服务器连接的超时时间,默认60s
location / {
proxy_pass http://local_tomcat ;
        proxy_connect_timeout 10s ;
}
}
}




你可能感兴趣的:(Nginx)