nginx配置文件中参数的作用
程序员文章站
2024-02-21 10:36:49
...
####默认的nobody,没有访问目录权限,然后指定有权限的用户
####user nobody;
####一般一个进程足够了,你可以把连接数设得很大。
####如果有SSL、gzip这些比较消耗CPU的工作,而且是多核CPU的话,可以设为和CPU的数量一样。
####或者要处理很多很多的小文件,而且文件总大小比内存大很多的时候,也可以把进程数增加,
####以充分利用IO带宽(主要似乎是IO操作有block)。
worker_processes 1;
####error_log logs/error.log;
####error_log logs/error.log notice;
####error_log logs/error.log info;
####用来存放当前进程的ID号
####pid logs/nginx.pid;
####原来安装好nginx之后,默认最大的并发数为1024,如果你的网站访问量过大,已经远远超过1024这个并发数,那你就要修>改worker_connecions这个值 ,这个值越大,并发数也有就大。当然,你一定要按照你自己的实际情况而定,也不能设置太>大,不能让你的CPU跑满100%。
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
####如果需要日志则把原来的注释取消掉,main表示日志的格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
####access_log logs/access.log main;
####设置为on表示启动高效传输文件的模式。sendfile可以让Nginx在传输文件时直接在磁盘和tcp socket之间传输数据。>如果这个参数不开启,会先在用户空间(Nginx进程空间)申请一个buffer,用read函数把数据从磁盘读到cache,再从cache读取到用户空间的buffer,再用write函数把数据从用户空间的buffer写入到内核的buffer,最后到tcp socket。开启这个参
数后可以让数据不用经过用户buffer。
sendfile on;
####tcp_nopush on;
####keepalive_timeout 0;
keepalive_timeout 65;
####gzip on;
####配置虚拟服务器
server {
####配置端口号
listen 70;
####配置服务器的名称
server_name localhost;
####charset koi8-r;
####access_log logs/host.access.log main;
#### "/":可以理解为是一个相对路径
location / {
####页面的路径
root html;
####当前html路径下的index.html
index index.html;
}
error_page 500 502 503 504 /50x.html;
#### "=":表示精准匹配
location = /50x.html {
root html;
}
####配置日志路径
access_log logs/access.log main;
}
####如果有多个虚拟服务器则配置多个server
server {
listen 18913;
server_name test;
location / {
root test.com;
index index.html;
}
access_log logs/test.com.access.log main;
}
}
下一篇: fastcgi_param 详解