深入浅出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]