欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
Nginx 配置文件整体说明
一个典型的 Nginx 配置文件,整体上由三部分组成:
- 全局块:配置影响 Nginx 全局指令。一般有运行 Nginx 服务器的用户组,Nginx 进程 pid 存放路径,日志存放路径,配置文件引入,允许生成 worker process 数量等。
- events块:配置影响 Nginx 服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。
- http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。
以下是一个典型的 Nginx 配置文件 nginx.conf:
# 全局配置
user www www;
worker_processes 8;
pid /usr/local/nginx/logs/nginx.pid;
worker_rlimit_nofile 65535;
# events块配置
events
{
use epoll;
worker_connections 65535;
}
# http块配置
http
{
include mime.types;
default_type application/octet-stream;
client_header_buffer_size 32k;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 120;
# 负载均衡/反向代理配置
upstream lb.aizws.net {
server 192.168.80.121:80 weight=3;
server 192.168.80.122:80 weight=2;
server 192.168.80.123:80 weight=3;
}
# 虚拟主机的配置
server
{
listen 80;
server_name www.aizws.net aizws.net;
index index.html;
root /data/www/aizws;
# 路由匹配配置1
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 10d;
}
# 路由匹配配置2
location ~ .*.(js|css)?$
{
expires 1h;
}
}
}
其中,虚拟主机 server 段最为复杂,里面可以包含多个虚拟主机配置。以下范例中包含三个虚拟主机:www.aizws.net,static.aizws.net,examples.aizws.net。
http
{
# server1: www.aizws.net
server {
listen 80;
server_name www.aizws.net;
......
}
# server2: static.aizws.net
server {
listen 80;
server_name static.aizws.net;
......
}
# server3: examples.aizws.net
server {
listen 80;
server_name examples.aizws.net;
......
}
}
每一个虚拟主机里面,又可以可以包含多个 location 块。location 块用于配置请求的路由,也就是访问不同路径 Url 的配置信息。
以下范例中,配置了访问网站的图片和js、css文件的不同信息。
server
{
# 路由匹配配置1
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 10d;
}
# 路由匹配配置2
location ~ .*.(js|css)?$
{
expires 1h;
}
}
下一章:Nginx 配置文件详细说明
Nginx 配置文件 nginx.conf 的详细说明:#定义Nginx运行的用户和用户组:user www www; #nginx进程数,建议设置为等于CPU总核心数。worker_processes 8; #进程pid文件:pid /usr/local/nginx/logs/nginx.pid。
AI 中文社