美文网首页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整合

    一、tomcat配置 创建web项目默认存放目录 配置tomcat默认项目 在/usr/local/apache-...

  • 整合nginx Tomcat redis

    nginx Tomcat redis

  • 利用docker容器配置负载均衡 2019-05-11

    利用nginx和两个tomcat容器nginx映射8181端口,tomcat分别映射9191和9292端口。(关闭...

  • Ubuntu整合Apache和Tomcat

    前两篇已经写了Apache和Tomcat的安装,本文主要探讨Apache和Tomcat的整合。 〇、为什么要整合 ...

  • day 48 tomcat+nginx+redis

    Nginx+Tomcat集群架构概述tomcat+Nginx集群架构实战与共享tomcat+Nginx集群会话 一...

  • Web服务器Nginx和Tomcat整合

    在之前几篇Web服务器讲解中,总结了Apache,Nginx和Tomcat的基本知识及他们之间的区别和联系。Ngi...

  • FastDFS 集群

    Centos 7 安装 FastDFS CentOS 7 安装 Nginx FastDFS 和 Nginx 整合 ...

  • Tomcat

    方案二: Nginx+Tomcat方案三: 使用nginx做反向代理负载均衡 建议使用Nginx和Tomca...

  • nginx和tomcat

    以下内容是来自网络 Apache/Nginx 应该叫做 HTTP Server,即安装后生成httpd服务。Tom...

  • Tomcat和Nginx

    Tomcat架构和原理剖析 TPC/IP Http协议 浏览器访问服务器使用HTTP协议,Http是应用层协议,定...

网友评论

本文标题:Nginx和tomcat整合

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