配置 Nginx 的 Keepalive 的过程如下:
1. 打开 Nginx 配置文件
打开 Nginx 配置文件(默认为 /etc/nginx/nginx.conf
)。
2. 配置 keepalive
在 http
段中编辑以下内容以启用 keepalive:
http {
server {
listen 80;
server_name example.com;
# 开启 keepalive
keepalive_timeout 65;
location / {
proxy_pass http://localhost:3000;
}
}
}
在这个示例中,我们使用 keepalive_timeout
指令来启用 keepalive,并将其设置为 65 秒。
3. 重新加载 Nginx
保存配置文件并重新加载 Nginx:
sudo service nginx reload
现在你已经成功地配置了 Nginx 的 keepalive。
以下是两个示例:
示例 1:使用 keepalive 代理到 Node.js 应用程序
这是一个在 Nginx 前面运行的 Node.js 应用程序的示例:
http {
upstream node {
server 127.0.0.1:3000;
keepalive 64;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://node;
}
}
}
在这个示例中,我们使用 upstream
块来定义 Node.js 应用程序的服务器,并使用 keepalive
指令来启用 keepalive,并将其设置为 64 秒。
示例 2:使用 keepalive 代理到 PHP 应用程序
这是一个在 Nginx 前面运行的 PHP 应用程序的示例:
http {
upstream php {
server 127.0.0.1:9000;
keepalive 64;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://php;
proxy_set_header Connection "";
proxy_http_version 1.1;
}
}
}
在这个示例中,我们使用 upstream
块来定义 PHP 应用程序的服务器,并使用 keepalive
指令来启用 keepalive,并将其设置为 64 秒。
另外,我们需要在 location
块中设置 proxy_set_header Connection ""
,这是因为大多数后端服务器会将 keep-alive
从请求头中删除。我们还需要将 proxy_http_version
字段设置为 1.1 版本,以确保 keepalive 能够正常工作。