• Nginx安装配置详解


    http://nginx.org/download/ 下载对应的Nginx 

    安装nginx之前需要安装依赖包

    yum install gcc gcc-c++ zlib-devel pcre-devel openssl-devel openssl-libs

    cd /usr/local/src

    我下载的是最新稳定版本  nginx-1.8.0.tar.gz

    下载下来后解压

    tar -zxvf nginx-1.8.0.tar.gz 

    文件夹下就有个nginx的文件夹

    cd  nginx-1.8.0

    ./configu              --配置安装nginx的路径

    make                   --编译

    make install        --安装

    安装成功之后记得 在cd /usr/local/nginx/sbin   ./nginx启动

    ./nginx -s reload 重启nginx

    ./nginx -s stop   停掉

    配置   vi /usr/local/nginx/conf/nginx.conf

    #user nobody;
    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 {
      accept_mutex on; #设置网路连接序列化,防止惊群现象发生,默认为on
      multi_accept on; #设置一个进程是否同时接受多个网络连接,默认为off
      worker_connections 1024;#最大连接数
    }
     
     
    http {
      include    mime.types;#文件扩展名与文件类型映射表,此映射表主要用于部署在本nginx上的静态资源
      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;
     
      #反向代理
     
      #【配置1】此配置是[配置4]和[配置5]的结合
      #此配置将请求转发到两个WEB服务器,根据客户端IP分配目标主机,同时按权重分配流量
      upstream app1 {
        ip_hash;
        server 192.168.14.132:8080 weight=5;
        server 192.168.14.133:80 weight=3;
      }
     
      #【配置2】
      #默认负载平衡配置,nginx应用HTTP负载平衡来分发请求。
      #upstream app1 {
      #  server 192.168.14.132:8080;
      #  server 192.168.14.133:80;
      #}
     
      #【配置3】
      #最小连接负载平衡配置,nginx将尽量不使用繁忙的服务器,而是将新请求分发给不太忙的服务器。
      #upstream app1 {
      #  least_conn;
      #  server 192.168.14.132:8080;
      #  server 192.168.14.133:80;
      #}
     
      #【配置4】
      #会话持久性配置,使用ip-hash,客户端的IP地址用作散列密钥,
      #以确定应为客户端请求选择服务器组中的哪个服务器。
      #此方法确保来自同一客户端的请求将始终定向到同一服务器,除非此服务器不可用。
      #upstream app1 {
      #  ip_hash;
      #  server 192.168.14.132:8080;
      #  server 192.168.14.133:80;
      #}
     
      #【配置5】
      #加权负载平衡配置,通过使用服务器权重进一步影响nginx负载平衡算法。
      #未配置权重的服务器,意味着所有指定的服务器被视为对特定负载平衡方法同等资格。
      #upstream app1 {
      #  ip_hash;
      #  server 192.168.14.132:8080 weight=3;
      #  server 192.168.14.133:80 weight=2;
      #  server 192.168.14.134:80;
      #  server 192.168.14.135:80;
      #}
     
     
      server {#可配置多个server以监听不同IP和不同端口
        listen    80;#监听的端口
        server_name localhost;#监听的服务器
     
        #charset koi8-r;
     
        #access_log logs/host.access.log main;
     
        #反斜杆代表所有连接,此配置目的是将所有连接交给名为app1的upstream代理,实现负载平衡
        location / {
          proxy_pass http://app1;
        }
     
        #图片文件路径,一般来说,静态文件会部署在本机以加快响应速度
        #可配置多个这样的location,满足各种需求
        location ~.(gif|jpg|png)$ {
          root /home/root/images;
        }
     
        location ~.(iso|zip|txt|doc|docx)$ {
          root /home/root/files;
        }
     
     
        #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;
        }
     
     
        # FastCGI是CGI全称是“公共网关接口”(Common Gateway Interface)
        #对于我来说,使用Tomcat代替即可,请忽略此配置。
        #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;
        #}
     
        # 添加黑名单,禁止某某访问特定文件
        # 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
    cd /usr/local/nginx/sbin      ./nginx -s reload
    如果重启之后访问不了nginx服务器的话  
    查看是否是防火墙没有开启端口
    firewall-cmd --list-port  查看端口
    firewall-cmd --add-port=xx(端口)/tcp --permanent    如:firewall-cmd --add-port=80/tcp --permanent
    加完端口之后要重启防火墙
    systemctl reload firewalld.service
    再次查看是否能访问nginx服务器
     
     
  • 相关阅读:
    C++模板元编程(二)
    C++模板元编程(一)
    interpret_cast
    Bresenham算法
    Windows中编译Lua源码
    MathJax基础教程与快速参考
    散列表
    Bash脚本实例
    Bash基础
    【iOS】重读《精通Objective-C》(一)
  • 原文地址:https://www.cnblogs.com/lanqingzhou/p/8067878.html
Copyright © 2020-2023  润新知