Nginx与Tomcat的配置

这一篇博客主要介绍如何配置Nginx和Tomcat,从而实现Nginx对Tomcat的反向代理。


前提是:系统安装了Nginx和Tomcat,关于如何安装Nginx和Tomcat,这里就不再赘述了。

主要需要修改两个配置文件(本文以Nginx1.0.15、Tomcat7为例):

1. 在目录/etc/nginx/conf.d 下新建一个文件 tomcatserver.conf (tomcatserver可以修改为其它的名字),在文件中添加如下内容:

server
{
    #配置监听IP和Port
    listen 80;
    server_name localhost;

    #配置默认页与web应用存放的根目录
    index index.html index.jsp index.do index.action default.html default.jsp default.do default.action;
    #root路径可以修改为你放置web app的根目录(注意与下面tomcat的配置要一致)
    root /home/cwowhappy/webapps;   

    location ~ \.(jsp|do|action)?$ {
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_pass http://localhost:8080;
    }

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
        expires 30d;
    }

    location ~ .*\.(js|css)?$ {
        expires 1h;
    }

    access_log off;
}

2. 在目录 /etc/nginx/ 下修改文件 nginx.conf,我系统的配置文件如下,大家可对照修改:

#使用的用户和用户组
user cwowhappy cwowhappy;
#指定工作衍生进程数
worker_processes  4;
#指定错误日志存放的路径,错误日志记录级别可选为:[debug | info | notice | warn | error | crit]
error_log  /var/log/nginx/error.log;
#error_log  /var/log/nginx/error.log  notice;
#error_log  /var/log/nginx/error.log  info;

#指定进程id存放的文件
pid        /var/run/nginx.pid;


events {
    #使用的网络I/O模型(Linux推荐使用epoll模型)
    use epoll;

    #允许的连接数
    worker_connections  1024;
}


http {

    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;
    #add by cwowhappy 2014-04-21 configure Ngimx+Tomcat start
    #编码格式
    charset utf-8;
    server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    client_body_buffer_size 512k;
    large_client_header_buffers 4 32k;
    client_max_body_size 300m;
    #add by cwowhappy 2014-04-21 end    

    sendfile        on;
    tcp_nopush     on;

    keepalive_timeout  65;
    tcp_nodelay on;

    #add by cwowhappy 2014-04-21 configure Nginx+Tomcat start
    proxy_connect_timeout 5;
    proxy_read_timeout 60;
    proxy_send_timeout 5;
    proxy_buffer_size 16k;
    proxy_buffers 4 64k;
    proxy_busy_buffers_size 128k;
    proxy_temp_file_write_size 128k;
    #add by cwowhappy 2014-04-21 configure Nginx+Tomcat end

    #压缩输出配置gzip
    gzip  on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.1;
    gzip_comp_level 2;
    gzip_types text/plain application/x-javascript text/css application/xml
    gzip_vary on;

    # Load config files from the /etc/nginx/conf.d directory
    # The default server is in conf.d/default.conf
    include /etc/nginx/conf.d/tomcatserver.conf;

}

3. 修改tomcat的配置文件server.xml(此文件位于tomcat安装目录下的conf目录下),修改内容如下:

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"> 
把上面的appBase属性修改为你web app放置的根目录(与第一步中配置要一致)
      <Host name="localhost"  appBase="/home/cwowhappy/webapps"
            unpackWARs="true" autoDeploy="true">

我在配置中遇到的问题:

1.由于刚开始在nginx.conf配置文件中配置的user为nginx,导致出现403错误,这是由于Nginx没有访问我本地的文件夹的原因导致的,修改user为使用用户和该用户所属的组,即修改了此问题。

另外,如果没有对应的文件,也会提示403错误。


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值