Nginx和tomcat整合

一、tomcat配置

  1. 创建web项目默认存放目录
mkdir home/www/web/jsp
#不存在目录的话,自行创建
  1. 配置tomcat默认项目

在/usr/local/apache-tomcat-8.5.9/conf/server.xml中Host节点修改appBase属性为"/home/www/web/jsp/",如下:

<Host name="localhost"  appBase="/home/www/web/jsp/"  unpackWARs="true" autoDeploy="true">
  1. 重启tomcat
/usr/local/apache-tomcat-8.5.9/bin/shutdown.sh
/usr/local/apache-tomcat-8.5.9/bin/startup.sh

4.测试

test1: 在/home/www/web/jsp/目录下创建index.jsp文件,内容随便写点,最后访问http://IP:8080/
test2: 在/home/www/web/jsp/目录下创建test.jsp文件,内容随便写点,最后访问http://IP:8080/test.jsp

二、nginx配置

  1. 创建Nginx静态文件存放目录
mkdir /home/www/web/ROOT
  1. 代理设置

①在/usr/local/nginx/conf目录中先建代理文件proxy.conf
②将如下代码添加进proxy.conf

#!nginx 
# proxy.conf
proxy_redirect          off;
proxy_set_header        Host $host;
proxy_set_header        X-Real-IP $remote_addr;  #获取真实ip
#proxy_set_header       X-Forwarded-For   $proxy_add_x_forwarded_for; #获取代理者的真实ip
client_max_body_size    10m;
client_body_buffer_size 128k;
proxy_connect_timeout   90;
proxy_send_timeout      90;
proxy_read_timeout      90;
proxy_buffer_size       4k;
proxy_buffers           4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
  1. 配置nginx.conf
#运行nginx所在的用户名和用户组
#user  www www;
#启动进程数
worker_processes 8;
#全局错误日志及PID文件
error_log  /usr/local/nginx/logs/nginx_error.log  crit; 
#pid        /usr/local/nginx/nginx.pid; 
#Specifies the value for maximum file descriptors that can be opened by this process. 
worker_rlimit_nofile 65535;
#工作模式及连接数上限
events
{
        use epoll;
        worker_connections 65535;
}
#设定http服务器,利用它的反向代理功能提供负载均衡支持
http
{
        #设定mime类型
        include       mime.types;
        default_type  application/octet-stream;
        include /usr/local/nginx/proxy.conf;
        #charset  gb2312;
        #设定请求缓冲   
        server_names_hash_bucket_size 128;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        #client_max_body_size 8m;   
        sendfile on;
        tcp_nopush     on;
         
        keepalive_timeout 60;
         
        tcp_nodelay on;
         
        #  fastcgi_connect_timeout 300;
        #  fastcgi_send_timeout 300;
        #  fastcgi_read_timeout 300;
        #  fastcgi_buffer_size 64k;
        #  fastcgi_buffers 4 64k;
        #  fastcgi_busy_buffers_size 128k;
        #  fastcgi_temp_file_write_size 128k;
         
        #  gzip on;
        #  gzip_min_length  1k;
        #  gzip_buffers     4 16k;
        #  gzip_http_version 1.0;
        #  gzip_comp_level 2;
        #  gzip_types       text/plain application/x-javascript text/css application/xml;
        #  gzip_vary on;
         
        #limit_zone  crawler  $binary_remote_addr  10m;
        ###禁止通过ip访问站点
        #server{
        #       server_name _;
        #       return 404;
        #}


        server
        {
                listen       80;
                server_name  localhost;
                index index.html index.htm index.jsp;#设定访问的默认首页地址
                root  /home/www/web/ROOT;#设定网站的资源存放路径

                #limit_conn   crawler  20;   

                location / {
                        index   index.html index.jsp;
                }        

                location ~ .*.jsp$ #所有jsp的页面均交由tomcat处理
                {
                        index index.jsp;
                        proxy_pass http://192.168.222.128:8080;#转向tomcat处理
                }
         
         
                location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ #设定访问静态文件直接读取不经过tomcat
                {
                        expires      30d;
                }
         
                location ~ .*\.(js|css)?$
                {
                        expires      1h;
                }
         
                #定义访问日志的写入格式
                #log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
                #'$status $body_bytes_sent "$http_referer" '
                #'"$http_user_agent" $http_x_forwarded_for';
                #access_log  /usr/local/nginx/logs/localhost.log access;#设定访问日志的存放路径
         
        }
}

4.检测配置文件的正确性

/usr/local/nginx/nginx -t

出现如下代码,则正确
nginx: the configuration file /usr/local/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/nginx.conf test is successful

5.重启Nginx

/usr/local/nginx/nginx -s reload

6.验证

test1: 在/home/www/web/ROOT目录下创建test.html,内容随便写,自己记得住识得出就行。访问http://IP/test.html
说明:此时访问的是nginx静态资源所在的目录
test2: 在/home/www/web/ROOT目录下创建index.jsp,内容随便写,自己记得住识得出就行。访问http://IP/index.jsp
说明:此时html等静态文件访问的是nginx指定的静态文件目录,而jsp文件则分发到tomcat进行处理。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容