tomcat+Nginx

环境:centos6.5 64位

目的:用nginx做一个反向代理,代理多个tomcat并做负载均衡

jdk的安装(略)

tomcat安装(略)

nginx的安装

  因为做负载均衡需要用到nginx的upstream模块,所以安装nginx的同时,需要把这个模块给安装上。我第一次安装nginx是没有注意到这点,花了不少时间看别人写的教程,自己也试了很多次最终把nginx配置完成。

  在安装nginx前,需要确保系统安装了g++、gcc、openssl-devel、pcre-devel和zlib-devel软件。安装必须软件:

# yum install gcc-c++
# yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel

  下载upstream模块的补丁文件  

# wget https://github.com/yaoweibin/nginx_upstream_check_module/archive/master.zip 

  下载后解压文件

# unzip nginx_upstream_check_module-master.zip

  将解压文件移动到root目录

# mv ./nginx_upstream_check_module-master /root/health

  下载解压nginx编译包(我是在widows环境下载的,然后通过winscp软件拉倒阿里云上的)

# tar -zxvf nginx-1.10.2.tar.gz

  然后进入解压后的nginx-1.10.2目录,给nginx打上nginx_upstream_check_module补丁

# patch -p0 < /root/health/check_1.11.5+.patch 

  配置参数

# ./configure ----prefix=/usr/local/nginx --add-module=/root/health/

  编译、安装

# make&&make install

  启动

# /usr/local/nginx/sbin/nginx

  启动之后我们在浏览器键入服务器的ip,会在浏览器看到下面的页面

nginx的配置

  nginx安装完毕之后,为了让nginx对tomcat做反向代理和均衡负载,我需要对nginx配置文件进行修改。

  打开nginx的配置文件nginx.conf,我们可以看到原始的配置文件

# vi /usr/local/nginx/conf/nginx.conf

  

  

 

  这段代码在server里面,相当于一个代理服务器,当然可以配置多个。

下面我们仔细来分析一下:

  listen:表示当前的代理服务器监听的端口,默认的是监听80端口。注意,如果我们配置了多个server,这个listen要配置不一样,不然就不能确定转到哪里去了。

  server_name:表示监听到之后需要转到哪里去,这时我们直接转到本地,这时是直接到nginx文件夹内。

  location:表示匹配的路径,这时配置了/表示所有请求都被匹配到这里

  root:里面配置了root这时表示当匹配这个请求的路径时,将会在这个文件夹内寻找相应的文件,这里对我们之后的静态文件伺服很有用。

  index:当没有指定主页时,默认会选择这个指定的文件,它可以有多个,并按顺序来加载,如果第一个不存在,则找第二个,依此类推。

 

  那我们知道了具体的配置了,怎么让它访问localhost时转到tomcat时。实际上就修改两个地方:

  server_name  ip:8080;
    location / {  
      proxy_pass http://ip:8080;  
  }

  修改完毕,我们进入nginx命令的目录下,重新加载nginx配置文件

# nginx -s reload

  此时我们在浏览器中键入服务器的ip地址,我们会看到浏览器的页面跳转到tomcat的页面而不是nginx的首页(前提是你服务器上成功安装了tomcat并启动了)

 

 

posted @ 2016-12-30 17:57  阿峰峰峰峰  阅读(170)  评论(0编辑  收藏  举报