nginx跟tomcat结合使用的小结

  • 最近由于在准备吧 hexo 个人博客迁移到京东云服务器上,所以要安装一个支持静态资源的服务器,nginx 由于体量小,易用进入我的视野。在了解 nginx 过程中发现除了支持静态资源外,该服务器用用处很大。在此先结合 Tomcat 浅谈一下

  • 比如静态资源分发到 Nginx 处理(如 html,css,js 等前端资源),而 jsp,.do 等动态资源分发到 Tomcat 处理,配置文件如下:
#user  nobody;
    worker_processes  1;
    #error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
    #pid        logs/nginx.pid;
    events {
        worker_connections  1024;
    }

    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  0;
      keepalive_timeout  65;

      #gzip  on;

    #进行多个服务器代理,方便切换
    upstream local_tomcat {
          server localhost:8080 weight=5;
          server localhost:9999 weight=1;
      }

      server {
          listen       80;
          server_name  localhost;

          #charset koi8-r;

          #access_log  logs/host.access.log  main;

        #默认主页面配置(html文件夹下的index.html页面)
          #location / {
          #    root   html;
          #    index  index.html index.htm;
          #}

        #进行服务器代理(proxy_pass里面直接用http://+upstream的名称来使用。)
        location / {
             proxy_pass http://local_tomcat;
          }

          #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;
          }
        #代理Tomcat进行静态资源和动态资源分离
        location ~ \.(jsp|do)$ {
              proxy_pass http://localhost:8080;
        }

        location ~ \.(html|js|css|png|gif)$ {
            root E:\apache-tomcat-7.0.70-windows-x64\apache-tomcat-7.0.70\webapps\RooT;
        }

          # proxy the PHP scripts to Apache listening on 127.0.0.1:80
          #
          #location ~ \.php$ {
          #    proxy_pass   http://127.0.0.1;
          #}

          # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
          #
          #location ~ \.php$ {
          #    root           html;
          #    fastcgi_pass   127.0.0.1:9000;
          #    fastcgi_index  index.php;
          #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
          #    include        fastcgi_params;
          #}

          # deny access to .htaccess files, if Apache's document root
          # concurs with nginx's one
          #
          #location ~ /\.ht {
          #    deny  all;
          #}
      }
      # another virtual host using mix of IP-, name-, and port-based configuration
      #
      #server {
      #    listen       8000;
      #    listen       somename:8080;
      #    server_name  somename  alias  another.alias;

      #    location / {
      #        root   html;
      #        index  index.html index.htm;
      #    }
      #}
      # HTTPS server
      #
      #server {
      #    listen       443 ssl;
      #    server_name  localhost;

      #    ssl_certificate      cert.pem;
      #    ssl_certificate_key  cert.key;

      #    ssl_session_cache    shared:SSL:1m;
      #    ssl_session_timeout  5m;

      #    ssl_ciphers  HIGH:!aNULL:!MD5;
      #    ssl_prefer_server_ciphers  on;

      #    location / {
      #        root   html;
      #        index  index.html index.htm;
      #    }
      #}

    }
  • 个人觉得 Nginx 服务器很有必要深入了解,先在此占个坑吧!希望以后有机会多了解。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容