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

相关推荐

  • 磁盘分区管理

    进行磁盘分区之前首先要了解什么是磁盘分区:         磁盘分区是在磁盘上划分几个逻辑部分,盘片一旦划分成数个分区,不同类的目录与文件可以存储进不同的分区。越多分区,也就有更多不同的地方,可以将文件的性质区分得更细,按照更为细分的性质,存储在不同的地方以管理文件;但太多分区就…

    2017-08-21
  • 用户和组及批量创建

    用户和组       操作系统都有用户和组,windows,linux等等,用户和组用来做什么呢?       用户,是我们进入系统时的凭证,不是每一个人想进就进的。你想吧,如果操作系统没有用户就能登录进系统,那这就带来了许许多多的安全隐患了。而组则是为了方便管理用户的一个组容器。 &nb…

    系统运维 2016-08-04
  • 新建用户的全​程解析

     新建用户的全程解析: 1,编辑passwd文件,添加newuser用户一行  nano /etc/passwd  newuser:x:2000:2000:NEWUSER:/home/newuser:/bin/bash  2,编辑group文件,添加newuser组一行 &nbs…

    系统运维 2016-08-05
  • Linux网络管理之网络配置管理和子网划分

    配置网卡信息 获取网卡的信息 dmesg | grep -i eth 获取网卡芯片信息 lspci | grep -i eth 查询IP信息 ifconfig显示IP信息    -a:显示包括未激活状态的网卡信息 重启网卡服务(每次配置完ip需要手动重启此服务) CentOS6: servcie network restart CentO…

    Linux干货 2016-09-07
  • 编译内核——制作最适合自己系统的内核

    编译内核: ·程序包的编译安装:         ./configure ,make ,make install ·前提:开发环境(开发工具、开发库),头文件:/usr/include ·开源:源代码–>可执行格式    &nbsp…

    Linux干货 2016-09-11
  • CentOS6 ELK实现

    1 简介 我们来介绍Centos6.5基于SSL密码认证部署ELK(Elasticsearch 1.4.4+Logstash 1.4.2+kibana3),同时为大家介绍如何集合如上组件来收集日志,本章的日志收集主要为大家介绍SYSTEM日志收集. 集中化日志收集主要应用场景是在同一个窗口临时性或永久性鉴定分析系统,应用等各类日志,对用户提供极大便…

    Linux干货 2017-05-17