nginx相关配置及解释

全局配置:

user  nginx nginx; #运行程序的用户和用户组
pid      /var/run/nginx.pid; #主控进程
load_module /usr/lib64/nginx/modules/ngx_http_geoip_module.so;#加载模块

work进程的数量:通常为当前主机cpu的物理核心数

worker_processes 2;

绑定cpu

worker_cpu_affinity 01 10;

00000001 00000010 00000100 00001000 00010000 00100000 0100000 1000000

指定worker进程的nice值,设定worker进程优先级;[-20,20]

worker_priority -5;

如2w并发,则设置大于2w并发个

worker进程所能够打开的文件数的上线

worker_rlinit_nofile 25000;

错误日志设置位置及级别

error_log /var/log/ngixn/error.log warn;

事件驱动相关的配置

events {
    
    #增加连接数
    worker_connections 1024;

    #指明并发连接请求的处理方法,默认就好,不必单独指定
    #use epoll;

    #处理新的连接请求的方法;on意味着由各worker轮流处理新请求,Off意味着每个新请求的到达都会通知所有的worker进程:默认
    #accept_mutex on

}

各http协议相关公共配置

http {

    include /etc/nginx/conf.d/*.conf; #扩展程序模块化3

    #如果是后端服务器,则这样配置允许内网访问,拒绝外网用户访问;
    allow 192.168.1.0/24;
    deny  all;

虚拟主机配置(可配置多个):
    server {
        #定义监听端口;
        listen 8080;
        #定义主机名;
        server_name _;

        aio            on;
        directio       512;
        output_buffers 1 32k;

    #定义保持连接的超时时长,0表示禁止长连接;默认为75s;
    keepalive_timeout 60;

    #定义一次长连接上所允许请求的资源的最大数量,默认为100;
    keepalive_request 10;

    #向客户端发送响应报文的超时时长
    send_timeout 5;

    #用于接收客户端请求报文的body部分的缓冲区大小;默认为16k;
    client_body_buffer_size 32k;

    #设定用于存储客户端请求报文的body部分的临时存储路径及子目录结构和数量;建议临时存储的路径在固态硬盘上即/var/tmp/client_body
    client_body_temp_path path  /var/tmp/client_body  2 1 1

    #定义主页        
        location /    {
            index index.html;
            root /data/www;
        }
    #location定义的根(root)路径位于是/data/www/images;
        location /images/ {
        root /data/www/;
        }
    #location定义的根(alias)路径位于/data/images下;
        location /images/ {
            alias /data/www/;
            }

        #定义访问控制,需要帐号密码控制
        location /admin/ {
                            alias alias /data/www/;
                        #定义提示名称
                            auth_basic “Admin Area”;
                        #密码存放路径;由httpd-tools提供;
                            auth_basic_user_file /etc/nginx/.ngxpasswd;
                        }

        #                
        location /nginxbasic_status {
                            stub_status;
                        #定义提示
                            auth_basic “Admin Area”;
                        #密码存放路径;由httpd-tools提供;
                            auth_basic_user_file /etc/nginx/.ngxadminpasswd;
                        }

        #定义php文件交由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;
            #fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html/$fastcgi_script_name; //给出文件的真实路径
            include        fastcgi_params;
        }
        #自定义错误页并重定义错误码
        error_page  404              /404.html;
        #error_page 404 = 200  https://www.baidu.com;

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /data/www/html;
        }
    }
}

原创文章,作者:chenbin,如若转载,请注明出处:http://www.178linux.com/74959

(0)
chenbinchenbin
上一篇 2017-05-07 21:09
下一篇 2017-05-07 22:09

相关推荐

  • LAMP+NFS实现双web服务负载均衡

        一、实验拓扑          二、系统环境      1、主机A、主机B、主机C:CentOS 6.5        测试PC:         Windows 7 旗舰…

    Linux干货 2015-07-06
  • 马哥教育网络班21期+第11周课程练习

    1、请描述一次完整的加密通讯过程,结合图示最佳。 Bob先利用单向加密算法提取当前数据的指纹(特征码),再用自己的私钥加密数据指纹并附加于数据尾部,然后利用对称加密将整个文件加密,之后用对方的公钥加密对称加密密钥附加于尾部。 Alice收到数据后,先用自己的私钥解密,得到对称加密密钥,之后用对称加密密钥解密,然后用Bob的公钥解密得到数据指纹,并且验证了Bo…

    Linux干货 2016-09-26
  • shell脚本编程之变量详解

    什么是变量     变量是计算机内存的单元,其中存放的值可以改变。当Shell脚本需要保存一些信息时,如一个文件名或是一个数字,就把它存放在一个变量中。每个变量有一个名字,所以很容易引用它。 使用变量可以保存有用信息,使系统获知用户相关设置,变量也可以用于保存暂时信息。 变量:变量类型 作用:  &…

    Linux干货 2016-08-15
  • 有趣的bash脚本

    1、编写脚本/root/bin/createuser.sh,实现如下功能:使 用一个用户名做为参数,如果指定参数的用户存在,就显示 其存在,否则添加之;显示添加的用户的id号等信息 #!/bin/bash read -p “Please input username: ” n if id $n &> /dev/null;then echo “T…

    Linux干货 2017-08-25
  • Linux的基础文件管理命令

    Linux用于管理文件的一些基本常见的命令如下: ls:  列出指定目录下的清单    -a  显示所有文件包括隐藏文件    -l  显示文件的详细信息    -d  查看目录自身   示例: cat:  可查看指定路径下的文件文本 fi…

    Linux干货 2016-11-06
  • yum报错2

    我的系统是centos 6.8 x86的; 安装pam_mysql时报错如下: [root@Ams ~]# yum install pam_mysql -y Loaded plugins: fastestmirror, refresh-packagekit, security Setting up Install Process Loading mirror…

    Linux干货 2016-08-02