• Linux环境下安装Nginx及其使用


    参考:https://www.jb51.net/article/136161.htm

    一、查看CentOS的版本

    cat /etc/redhat-release

    二、添加资源库

    在 CentOS 系统上安装 Nginx ,得先去添加一个资源库:

    vim /etc/yum.repos.d/nginx.repo
      [nginx]
      name=nginx repo
      baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
      gpgcheck=0
      enabled=1

    三、安装nginx

    yum -y install nginx

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    四、测试nginx配置文件是否正确

    nginx -t

    打印如下:

    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful

    五、CentOS7.0+ nginx实现停止、启动、重启

    systemctl stop nginx.service  
    systemctl start nginx.service
    systemctl restart nginx.service
    systemctl status nginx.service

    开机自启:

    systemctl enable nginx.service

    取消开机自启:

    systemctl disable nginx.service

    六、nginx.conf配置示例

    我的配置:

    user nginx;
    worker_processes 4;
     
    error_log /var/log/nginx/error.log warn;
    pid    /var/run/nginx.pid;
     
     
    events {
      worker_connections 1024;
    }
     
     
    http {
      include    /etc/nginx/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 /var/log/nginx/access.log main;
     
      sendfile    on;
      #tcp_nopush   on;
     
      keepalive_timeout 65;
     
      #gzip on;
     
      include /etc/nginx/conf.d/*.conf;
     
      #设定负载均衡的服务器列表
      upstream pay_server {
        ip_hash;
        server 10.74.248.01:8088 max_fails=2 fail_timeout=2;
        server 10.74.248.02:8088 max_fails=2 fail_timeout=2;
      }
     
      upstream print_server {
        ip_hash;
        server 10.74.248.03:2001 max_fails=2 fail_timeout=2;
        server 10.74.248.04:2001 max_fails=2 fail_timeout=2;
      }
     
      upstream accss_door_server {
        ip_hash;
        server 10.74.248.05:2002 max_fails=2 fail_timeout=2;
        server 10.74.248.06:2002 max_fails=2 fail_timeout=2;
      }
       
      server {
        listen 80;
        server_name wab.kupu.ccoop.com.cn;
        location /invengo {
             proxy_pass http://pay_server;
             index index.jsp index.html index.htm;
        }
        location /invengo/epc {
             proxy_pass http://print_server;
             index index.jsp index.html index.htm;
        }
        location /invengo/print {
             proxy_pass http://print_server;
             index index.jsp index.html index.htm;
        }
     
        location /checkout {
             proxy_pass http://accss_door_server;
             index index.jsp index.html index.htm;
        }
        location /asset {
             proxy_pass http://accss_door_server;
             index index.jsp index.html index.htm;
        }
      }

    常用的nginx.conf配置:

    user www www;
    worker_processes 2;
    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 2048;
    }
    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;
     # gzip压缩功能设置
      gzip on;
      gzip_min_length 1k;
      gzip_buffers  4 16k;
      gzip_http_version 1.0;
      gzip_comp_level 6;
      gzip_types text/html text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;
      gzip_vary on;
      
     # http_proxy 设置
      client_max_body_size  10m;
      client_body_buffer_size  128k;
      proxy_connect_timeout  75;
      proxy_send_timeout  75;
      proxy_read_timeout  75;
      proxy_buffer_size  4k;
      proxy_buffers  4 32k;
      proxy_busy_buffers_size  64k;
      proxy_temp_file_write_size 64k;
      proxy_temp_path  /usr/local/nginx/proxy_temp 1 2;
     # 设定负载均衡后台服务器列表 
      upstream backend { 
           #ip_hash; 
           server  192.168.10.100:8080 max_fails=2 fail_timeout=30s ; 
           server  192.168.10.101:8080 max_fails=2 fail_timeout=30s ; 
      }
     # 很重要的虚拟主机配置
      server {
        listen    80;
        server_name itoatest.example.com;
        root  /apps/oaapp;
        charset utf-8;
        access_log logs/host.access.log main;
        #对 / 所有做负载均衡+反向代理
        location / {
          root  /apps/oaapp;
          index index.jsp index.html index.htm;
          proxy_pass    http://backend; 
          proxy_redirect off;
          # 后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr; 
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
           
        }
        #静态文件,nginx自己处理,不去backend请求tomcat
        location ~* /download/ { 
          root /apps/oa/fs; 
           
        }
        location ~ .*.(gif|jpg|jpeg|bmp|png|ico|txt|js|css)$  
        {  
          root /apps/oaapp;  
          expires   7d; 
        }
        location /nginx_status {
          stub_status on;
          access_log off;
          allow 192.168.10.0/24;
          deny all;
        }
        location ~ ^/(WEB-INF)/ {  
          deny all;  
        }
        #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;
        }
      }
     ## 其它虚拟主机,server 指令开始
    }
  • 相关阅读:
    开始学习
    C# Excel批注“哪种开发语言最好”
    [LeetCode] Longest Substring Without Repeating Characters
    (Android 即时通讯) [悬赏],不管是谁发现一个漏洞奖励人民币1000元!
    10进制转16进制
    【2】按照Django官网,创建一个web app 创建app/创建相应的数据库表
    HTML5新特性之WebSocket
    Drupal 7模板(主题钩子)的建议
    检測磁盘驱动的健康程度SMART
    BZOJ2527: [Poi2011]Meteors
  • 原文地址:https://www.cnblogs.com/souphm/p/11107977.html
Copyright © 2020-2023  润新知