美文网首页javaWeb学习
Nginx和tomcat整合

Nginx和tomcat整合

作者: Xiangdong_She | 来源:发表于2017-02-08 16:09 被阅读538次

    一、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进行处理。

    相关文章

      网友评论

      本文标题:Nginx和tomcat整合

      本文链接:https://www.haomeiwen.com/subject/edxgbttx.html