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