Nginx是一个高效、稳定、功能丰富的Web服务器,可以通过简单的配置实现各种需求。
本文以Nginx作为静态网站使用时的配置为例进行记录。
# 指定nginx worker进程运行用户以及用户组,默认由nobody账号运行
user nobody nobody;
# nginx要开启的进程数:每个Nginx进程平均耗费10M~12M内存。根据经验,一般指定一个进程足够了,如果是多核CPU,建议指定和CPU的数量一样的进程数即可
worker_processes 4;
# nginx的进程ID
pid logs/nginx.pid;
# 一个nginx进程进程打开的最多文件描述符(句柄)数目,理论值是最多打开文件数(ulimit -n,ulimit -a看全部限制)与nginx 进程数相除: 修改 /etc/security/limits.conf,设置:root soft nofile 65535 root hard nofile 65535
worker_rlimit_nofile 65535;
events {
# 设定nginx的工作模式及连接数上限
use epoll;
# 每个进程允许的最多连接数, 理论上每台nginx 服务器的最大连接数为worker_processes*worker_connections
worker_connections 65535;
}
http {
include mime.types;
# 设定默认类型为二进制流,也就是当文件类型未定义时使用这种方式,例如在没有配置PHP环境时,nginx是不予解析的,此时,用浏览器访问PHP文件就会出现下载窗口
default_type application/octet-stream;
# 日志输出格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
# 客户端请求头的headerbuffer大小。对于大多