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
下一篇 2017-05-07

相关推荐

  • 基于ssl协议和openssl工具建立私有CA

    前言     要自建CA需先了解openssl工具和ssl协议还有各加密类型     ssl(Secure Socket Layer)安全套接字层当前版本为3.0,浏览器与Web服务器之间的身份认证和加密数据传输,它工作在传输层和各应用层之间,用户可以选择是否使用ssl进行传输,选择ssl协议将调用…

    Linux干货 2015-05-07
  • bash的基础特性之一

    bash的基础特性之一 命令历史:shell进程会保存会话中此前用户使用过的命令; history:命令的用法 history 【-c】【-d #】 【n】或者【文件名】     -c:清空命令历史     -d 【#】:删除指定的命令历史…

    Linux干货 2016-12-18
  • bash的命令执行状态返回值及命令行展开详解

    命令执行状态返回值及命令行展开是bash的2个基本特性,其详细特点及应用如下:   一、命令执行的状态结果:bash通过状态返回值来输出此结果                 成功:0             …

    Linux干货 2016-11-06
  • 关于大型网站技术演进的思考(四):存储的瓶颈(4)

    原文出处: 夏天的森林    如果数据库需要进行水平拆分,这其实是一件很开心的事情,因为它代表公司的业务正在迅猛的增长,对于开发人员而言那就是有不尽的项目可以做,虽然会感觉很忙,但是人过的充实,心里也踏实。 数据库水平拆分简单说来就是先将原数据库里的一张表在做垂直拆分出来放置在单独的数据库和单独的表里后更进一步的把本来是一个整体…

    2015-03-11
  • 8月20日程序包管理

    程序包管理 概述    API:Application Program Interface应用编程接口    ABI:Application Binary Interface应用二进制接口    Unix-like,  …

    Linux干货 2016-08-21
  • linux文件系统上的权限

    文件系统上的权限是指文件系统上的文件和目录的权限,主要针对三类对象进行的(访问者)进行的定义: 针对文件来说 r 使用工具cat nano去看文件里面内容的权限 w 可以修改文件的内容 x 二进制程序以及脚本需要发起系统调用,去启动为一个进程 针对目录来说 r 是否可以查看目录里面的内容 有r权限的话 可以使用ls -l w 对目录里面是否可以创建文件或者目…

    Linux干货 2017-04-01