Nginx配置详解

Nginx配置详解

Nginx的主配置文件/etc/nginx/nginx.conf

#运行用户
user www-data; 
#启动进程,通常设置成和cpu的数量相等
worker_processes 4;
#PID文件
pid /run/nginx.pid;

#工作模式及连接数上限
events {
    worker_connections 768; #单个后台worker process进程的最大并发链接数
    # multi_accept on;
}

#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
    #sendfile 实际上是 Linux2.0+以后的推出的一个系统调用,web服务器可以通过调整
    #自身的配置来决定是否利用 sendfile这个系统调用。等到数据包最大时,一次性的传输出去,
    #这样有助于解决网络堵塞,已经是默认了。
    sendfile on;
    #tcp_nopush 会设置调用tcp_cork方法,这个也是默认的,结果就是数据包不会马上传送出去,
    #等到数据包最大时,一次性的传输出去,这样有助于解决网络堵塞。
    tcp_nopush on;
    tcp_nodelay on;
    #连接超时时间
    keepalive_timeout 65;
    #为了快速寻找到相应MIME type,Nginx使用散列表来存储MIME type与文件扩展名。
    types_hash_max_size 2048;
    # server_tokens off;

    # server_names_hash_bucket_size 64;
    # server_name_in_redirect off;

    #设定mime类型,类型由mime.type文件定义
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    #设定日志文件存放位置
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    #开启gzip压缩
    gzip on;
    gzip_disable "msie6";



    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}


主配置文件的最后两行命令,代表引用其他的文件,我们主要来看看/etc/nginx/sites-enabled/default

server {
    #侦听80端口
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;
    
     #定义服务器的默认网站根目录位置
    root /usr/share/nginx/html;
    #定义默认首页索引文件的名称
    index index.html index.htm;

    #定义可以使用http://localhost/访问
    server_name localhost;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;
    }

    #添加fastcgi代理配置
    location /demo.cgi {
        fastcgi_pass 127.0.0.1:8888; #指定要执行的fastcgi ip加端口
        #如果URI以斜线结尾,文件名将追加到URI后面,这个值将存储在变量$fastcgi_script_name
        fastcgi_index main.cgi; 
        include fastcgi_params; #传递fastcgi参数
    }
}

  • location配置语法

语法:location [=|~|~*|^~] /uri/ { ... } 

标识含义
=在精确匹配完成后并不进行额外的搜索。
~*不区分大小写的正则表达式。
~区分大小写的正则表达式。
^~禁止在字符串匹配后检查其他的正则表达式


location  = / {  
  # 只匹配 / 的查询. 
  [ configuration A ]  
}  
 
location ^~ /images/ {  
  # 匹配任何以 /images/ 开始的查询并且停止搜索,不检查正则表达式。
  [ configuration B ]  
}  

location ~* \.(gif|jpg|jpeg)$ {  
  # 匹配任何以.gif, .jpg, or .jpeg结尾的文件,"\."代表转义字符,
  #但是/images/123.gif 的请求将在Configuration B中处理。 
  [ configuration C ]  
}  

location  / {  
  # 匹配任何以 / 开始的查询,但是正则表达式与一些较长的字符串将被首先匹配,
  #例如/images/将被configuration B中处理。
  [ configuration D ]  
} 


配置fastcgi

如果我们需要添加fastcgi配置:

fastcgi_pass 127.0.0.1:8888;指定FastCGI服务器监听端口与地址。

fastcgi_index main.cgi;指明默认cgi文件,通过SCRIPT_FILENAME传递。

fastcgi_params文件,保存于/usr/local/nginx/conf下,为我们的FastCGI模块设置了基本的环境变量。


配置负载均衡服务器群

负载均衡列表基本配置:

•location / {}:对aspx后缀的进行负载均衡请求,假如我们要对所有的aspx后缀的文件进行负载均衡时,可以这样写:location ~ .*.aspx$ {}

•proxy_pass:请求转向自定义的服务器列表,这里我们将请求都转向标识为http://cuitccol.com的负载均衡服务器列表;

•在负载均衡服务器列表的配置中,weight是权重,可以根据机器配置定义权重(如果某台服务器的硬件配置十分好,可以处理更多的请求,那么可以 为其设置一个比较高的weight;而有一台的服务器的硬件配置比较差,那么可以将前一台的weight配置为weight=2,后一台差的配置为 weight=1)。weigth参数表示权值,权值越高被分配到的几率越大;



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值