深入浅出Nginx之五【nginx与tomcat整合】
JDK(JavaDevelopmentTookkit)中包含了jre(JavaRuntimeEnvironment),而jre是一个java应用运行的基础平台,为此需要在Linux系统上面事先安装JDK环境。然后再安装Tomcat作为web服务器,最后可以将nginx和tomcat进行整合,作为负载均衡和反向代理的基础。
<一>.安装JDK:
上传文件:使用nick账号上传jdk-6u45-linux-i586.bin到/software下面。
进行安装:
Shell代码收藏代码
su-nick#切换账号
cd/software#切换路径
mvjdk-6u45-linux-i586.bin/usr/local#移动文件
cd/usr/local#切换路径
chmod744jdk-6u45-linux-i586.bin#修改权限:当前用户可执行
./jdk-6u45-linux-i586.bin#进行安装
rmjdk-6u45-linux-i586.bin#删除安装程序
mvjdk1.6.0_45jdk#重命名安装目录
设置环境变量:
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
exportJAVA_HOMEPATHCLASSPATH
Shell代码收藏代码
source.bash_profile#立即生效
Shell代码收藏代码
java-version#验证是否安装成功
<二>.安装Tomcat:
上传文件:使用nick账号上传apache-tomcat-6.0.37.tar.gz到/software下面。
Shell代码收藏代码
su-nick#切换账号
cd/software#切换路径
mvapache-tomcat-6.0.37.tar.gz/usr/local#移动文件
cd/usr/local#切换路径
tar-zxvfapache-tomcat-6.0.37.tar.gz#进行安装
rmapache-tomcat-6.0.37.tar.gz#删除安装程序
mvapache-tomcat-6.0.37tomcat#重命名安装目录
启动/关闭:
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
exportCATALINA_HOMEPATH
Shell代码收藏代码
source.bash_profile#立即生效
进行访问:任意路径都可执行
Shell代码收藏代码
startup.sh#启动
shutdown.sh#关闭
<三>.nginx与tomcat整合:
项目内部的动态、静态请求都转发至tomcat,项目外部的静态资源请求转发至图片服务器。
1.代理配置:http作用域.
Shell代码收藏代码
proxy_connect_timeout90;
说明:nginx和后端服务器的请求连接超时时间,默认为60s
Shell代码收藏代码
proxy_read_timeout90;
说明:连接成功后,排队等候处理超时时间,默认为60s
Shell代码收藏代码
proxy_send_timeout90;
说明:后端服务器的数据发送超时时间,默认60s
Shell代码收藏代码
proxy_buffer_size16k;
说明:代理缓冲区,保留后端服务器响应的第一部分,通常为响应的头部
Shell代码收藏代码
proxy_buffers432k;
说明:保留后端服务器的响应数据,每块缓冲区32k,一共有4块
Shell代码收藏代码
proxy_busy_buffers_size64k;
说明:系统繁忙时,申请更大的代理缓冲区,推荐为上述值的2倍
Shell代码收藏代码
proxy_temp_file_write_size128k;
说明:缓冲区无法保存时,将数据写至临时文件,默认存放目录为nginx安装目录下的/proxy_temp
2.设置后端tomcat访问路径:http作用域
Shell代码收藏代码
upstreamtomcat_server{
server192.168.142.56:8080;
}
3.项目内部的资源请求转发给tomcat:
Shell代码收藏代码
server{
listen80;
server_namewww.excelsoft.com;
location/{
proxy_passhttp://tomcat_server;
proxy_set_headerHost$host;
proxy_set_headerX-Real-IP$remote_addr;
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
indexindex.htmlindex.htmindex.jspindex.do;
access_log/opt/nginx/logs/access.excelsoft.logaccess;
}
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.静态资源虚拟主机:
Shell代码收藏代码
server{
listen80;
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合法性:
Shell代码收藏代码
/usr/local/nginx/sbin/nginx-t
2.nginx平滑重启:
Shell代码收藏代码
kill-HUP`cat/opt/nginx/logs/nginx.pid`