Nginx实例之反向代理Tomcat
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx实例之反向代理Tomcat相关的知识,希望对你有一定的参考价值。
本文索引:
- 引言
- tomcat的搭建与配置
- nginx反向代理的配置
引言
JSP(Java Server Pages)是目前采用的一种动态网页技术,它既可以运行在Linux上,也可以运行在其他平台上。JSP文件由传统的网页html文件内插入Java程序段和JSP标记组成。目前支持JSP技术规范最好、最流行的是Apche软件基金会下的web应用服务器 --- Tomcat。
相对而言,nginx处理静态文件的能力要比apache更好,同时也意味着比tomcat好(毕竟是一家)。通过使用nginx反向代理Tomcat服务器,实现加速网页访问的效果。
Tomcat的搭建与配置
这里使用的都是使用二进制包,搭建简单
- 安装jdk
# 将下载压缩包被放置在/usr/local/src/目录下
# 下载链接:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
[[email protected] src]# tar zxvf jdk-8u151-linux-x64.tar.gz
[[email protected] src]# mv jdk1.8.0_151/ /usr/local/jdk1.8
[[email protected] src]# vim /etc/profile
//在最后追加
JAVA_HOME=/usr/local/jdk1.8/
JAVA_BIN=/usr/local/jdk1.8/
JRE_HOME=/usr/local/jdk1.8/jre
PATH=$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin
CLASSPATH=/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jar
[[email protected] src]# source /etc/profile
- 安装Tomcat
# 下载地址会不断变化,可以https://tomcat.apache.org/download-80.cgi去找对应的二进制安装包(Binary Distributions)
[[email protected] src]# wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz
[[email protected] src]# tar zxvf apache-tomcat-8.5.24.tar.gz
[[email protected] src]# mv apache-tomcat-8.5.24 /usr/local/tomcat
- 修改配置文件
[[email protected] src]# mkdir -p /data/wwwroot/tomcat_server
[[email protected] src]# cp -rf /usr/local/tomcat/webapps/* /data/wwwroot/tomcat_server
[[email protected] src]# vi /usr/local/tomcat/conf/server.xml
//查找appBase,修改为
appBase="/data/wwroot/tomcat_server"
# /data/wwwroot为网页根目录
- 启动tomcat
[[email protected] src]# /usr/local/tomcat/bin/startup.sh
# 停止tomcat使用/usr/local/tomcat/bin/shutdown.sh
Nginx反向代理的配置
这里nginx的安装就不写了,比较简单,为了实现代码分离,这里使用了虚拟主机技术。
# 这里由于是测试的关闭,tomcat与nginx是安装在同一个服务器上的,实际工作中可以分开安装
[[email protected] src]# vim /usr/local/nginx/conf/vhost/ngx_tomcat.conf
upstream tomcat_server
{
server 127.0.0.1:8080;
# tomcat服务器安装在其他服务器,使用ip:port替代127.0.0.1:8080即可
}
server
{
listen 80;
server_name www.test.com;
index index.html index.htm index.jsp
root /data/wwwroot/tomcat_server;
location ~ .*\.(jsp|jspx|do)?
{
proxy_pass http://tomcat_server;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
location ~ .*\.(jpg|gif|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(css|js)$
{
expires 1h;
}
# 关闭nginx日志,日志由tomcat自己记录
access_log off;
}
启动nginx
[[email protected] src]# /usr/local/nginx/sbin/nginx -t
[[email protected] src]# /usr/local/nginx/sbin/nginx
# 如果nginx已启动,执行下列代码
[[email protected] src]# /usr/local/nginx/sbin/nginx -s reload
以上是关于Nginx实例之反向代理Tomcat的主要内容,如果未能解决你的问题,请参考以下文章