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

相关推荐

  • Tomcat 性能优化-1

    <Connector  port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75&…

    Linux干货 2016-09-19
  • N22-妙手 第4天视频课程练习

    一、Globbing文件名通配练习 练习1:显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现任意一位字符的目录 [root@localhost ~]# ls -d /var/l?[[:lower:]] /var/lib  /var/log 练习2:显示/etc目录下,以任意一位数字开头…

    Linux干货 2016-08-22
  • N25-第二周作业

    ①Linux文件管理命令常用方法 Linux常见文件类型 -:files,常规文件 d: directory,目录文件 b: block device,块设备文件 c:character device,字符设备文件 l:symbolic link,符号链接文件 p: pipe,命名管道 s: socket,套接字文件 命令管理工具指南:cp、rm、mv 1.…

    Linux干货 2016-12-13
  • CentOS 7, lamp (php-fpm);(Blog 15)

    要求:
    (1) 三者分离于三台主机;
    (2) 一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress;
    (3) xcache

    2017-12-20
  • NFS实现(双httpd + php-fpm + nfs + mysql 搭建discuz论坛)

    NFS相关介绍一、NFS简介1. NFS(Network File System): NFS是一个文件共享协议, 也是是在类Unix系统中在内核中实现的文件系统。2. 起源: 最早是由SUN公司研发,非常古老,只是实现文件共享,安全控制方面比较简陋。 版本有, NFSv1, NFSv2,NFSv3,NFSv4. v4版开始支持kerber…

    Linux干货 2016-10-19
  • 马哥教育网络班22期+第八周课程练习

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。    网桥:工作在OSI模型的数据链路层,将两个局域网连起来,根据MAC地址来转发帧,可以看作是一个“低层的路由器”(路由器工作在OSI模型的网络层,根据网络地址如IP地址进行转发)。它可以有效地联接两个LAN,使本地通信限制在本网段内,并…

    Linux干货 2016-11-17