• Nginx+Tomcat动静态资源分离


    1 创建用户、用户组

        useradd -g users www

        passwd www //设置密码,否则该用户不可用

        groupadd -g 888 www //创建用户组

        gpasswd -a www www //将用户www加入用户组www

    2 下载nginx、pcre(正则使用)

        wget http://blog.s135.com/soft/linux/nginx_php/nginx/nginx-0.8.46.tar.gz

         wget http://blog.s135.com/soft/linux/nginx_php/pcre/pcre-8.10.tar.gz

    3 安装pcre

        tar zxvf pcre-8.10.tar.gz

        cd pcre-8.10/

        ./configure

        make

        make install

    4 安装nginx

        tar zxvf nginx-0.8.46.tar.gz

        cd nginx-0.8.46/

        ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --    with-http_ssl_module

        make

        make install

    5 nginx.conf配置
        user www www;

        #最好与cpu核数相同
        worker_processes  8;

        error_log /usr/local/nginx/logs/nginx_error.log crit;
        pid /usr/local/nginx/nginx.pid;

        worker_rlimit_nofile 65535;

        events {
             use epoll;
             worker_connections  65535;
        }
        http {
            include mime.types;
            default_type application/octet-stream;

             #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;

            server {
                listen       80;
                server_name  www.nginxtest.com 192.168.1.177;
                index index.html index.htm index.jsp index.do;
                root /usr/local/nginx/html/myloan;
               #配置Nginx动静分离,定义的静态页面直接从Nginx发布目录读取。
                location ~ .*.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ 
                 { 
                      root /usr/local/nginx/html/myloan; 
                      #expires定义用户浏览器缓存的时间为7天,如果静态页面不常更新,可以设置更长,这样可以节省带宽和缓解服务器的压力
                       expires      7d; 
                   } 
              #所有jsp、do的动态请求都交给后面的tomcat处理 
              location ~ (.jsp)|(.do)$ 
             { 

                  #tomcat地址
                  proxy_pass http://192.168.1.177:8080;  
                  proxy_redirect off;  
                  proxy_set_header HOST $host;  
                  proxy_set_header X-Real-IP $remote_addr;  
                  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
                  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;  
           }      
     
             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/access.log  access;  
     
         }
         server  
          {  
              listen  80;  
              server_name  www.server.nginxtest.com;  
     
              location / {  
              stub_status on;  
               access_log   off;  
          }  
       }
    }

    6 启动nginx

        1. 重新运行一下/usr/local/nginx/sbin/nginx
        2. 重启nginx:/usr/local/nginx/sbin/nginx -s reload

    7 停止nginx

        1:查询nginx主进程号
              ps -ef | grep nginx
        在进程列表里 面找master进程,它的编号就是主进程号了。
        2:发送信号
            从容停止Nginx:
                kill -QUIT 主进程号
            快速停止Nginx:
                kill -TERM 主进程号
            强制停止Nginx:
                pkill -9 nginx

    ------------------------------------------------------------------------------------------------------------------------------------

    1 创建用户、用户组

    1
    2
    3
    4
    useradd -g users www
    passwd www //设置密码,否则该用户不可用
    groupadd -g 888 www //创建用户组
    gpasswd -a www www //将用户www加入用户组www

    2 下载nginx、pcre(处理url重写)

    1
    2
    wget http://blog.s135.com/soft/linux/nginx_php/nginx/nginx-0.8.46.tar.gz
    wget http://blog.s135.com/soft/linux/nginx_php/pcre/pcre-8.10.tar.gz

    3 安装 pcre

    1
    2
    3
    4
    5
    tar zxvf pcre-8.10.tar.gz
    cd pcre-8.10/
    ./configure
    make
    make install

    4 安装 nginx

    1
    2
    3
    4
    5
    tar zxvf nginx-0.8.46.tar.gz
    cd nginx-0.8.46/
    ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module -- with-http_ssl_module
    make
    make install

    5 nginx.conf 配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    user www www;
     
    #最好与 cpu 核数相同
    worker_processes  8;
     
    error_log /usr/local/nginx/logs/nginx_error.log crit;
    pid /usr/local/nginx/nginx.pid;
     
    worker_rlimit_nofile 65535;
     
    events {
        use epoll;
        worker_connections  65535;
    }
    http {
        include mime.types;
        default_type application/octet-stream;
     
        #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;
     
        server {
            listen       80;
            server_name  www.nginxtest.com 192.168.1.177;
            index index.html index.htm index.jsp index.do;
            root /usr/local/nginx/html/myloan;
            #配置Nginx动静分离,定义的静态页面直接从Nginx发布目录读取。
            location ~ .*.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
            {
                root /usr/local/nginx/html/myloan;
                #expires定义用户浏览器缓存的时间为7天,如果静态页面不常更新,可以设置更长,这样可以节省带宽和缓解服务器的压力
                expires      7d;
            }
            #所有jsp、do的动态请求都交给后面的tomcat处理
            location ~ (.jsp)|(.do)$
            {
                #tomcat地址
                proxy_pass http://192.168.1.177:8080;
                proxy_redirect off;
                proxy_set_header HOST $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                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;
            }    
      
            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/access.log  access;
        }
        server 
        {
            listen  80;
            server_name  www.server.nginxtest.com;
      
            location / {
                stub_status on;
                access_log   off;
            }
        }
    }

    6 启动nginx

    1. 重新运行一下:

    1
    /usr/local/nginx/sbin/nginx

    2. 重启nginx:

    1
    /usr/local/nginx/sbin/nginx -s reload

    7 停止nginx

    1:查询nginx主进程号

    1
    ps -ef | grep nginx

    在进程列表里 面找master进程,它的编号就是主进程号了。

    2:发送信号

    从容停止Nginx:

    1
    kill -QUIT 主进程号

    快速停止Nginx:

    1
    kill -TERM 主进程号

    强制停止Nginx:

    1
    pkill -9 nginx
  • 相关阅读:
    电路中的VCC和VDD
    动态数码管 什么是位选 段选
    pytest文档62-内置fixture之request
    pytest文档61-fixture之name参数使用别名
    pytest文档60-pytest.main()的使用
    python笔记49-yaml文件中变量的使用(锚点& 与 引用*)
    python笔记48-面试题:m1={'a':1,'b':2,'c':1} 将同样的value的key集合在list里,输出{1:['a','c'],2:['b']}
    jenkins学习15-Allure报告不用登陆也能给领导看
    python接口自动化35-pyppeteer-install下载没反应,r.html.render() 下载无反应问题解决
    kvm内存优化--KSM
  • 原文地址:https://www.cnblogs.com/fx2008/p/4155315.html
Copyright © 2020-2023  润新知