• nginx 初级总汇知识点


    内容来源:https://www.coderknock.com/blog/2016/04/28/nginx.conf.html

         https://www.cnblogs.com/zero-zf/p/6907356.html

         http://blog.csdn.net/david_xtd/article/details/16967837

         https://www.cnblogs.com/codingcloud/p/5095066.html   Nginx的启动,停止与重启

    Nginx.config 参数详解:

    #定义Nginx运行的用户和用户组,系统中必须有此用户,可以是nologin
    user www www;
    #启动进程,通常设置成和cpu的数量相等
    worker_processes  1;
    #全局错误日志及PID文件
    error_log  /var/log/nginx/error.log; #错误日志定义等级,[ debug | info | notice | warn | error | crit ]
    pid        /var/run/nginx.pid;
    #一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(系统的值ulimit -n)与nginx进程数相除,但是nginx分配请求并不均匀,所以建议与ulimit -n的值保持一致。
    worker_rlimit_nofile 65535;
    #工作模式及连接数上限
    events {
        use   epoll;             #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能
        worker_connections  1024;#单个后台worker process进程的最大并发链接数 (最大连接数=连接数*进程数)
        # multi_accept on; 
    }
    #设定http服务器,利用它的反向代理功能提供负载均衡支持
    http {
        #设定mime类型,类型由mime.type文件定义
        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;
        #设定日志格式
        access_log    /var/log/nginx/access.log;
        #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,
        #必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.
        sendfile        on;
        #tcp_nopush     on;
        #连接超时时间
        #keepalive_timeout  0;
        keepalive_timeout  65;
        tcp_nodelay        on;
    
        #开启gzip压缩
        gzip  on;
        gzip_disable "MSIE [1-6].(?!.*SV1)";
        #设定请求缓冲
        client_header_buffer_size    1k;
        large_client_header_buffers  4 4k;
        #包含其它配置文件,如自定义的虚拟主机
        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;
    
       #虚拟主机配置
       server {
            #侦听80端口
            listen       80;
            #定义使用www.xx.com访问
            server_name  www.xx.com;
            #设定本虚拟主机的访问日志
            access_log  logs/www.xx.com.access.log  main;
            #默认请求
            location / {
                  root   /root;      #定义服务器的默认网站根目录位置
                  index index.php index.html index.htm;   #定义首页索引文件的名称
                  fastcgi_pass  www.xx.com;
                  fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name; 
                  include /etc/nginx/fastcgi_params;
            }
            # 定义错误提示页面
            error_page   500 502 503 504 /50x.html;  
                location = /50x.html {
                root   /root;
            }
            #静态文件,nginx自己处理
            location ~ ^/(images|javascript|js|css|flash|media|static)/ {
                root /var/www/virtual/htdocs;
                #过期30天,静态文件不怎么更新,过期可以设大一点,如果频繁更新,则可以设置得小一点。
                expires 30d;
            }
            #PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置.
            location ~ .php$ {
                root /root;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME /home/www/www$fastcgi_script_name;
                include fastcgi_params;
            }
            #设定查看Nginx状态的地址
            location /NginxStatus {
                stub_status            on;
                access_log              on;
                auth_basic              "NginxStatus";
                auth_basic_user_file  conf/htpasswd;
            }
            #禁止访问 .htxxx 文件
            location ~ /.ht {
                deny all;
            }
    
         }
    }
    View Code

    简单配置Nginx 只想本地端口,并开启SSL:

    简单配置Nginx 指向本地端口,并开启SSL,
    如果要开启SSL,必须使用域名去申请SSL key,一般是两个文件,一般是要收费的。
    
     
    
    # 在/etc/nginx/nginx.conf 的文件中有下面一句,意思是调用 /etc/nginx/conf.d/
    # 下面的配置文件,加载到主配置文件(nginx.conf)中。
    include /etc/nginx/conf.d/*.conf;
    
    # 到/etc/nginx/conf.d 目录中,创建一个 default.conf文件,加入如下代码
    
    # 配置本地端口
    server {
    listen 80 default_server;
    server_name _;
    
    location / {
    # 增加代理指向本地端口
    proxy_pass http://localhost:3000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
    }
    }
    
    # 开启SSL
    server {
    listen 443 ssl;
    
    # 指定SSL 可访问的网站
    server_name cni.emcoo.com www.cni.emcoo.com;
    ssl_certificate /etc/nginx/ssl/ssl.crt;
    ssl_certificate_key /etc/nginx/ssl/ssl.key;
    
    location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;
    
    # 指定 SSL 指向本地端口
    proxy_pass http://localhost:3000/;
    proxy_redirect off;
    
    # Socket.IO Support
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    }
    }
    View Code

    Nginx 启动:

    sudo nginx -s reload 

         reload 不会重启服务,只是重新加载配置文件(Nginx.conf),实现平滑切换,客户端无感。  

    sudo service nginx restart

         完整的重启Nginx服务

    sudo nginx -c  /xxx/xxx/nginx.conf

         使用 -c 启动时加载指定的config文件

    Nginx 停止:

    sudo nginx -s stop

    nginx中文文档

    nginx安装配置

    时光如白驹过隙,匆匆而已。
  • 相关阅读:
    Reporting Services无法连接ORACLE,提示:System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本
    ORA-12504:tns:监听程序在 CONNECT_DATA中未获得SERVICE_NAME
    指针
    将gridview 的数据导出EXCEL
    SAP 销售订单中采购标识无法修改
    Spring aop 实例(转)
    JVM — 性能调优
    Linux命令(持续更新)
    J.U.C|一文搞懂AQS(转)
    windows下监控和分析java进程
  • 原文地址:https://www.cnblogs.com/yupixiu/p/10319390.html
Copyright © 2020-2023  润新知