Nginx Proxy Manager (NPM) 是一个基于Nginx的图形化管理工具,它让反向代理的配置变得非常简单直观,无需手动编辑复杂的Nginx配置文件。
# 创建数据目录
mkdir -p ~/nginx-proxy-manager/data
mkdir -p ~/nginx-proxy-manager/letsencrypt
# 使用docker-compose运行
cat > ~/nginx-proxy-manager/docker-compose.yml <<EOF
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
EOF
cd ~/nginx-proxy-manager
docker-compose up -d
# 安装依赖
sudo apt update
sudo apt install -y curl git nginx
# 安装Node.js
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt install -y nodejs
# 安装NPM
git clone https://github.com/jc21/nginx-proxy-manager.git
cd nginx-proxy-manager
npm install
npm run build
npm start
http://服务器IP:81
admin@example.com
changeme
example.com
)http
或 https
如果80或443端口被占用:
# 查看占用端口的进程
sudo netstat -tulnp | grep ':80\|:443'
# 停止相关服务或修改NPM的映射端口
在Advanced配置中添加:
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
对于高流量站点,可以调整Nginx参数:
client_max_body_size 100M;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
/data
目录下的配置文件Nginx Proxy Manager大大简化了Nginx反向代理的配置过程,特别适合不熟悉Nginx配置的用户。通过图形化界面,几分钟内就能完成复杂的代理配置和SSL证书部署,是个人开发者和小型团队的理想选择。