moz’s 订阅

moz’s 订阅

Share this post

moz’s 订阅
moz’s 订阅
Nginx-Proxy-Manager 101

Nginx-Proxy-Manager 101

管理nginx的神器

moz's avatar
moz
Mar 04, 2025
∙ Paid

Share this post

moz’s 订阅
moz’s 订阅
Nginx-Proxy-Manager 101
Share

序

一般我们部署一个web site的流程是这样的

启动服务→配置nginx反向代理→配置SSL,如果是多个则在sites_available中创建多个配置配件,然后创建符号连接到sites_enabled目录下。

然后执行nginx -s stop和nginx -s start重启,整个过程繁琐不直观。

于是今天的主角Nginx-Proxy-Manager闪亮登场。

在介绍主角之前,先介绍小配角:vim、docker、docker-compose

  1. vim:编辑器神器

安装:

apt-get update

apt-get install vim

  1. docker:应用部署容器

安装:

apt-get install ca-certificates curl

install -m 0755 -d /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc

chmod a+r /etc/apt/keyrings/docker.asc

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  tee /etc/apt/sources.list.d/docker.list > /dev/null

apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

docker version

链接:https://docs.docker.com/engine/install/debian/

  1. docker-compose:管理多容器的工具

安装:

curl -L "https://github.com/docker/compose/releases/download/v2.18.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

docker-compose —version

一、概念

一个基于 Docker 的可视化管理工具,用于简化对 Nginx 反向代理服务的配置与管理

  1. 安装

// 新建目录 
mkdir -p /opt/nginx-proxy-manager && cd /opt/nginx-proxy-manager
 
// 添加配置文件docker-compose.yml

services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      # These ports are in format <host-port>:<container-port>
      - '80:80' # Public HTTP Port
      - '443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port
      # Add any other Stream port you want to expose
      # - '21:21' # FTP

      # environment:
      # Uncomment this if you want to change the location of
      # the SQLite DB file within the container
      # DB_SQLITE_FILE: "/data/database.sqlite"

      # Uncomment this if IPv6 is not enabled on your host
      # DISABLE_IPV6: 'true'

    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
  1. 启动

docker-compose up -d

  1. 关闭

docker-compose down

  1. 初次登陆

访问http://<服务器IP>:81,

Email:[email protected]

Password:changeme

记得修改密码


二、使用场景

  1. 配置https

  1. 添加反向代理

Keep reading with a 7-day free trial

Subscribe to moz’s 订阅 to keep reading this post and get 7 days of free access to the full post archives.

Already a paid subscriber? Sign in
© 2025 moz
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture

Share