Nginx + tomcat

作者: wanggs | 来源:发表于2018-05-27 13:47 被阅读0次
    image

    安装Nginx

    Windows:

    • 下载地址: http://nginx.org/en/download.html
    • 双击nginx.exe进行启动
    • 在命令行中执行 nginx -s stop 停止服务
    • 在命令行中执行 nginx -s reload 重新加载
    • 配置文件地址: /conf/nginx.conf

    修改Tomcat配置文件

    Tomcat -A的配置文件无需修改,端口号默认为8080
    Tomcat -B的配置文件进行修改
    image.png

    修改Nginx的配置文件

    image.png image.png

    后端服务器获取真实的IP

    image.png

    Session怎么办

    借助redis同步session
    image.png
    项目名称 tomcat -redis-session-manager

    • 项目地址 https://github.com/jcoleman/tomcat-redis-session-manager
    • 使用步骤:
    • 将以下jar包放入到tomcat的lib目录中
    • tomcat -redis-session-manager-2.x.jar
    • jedis-2.x.jar
    • commons-pool2-2.x.jar
    • 修改tomcat中的context.xml配置文件

    tomcat7

    修改过tomcat contenxt.xml

    image.png

    comcat8

    image.png

    线上使用

    image.png
    
    user  nginx;
    worker_processes  4;
    
    #error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
    
    #pid        logs/nginx.pid;
    
    
    events {
        use epoll;
        worker_connections  40960;
    }
    
    
    http {
        include       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  logs/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        keepalive_timeout  65;
        server_tokens off;
    
        gzip  on;
        gzip_min_length     1000;
        gzip_types      text/plain application/x-javascript text/css application/xml;     
        
        #autoindex on;
        #autoindex_exact_size on;
        #autoindex_localtime on;
    
        client_max_body_size 300M;
    
        include vhosts/*.conf;
    }
    
    

    新建 vhosts文件夹

    image.png
        server {
            listen       8082;
            server_name  10.255.247.112;
    
            charset utf-8;
    
            access_log  logs/appstore-admin.log  main;
            
            location ~ ^/(WEB-INF)/ {
                deny all;
            }
    
            location ~ \.(htm|html|gif|jpg|jpeg|png|ico|rar|css|js|zip|txt|flv|swf|doc|ppt|xls|pdf|jar|jad)$ {
                root   /opt/www/commons/;
                access_log off;
                expires 24h;
            }
            
            location / {
                proxy_pass http://127.0.0.1:18083;
                proxy_redirect          off;
                proxy_set_header        Host $http_host;
                proxy_set_header        X-Real-IP $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                client_max_body_size    300m;
                client_body_buffer_size 128k;
                proxy_connect_timeout   300;
                proxy_send_timeout      300;
                proxy_read_timeout      300;
                proxy_buffer_size       4k;
                proxy_buffers           4 32k;
                proxy_busy_buffers_size 64k;
                proxy_temp_file_write_size 64k;
            }
    
            #error_page  404              /404.html;
    
            # redirect server error pages to the static page /50x.html
            #
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
    
    

    启动脚本

    #! /bin/bash
    # Description: Startup script for webserver on CentOS. cp it in /etc/init.d and
    # chkconfig --add nginx && chkconfig nginx on
    # then you can use server command control nginx
    #
    # chkconfig: 2345 08 99
    # description: Starts, stops nginx
    
    set -e
    PATH=$PATH:/opt/servers/nginx/sbin/
    DESC="nginx daemon"
    NAME=nginx
    DAEMON=/opt/servers/nginx/sbin/$NAME
    CONFIGFILE=/opt/servers/nginx/conf/nginx.conf
    PIDFILE=/opt/servers/nginx/logs/nginx.pid
    SCRIPTNAME=/etc/init.d/$NAME
    
    # Gracefully exit if the package has been removed.
    test -x $DAEMON || exit 0
    
    d_start() {
    $DAEMON -c $CONFIGFILE || echo -n " already running"
    }
    
    d_stop() {
    kill -QUIT `cat $PIDFILE` || echo -n " not running"
    }
    
    d_reload() {
    kill -HUP `cat $PIDFILE` || echo -n " can't reload"
    }
    
    case "$1" in
    start)
    echo -n "Starting $DESC: $NAME"
    d_start
    echo "."
    ;;
    stop)
    echo -n "Stopping $DESC: $NAME"
    d_stop
    echo "."
    ;;
    reload)
    echo -n "Reloading $DESC configuration..."
    d_reload
    echo "reloaded."
    ;;
    restart)
    echo -n "Restarting $DESC: $NAME"
    d_stop
    sleep 1
    d_start
    echo "."
    ;;
    *)
    echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
    exit 3
    ;;
    esac
    exit 0
    
    

    相关文章

      网友评论

        本文标题:Nginx + tomcat

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