qinling072 发表于 2016-12-24 08:30:06

深入浅出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下面。
  进行安装:

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                     #重命名安装目录

  设置环境变量:

echo $PATH                              #查看PATH
cd ~                                    #切换到主目录
vi .bash_profile                        #编辑当前用户的环境变量

  追加如下内容:

JAVA_HOME=/usr/local/jdk
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar
export JAVA_HOME PATH CLASSPATH
source .bash_profile                      #立即生效
java -version                           #验证是否安装成功
  <二>. 安装Tomcat:
     上传文件:使用nick账号上传apache-tomcat-6.0.37.tar.gz到/software下面。

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             #重命名安装目录

  启动/关闭:

cd /usr/local/tomcat/bin                  #进入bin路径
./startup.sh                              #启动
./shutdown.sh                               #启动
  设置环境变量:

echo $PATH                                 #查看PATH
cd ~                                       #切换到主目录
vi .bash_profile                           #编辑当前用户的环境变量
  追加如下内容:

CATALINA_HOME=/usr/local/tomcat
PATH=$CATALINA_HOME/bin:$PATH
export CATALINA_HOME PATH 
source .bash_profile                         #立即生效
  进行访问:任意路径都可执行

startup.sh                                 #启动
shutdown.sh                                  #关闭
  <三>. nginx与tomcat整合:
   项目内部的动态、静态请求都转发至tomcat,项目外部的静态资源请求转发至图片服务器。
  1. 代理配置:http作用域.

proxy_connect_timeout90;
  说明:nginx和后端服务器的请求连接超时时间,默认为60s

proxy_read_timeout90;
  说明:连接成功后,排队等候处理超时时间,默认为60s

proxy_send_timeout90;
  说明:后端服务器的数据发送超时时间,默认60s

proxy_buffer_size16k;
  说明:代理缓冲区,保留后端服务器响应的第一部分,通常为响应的头部

proxy_buffers4 32k;
  说明:保留后端服务器的响应数据,每块缓冲区32k,一共有4块

proxy_busy_buffers_size64k;
  说明:系统繁忙时,申请更大的代理缓冲区,推荐为上述值的2倍

proxy_temp_file_write_size128k;
  说明:缓冲区无法保存时,将数据写至临时文件,默认存放目录为nginx安装目录下的/proxy_temp
  2. 设置后端tomcat访问路径:http作用域

upstream tomcat_server {
server192.168.142.56:8080;
}
  3. 项目内部的资源请求转发给tomcat:

server {
listen       80;
server_namewww.excelsoft.com;
location / {
proxy_passhttp://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;
indexindex.html index.htm index.jsp index.do;
access_log/opt/nginx/logs/access.excelsoft.log access;
}
location ~* \.(gif|jpg|jpeg|png|bmp|swf)$ {
proxy_passhttp://tomcat_server;
expires15d;
access_logoff;
}
location ~ \.(js|css)$ {
proxy_passhttp://tomcat_server;
expires1h;
access_logoff;
}
}
  4. 静态资源虚拟主机:

server {
listen       80;
server_namestatic.excelsoft.com;
root/software/static;
access_logoff;
location ~* \.(gif|jpg|jpeg|png|bmp|swf)$ {
expires15d;
}
location ~ \.(js|css)$ {
expires1h;
}
}
  <四>. 测试验证:su - root
 1. 校验nginx.conf合法性:

/usr/local/nginx/sbin/nginx -t
  2. nginx平滑重启:

kill -HUP `cat /opt/nginx/logs/nginx.pid`
页: [1]
查看完整版本: 深入浅出Nginx之五【nginx与tomcat整合】