nginx.conf 文件
#设置worker进程执行的用户,指的linux中的用户,会涉及到nginx操作目录或文件的一些权限。
user nobody;
#worker进程工作数设置,一般来说CPU有几个,就设置几个,或者设置为N-1也行
worker_processes 1;
#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]
error_log /usr/local/nginx/logs/error.log info;
#设置nginx进程 pid
pid logs/nginx.pid;
#指定进程可以打开的最大描述符:数目。
worker_rlimit_nofile 204800;
#配置工作模式以及连接数
event {
# 使用的I/O 模型。linux建议epoll,FreeBSD建议采用kqueue,window下不指定。
use epoll;
#每个worker进程的最大连接数量。根据硬件调整,理论上每台nginx服务器的最大连接数为:worker_processes*worker_connections
worker_connections 1024;
}
#HTTP模块相关配置
http {
#包含导入的内容
include mime.types;
#默认的http消息类型
default_type application/octet-stream;
#记录http请求的日志
access_log logs/access.log main;
#日志的格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#是否开启文件的高效传输
sendfile on;
#当sendfile开启时有效,是否支持将数据包累计到一定大小才进行发送,开启有助于提高文件传输性能。
tcp_nopush on;
#客户端链接服务器的超时时间
keepalive_timeout 65;
#是否开启http消息的压缩,有助于缩减带宽开销
gzip on;
#Server集群配置(负载均衡),相当于内网服务器
upstream {
}
# 虚拟主机配置
server {
#监听的端口
listen 80;
#监听的IP或域名 localhost表示本机IP,可以有多个,用空格隔开
server_name localhost;
#编码格式
charset utf-8
# 路由localhost:80/
location / {
# 该路由的请求到何处寻址,如果使用相对路径,则根路径为nginx安装目录,即安装包目录/usr/local/nginx下的html目录
root html;
# alias 用于替代root, 资源本身应在 root + location 路由路径之下,
# 使用alias则脱离与location的关联,location仅用于路由,alias用于资源寻址,显然alias更加直观和简洁
# 首页的静态资源
index index.html index.htm;
}
# 路由localhost:80/test
location /test {
# 使用root时,静态资源应在 root + localtion 目录下
#root /data/web
# 使用alias则脱离与location的关联,location仅用于路由,alias用于资源寻址,显然alias更加直观和简洁。
alias /data/web/test;
index index.html;
}
# 错误时页面寻址
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}