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

相关推荐

  • 有趣的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
  • mysql配置详解-备份-主从-MHA

    目录: 1.备份和恢复 2.主从复制 3.主主复制 4.半同步复制 5.proxysql_读写分离 6.MHA 1.备份和恢复 ·mysqldump 备份: mysqldump -E -R –triggers –master-data=2 –flush-logs –single-transaction –dat…

    Linux干货 2017-08-08
  • ifconfig命令学习

    ifconfig命令 网络配置 ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。 语法 ifconfig(参数) 参数 add<地址>:设置网络设备IPv6的ip地址; del&lt…

    Linux干货 2017-07-02
  • 马哥教育21期网络班—第12周课程+练习—-LAMP练习中

    为第4题中的第2个虚拟主机提供https服务,使得用户可以通过https安全的访问此web站点; (1)要求使用证书认证,证书中要求使用的国家(CN)、州(HA)、城市(ZZ)和组织(MageEdu); (2)设置部门为Ops,主机名为www2.stuX.com,邮件为admin@stuX.com; [ root@centos CA]# …

    Linux干货 2016-09-26
  • 8-1作业

    1、创建testuser uid 1234,主组:bin,辅助组:root,ftp,shell:/bin/csh home:/testdir/testuser [root@localhost ~]# useradd -u 1234 -g bin -G root,ftp …

    Linux干货 2016-08-03
  • N22—第五周作业

    1、显示当前系统上root、fedora或user1用户的默认shell; [root@localhost ~]# grep -E "^(root|fedora|user1)"  /etc/passwd |cut -d : -f 1,7 root:/bin/bash fedora:/bin/bash user1:/bin/bas…

    Linux干货 2016-09-11