1.基本配置
#配置worker进程运行用户 nobody也是一个linux用户,一般用于启动程序,没有密码
user nobody;
#配置工作进程数目,根据硬件调整,通常等于CPU数量或者2倍于CPU数量
worker_processes 4;
#配置全局错误日志及类型,[debug | info | notice | warn | error | crit],默认是error
error_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端口