首页 > 其他 > 详细

Nginx实例之反向代理Tomcat

时间:2018-01-14 22:37:21      阅读:228      评论:0      收藏:0      [点我收藏+]
本文索引:

  • 引言
  • tomcat的搭建与配置
  • Nginx反向代理的配置

引言

JSP(Java Server Pages)是目前采用的一种动态网页技术,它既可以运行在Linux上,也可以运行在其他平台上。JSP文件由传统的网页HTML文件内插入Java程序段和JSP标记组成。目前支持JSP技术规范最好、最流行的是Apche软件基金会下的web应用服务器 --- Tomcat。

相对而言,nginx处理静态文件的能力要比apache更好,同时也意味着比tomcat好(毕竟是一家)。通过使用nginx反向代理Tomcat服务器,实现加速网页访问的效果。

Tomcat的搭建与配置

这里使用的都是使用二进制包,搭建简单

  1. 安装jdk
# 将下载压缩包被放置在/usr/local/src/目录下
# 下载链接:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
[root@localhost src]# tar zxvf jdk-8u151-linux-x64.tar.gz 
[root@localhost src]# mv jdk1.8.0_151/ /usr/local/jdk1.8
[root@localhost 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
[root@localhost src]# source /etc/profile
  1. 安装Tomcat
# 下载地址会不断变化,可以https://tomcat.apache.org/download-80.cgi去找对应的二进制安装包(Binary Distributions)
[root@localhost src]# wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz
[root@localhost src]# tar zxvf apache-tomcat-8.5.24.tar.gz
[root@localhost src]# mv apache-tomcat-8.5.24 /usr/local/tomcat
  1. 修改配置文件
[root@localhost src]# mkdir -p /data/wwwroot/tomcat_server
[root@localhost src]# cp -rf /usr/local/tomcat/webapps/* /data/wwwroot/tomcat_server
[root@localhost src]# vi /usr/local/tomcat/conf/server.xml
//查找appBase,修改为
appBase="/data/wwroot/tomcat_server"
# /data/wwwroot为网页根目录
  1. 启动tomcat
[root@localhost src]# /usr/local/tomcat/bin/startup.sh 
# 停止tomcat使用/usr/local/tomcat/bin/shutdown.sh 

Nginx反向代理的配置

这里nginx的安装就不写了,比较简单,为了实现代码分离,这里使用了虚拟主机技术。

# 这里由于是测试的关闭,tomcat与nginx是安装在同一个服务器上的,实际工作中可以分开安装
[root@localhost 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

[root@localhost src]# /usr/local/nginx/sbin/nginx -t
[root@localhost src]# /usr/local/nginx/sbin/nginx
# 如果nginx已启动,执行下列代码
[root@localhost src]# /usr/local/nginx/sbin/nginx -s reload

Nginx实例之反向代理Tomcat

原文:http://blog.51cto.com/castiel/2060870

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!