1.基本配置
#配置worker进程运行用户 nobody也是一个linux用户,一般用于启动程序,没有密码user nobody; #配置工作进程数目,根据硬件调整,通常等于CPU数量或者2倍于CPU数量worker_processes 4; #配置全局错误日志及类型,[debug | info | notice | warn | error | crit],默认是errorerror_log logs/error.log; #error_log logs/error.log notice;#error_log logs/error.log info;pid logs/nginx.pid; #配置进程pid文件
2.events配置
#配置工作模式和连接数events { worker_connections 1024; #配置每个worker进程连接数上限,nginx支持的总连接数就等于worker_processes * worker_connections}
3.http配置
3.1 基本配置
http { #配置nginx支持哪些多媒体类型,可以在conf/mime.types查看支持哪些多媒体类型 include mime.types; #默认文件类型 流类型,可以理解为支持任意类型,假如我们引入的mime.types不能解析,就会使用字节流解析 default_type application/octet-stream; #配置日志格式,注意这里的main是一个变量,下面有好几个地方用到了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日志及存放路径,并使用上面定义的main日志格式 #access_log logs/access.log main; sendfile on; #开启高效文件传输模式,项目上线后开启 #tcp_nopush on; #防止网络阻塞,项目上线后开启 #keepalive_timeout 0; keepalive_timeout 65; #长连接超时时间,单位是秒 #gzip on; #开启gzip压缩输出,上线后打开,这个是对传输文件进行了压缩,就像我们使用的js.min一样}
3.2 server配置
#配置虚拟主机server { listen 80; #配置监听端口 server_name 112.74.110.26; #配置服务名 #charset koi8-r; #配置字符集 #access_log logs/host.access.log main; #配置本虚拟主机的访问日志 #/在url中代表着 112.74.110.26:80,在linux磁盘中代表着root,/opt/nginx/html #也就是说访问112.74.110.26:80就是访问/opt/nginx/html location / { #html 是默认的nginx目录:/opt/nginx/htm root html; #配置首页文件的名称 index index.html index.htm; } #error_page 404 /404.html; #配置404页面 # redirect server error pages to the static page /50x.html #error_page 500 502 503 504 /50x.html; #配置50x错误页面 #精确匹配 location = /50x.html { root html; } #PHP 脚本请求全部转发到Apache处理 # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} #PHP 脚本请求全部转发到FastCGI处理 # pass the PHP scripts to FastCGI server listening on 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; # include fastcgi_params; #} #禁止访问 .htaccess 文件 # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #}}
4.不常用配置
0.0.0.0:80表示监听所有网络中对80端口的连接[::0]:80 ipv6版监听所有网络的80端口