深入浅出Nginx之五【nginx与tomcat整合】

JDK(Java Development Tookkit)中包含了jre(Java Runtime Environment),而jre是一个java应用运行的基础平台,为此需要在Linux系统上面事先安装JDK环境。然后再安装Tomcat作为web服务器,最后可以将nginx和tomcat进行整合,作为负载均衡和反向代理的基础。

<一>. 安装JDK:
     上传文件:使用nick账号上传jdk-6u45-linux-i586.bin到/software下面。
      进行安装:
Shell代码  收藏代码
su - nick                                #切换账号 
cd /software                             #切换路径 
mv jdk-6u45-linux-i586.bin /usr/local    #移动文件 
cd /usr/local                            #切换路径 
chmod 744 jdk-6u45-linux-i586.bin        #修改权限:当前用户可执行 
./jdk-6u45-linux-i586.bin                #进行安装 
rm jdk-6u45-linux-i586.bin               #删除安装程序 
mv jdk1.6.0_45 jdk                       #重命名安装目录 
    设置环境变量:
Shell代码  收藏代码
echo $PATH                                #查看PATH 
cd ~                                      #切换到主目录 
vi .bash_profile                          #编辑当前用户的环境变量 
    追加如下内容:
Shell代码  收藏代码
JAVA_HOME=/usr/local/jdk 
PATH=$JAVA_HOME/bin:$PATH 
CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar 
export JAVA_HOME PATH CLASSPATH 
Shell代码  收藏代码
source .bash_profile                      #立即生效 
Shell代码  收藏代码
java -version                             #验证是否安装成功 

<二>. 安装Tomcat:
     上传文件:使用nick账号上传apache-tomcat-6.0.37.tar.gz到/software下面。
Shell代码  收藏代码
su - nick                                  #切换账号 
cd /software                               #切换路径 
mv apache-tomcat-6.0.37.tar.gz /usr/local  #移动文件 
cd /usr/local                              #切换路径 
tar -zxvf apache-tomcat-6.0.37.tar.gz      #进行安装 
rm apache-tomcat-6.0.37.tar.gz             #删除安装程序 
mv apache-tomcat-6.0.37 tomcat             #重命名安装目录 
     启动/关闭:
Shell代码  收藏代码
cd /usr/local/tomcat/bin                    #进入bin路径 
./startup.sh                                #启动 
./shutdown.sh                               #启动 
    设置环境变量:
Shell代码  收藏代码
echo $PATH                                   #查看PATH 
cd ~                                         #切换到主目录 
vi .bash_profile                             #编辑当前用户的环境变量 
     追加如下内容:
Shell代码  收藏代码
CATALINA_HOME=/usr/local/tomcat 
PATH=$CATALINA_HOME/bin:$PATH 
export CATALINA_HOME PATH  
Shell代码  收藏代码
source .bash_profile                         #立即生效 
     进行访问:任意路径都可执行
Shell代码  收藏代码
startup.sh                                   #启动 
shutdown.sh                                  #关闭 

<三>. nginx与tomcat整合:
   项目内部的动态、静态请求都转发至tomcat,项目外部的静态资源请求转发至图片服务器。
1. 代理配置:http作用域.
Shell代码  收藏代码
proxy_connect_timeout  90; 
     说明:nginx和后端服务器的请求连接超时时间,默认为60s
Shell代码  收藏代码
proxy_read_timeout  90; 
       说明:连接成功后,排队等候处理超时时间,默认为60s
Shell代码  收藏代码
proxy_send_timeout  90; 
       说明:后端服务器的数据发送超时时间,默认60s
Shell代码  收藏代码
proxy_buffer_size  16k; 
       说明:代理缓冲区,保留后端服务器响应的第一部分,通常为响应的头部
Shell代码  收藏代码
proxy_buffers  4 32k; 
       说明:保留后端服务器的响应数据,每块缓冲区32k,一共有4块
Shell代码  收藏代码
proxy_busy_buffers_size  64k; 
       说明:系统繁忙时,申请更大的代理缓冲区,推荐为上述值的2倍
Shell代码  收藏代码
proxy_temp_file_write_size  128k; 
       说明:缓冲区无法保存时,将数据写至临时文件,默认存放目录为nginx安装目录下的/proxy_temp
2. 设置后端tomcat访问路径:http作用域
Shell代码  收藏代码
upstream tomcat_server { 
    server  192.168.142.56:8080; 

   3. 项目内部的资源请求转发给tomcat:
Shell代码  收藏代码
server { 
    listen       80; 
    server_name  www.excelsoft.com; 
 
    location / { 
        proxy_pass  http://tomcat_server; 
        proxy_set_header Host $host; 
        proxy_set_header X-Real-IP $remote_addr; 
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
 
        index  index.html index.htm index.jsp index.do; 
        access_log  /opt/nginx/logs/access.excelsoft.log access; 
    } 
 
    location ~* \.(gif|jpg|jpeg|png|bmp|swf)$ { 
        proxy_pass  http://tomcat_server; 
 
        expires  15d; 
        access_log  off; 
    } 
 
    location ~ \.(js|css)$ { 
        proxy_pass  http://tomcat_server; 
 
        expires  1h; 
        access_log  off; 
    } 

  4. 静态资源虚拟主机:
Shell代码  收藏代码
server { 
    listen       80; 
    server_name  static.excelsoft.com; 
  
    root  /software/static; 
    access_log  off; 
 
    location ~* \.(gif|jpg|jpeg|png|bmp|swf)$ { 
        expires  15d; 
    } 
 
    location ~ \.(js|css)$ { 
        expires  1h; 
    } 


<四>. 测试验证:su - root
1. 校验nginx.conf合法性:
Shell代码  收藏代码
/usr/local/nginx/sbin/nginx -t 
    2. nginx平滑重启:
Shell代码  收藏代码
kill -HUP `cat /opt/nginx/logs/nginx.pid` 

猜你喜欢

转载自junquinchen.iteye.com/blog/2102756