nginx 常用配置

Nginx 是一个功能强大的 Web 服务器,能够用于各种场景。以下是 Nginx 的一些常见配置案例:

反向代理

反向代理是 Nginx 最常用的功能之一。反向代理可以将 HTTP 请求转发到后端的服务器,从而实现负载均衡、缓存等功能。

以下是一个简单的反向代理配置示例:

1
2
3
4
5
6
7
8
server {
listen 80;
server_name example.com;

location / {
proxy_pass http://backend-server;
}
}

在这个配置中,Nginx 监听 80 端口,并将所有 HTTP 请求转发到后端的服务器 backend-server

负载均衡

Nginx 可以通过反向代理实现负载均衡。在反向代理配置中,可以通过 proxy_pass 指令指定多个后端服务器,从而实现负载均衡。

以下是一个简单的负载均衡配置示例:

1
2
3
4
5
6
7
8
server {
listen 80;
server_name example.com;

location / {
proxy_pass http://backend-server1,http://backend-server2;
}
}

在这个配置中,Nginx 将 HTTP 请求均匀地分发到后端的两个服务器 backend-server1backend-server2

缓存

Nginx 可以通过缓存来提高网站的性能。在 Nginx 配置中,可以通过 proxy_cache 指令指定缓存的配置信息。

以下是一个简单的缓存配置示例:

1
2
3
4
5
6
7
8
9
10
server {
listen 80;
server_name example.com;

location / {
proxy_pass http://backend-server;
proxy_cache cache;
proxy_cache_valid 200 302 301 304 3600;
}
}

在这个配置中,Nginx 将 HTTP 响应 200、302、301、304 和 3600 秒内未过期的响应缓存起来。

静态文件服务

Nginx 可以用于静态文件服务。在 Nginx 配置中,可以通过 location 指令指定静态文件的存放路径。

以下是一个简单的静态文件服务配置示例:

1
2
3
4
5
6
7
8
server {
listen 80;
server_name example.com;

location /static/ {
root /var/www/example.com/static;
}
}

在这个配置中,Nginx 将静态文件存放在 /var/www/example.com/static 目录下。

高可用

Nginx 可以通过配置多个服务器来实现高可用。在 Nginx 配置中,可以通过 upstream 指令指定多个服务器组。

以下是一个简单的高可用配置示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
upstream backend {
server backend-server1;
server backend-server2;
}

server {
listen 80;
server_name example.com;

location / {
proxy_pass http://backend;
}
}

在这个配置中,Nginx 将 HTTP 请求转发到 backend 组中的任意一个服务器。

其他配置

Nginx 还提供了许多其他的配置选项,用于实现各种功能。以下是一些常见的配置选项:

  • server_name:指定服务器的域名或 IP 地址。
  • listen:指定服务器监听的端口。
  • root:指定静态文件的存放路径。
  • index:指定默认的首页文件。
  • error_page:指定错误页面。
  • access_log:指定访问日志的存放路径。

Nginx 的配置非常灵活,可以根据需要进行调整。