本文详细介绍了 nginx 常用配置。
修改主配置文件 /etc/nginx/nginx.conf
worker_processes auto;
http {
# 配置首页
index index.php index.htm index.html;
# 引入子配置文件
include /etc/nginx/conf.d/*.conf;
}
# stop 是快速停止 nginx,可能并不保存相关信息,quit 是完整有序的停止 nginx,并保存相关信息
$ nginx -s stop
$ nginx -s quit
# 重新打开日志文件命令
$ nginx -s reopen
# 重新载入配置文件
$ nginx -s reload
server{
location ~ \.php$ {
root /var/www2/www;
fastcgi_pass phpfpm:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
server {
listen 80 default_server;
server_name oschina.net www.oschina.net;
}
listen 指令后面有一个参数 default_server
,这个参数是在 0.8.21 版本以后才有的,而之前是 default 指令。Nginx的虚拟主机是通过 HTTP 请求中的 Host 值来找到对应的虚拟主机配置,如果找不到,那 Nginx 就会将请求送到指定了 default_server
的节点来处理,如果没有指定为 default_server
的话,就跑到 localhost 的节点,如果没有 localhost 的节点,那只好 404 了。
Nginx 默认是不允许列出整个目录的。如需此功能,在配置文件中 server 或 location 段里添加上 autoindex on;
来启用目录浏览。
autoindex on;
#默认为on,显示出文件的确切大小,单位是bytes。改为off后,显示出文件的大概大小,单位是kB或者MB或者GB
autoindex_exact_size off;
#默认为off,显示的文件时间为GMT时间。改为on后,显示的文件时间为文件的服务器时间
autoindex_localtime on;
upstream fzjh {
server 111.206.227.118 weight=2;
server 123.206.62.18;
}
server {
listen 80;
server_name f.khs1994.com;
location / {
proxy_pass http://fzjh;
}
}