Nginx Proxy Manager (NPM) 是一个基于Nginx的图形化管理工具,可以简化反向代理、SSL证书管理等操作。以下是详细搭建和使用指南:
# Ubuntu/Debian
sudo apt update && sudo apt install -y docker.io docker-compose
# CentOS
sudo yum install -y docker docker-compose
sudo systemctl enable --now docker
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
mkdir -p npm/{data,letsencrypt}
cd npm
docker-compose up -d
http://服务器IP:81
admin@example.com
changeme
# 在docker-compose.yml中添加
lb:
image: 'jc21/nginx-proxy-manager:latest'
depends_on:
- app
environment:
- ENABLE_LOAD_BALANCING=true
在代理主机设置的"Advanced"选项卡中添加:
# 示例:增加客户端最大上传大小
client_max_body_size 100M;
# 示例:自定义缓存设置
proxy_cache_path /tmp/cache levels=1:2 keys_zone=my_cache:10m inactive=60m;
nginx
brotli on;
brotli_comp_level 6;
brotli_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
nginx
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;
nginx
keepalive_timeout 30;
client_header_timeout 10;
client_body_timeout 10;
send_timeout 10;
docker-compose logs app
nginx
worker_processes auto;
events {
worker_connections 1024;
}
# 备份数据和证书
tar -czvf npm_backup.tar.gz ./data ./letsencrypt
# 停止容器
docker-compose down
# 恢复备份
tar -xzvf npm_backup.tar.gz
# 重新启动
docker-compose up -d
通过以上步骤,您可以快速搭建并优化一个高效的Nginx反向代理服务器。Nginx Proxy Manager的图形界面大大简化了Nginx的配置过程,同时保留了Nginx的高性能和灵活性。