Link

centos 安装 NPM

目录

  1. centos 安装 NPM
    1. 概述
    2. 安装
    3. 配置证书
    4. 配置服务

概述

NPM 全称 Nginx Proxy Manager,是一个易用的图形化 Nginx 反向代理管理工具。NPM 支持通过 let’s encrypt 自动获取证书,可以减少证书管理工作。下面尝试部署一个 npm,并做一个简单的负载均衡。

安装

参考文档:https://nginxproxymanager.com/guide/#quick-setup

安装 Docker:

yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum update
yum install -y docker-ce docker-compose-plugin
systemctl enable docker && systemctl start docker

部署 npm:

cd /root/npm
cat >docker-compose.yml <<EOF
version: '3.8'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
# 如果要使用 stream 功能(L4 转发),建议直接使用 host 网络模式,如没这个需求可以只做端口映射
    privileged: true
    network_mode: host
#    ports:
#      - '80:80'
#      - '81:81'
#      - '443:443'
    volumes:
      - /root/npm/data:/data
      - /root/npm/certs:/etc/letsencrypt
EOF

docker compose up -d

验证安装(使用 81 端口登录管理):

image-20231107112809582

默认登录信息如下:

Email:    [email protected]
Password: changeme

配置证书

在下列位置添加证书:

image-20231107114336949

证书写通配符证书,使用 DNS Challenge,服务商使用 Cloudflare(我的 DNS 解析托管给了 Cloudflare):

image-20231107114424052

之后系统会自动申请号证书

image-20231107114533015

配置服务

image-20231107114839639

image-20231107114939724

image-20231107114950123

image-20231107115003460

image-20231107115713036

访问测试:

image-20231107115649403

相应的 NPM 日志:

# cat /root/npm/data/logs/proxy-host-1_access.log
[07/Nov/2023:03:56:40 +0000] - 200 200 - GET https test1.halfcoffee.com "/img/logo.svg" [Client 10.10.52.200] [Length 3752] [Gzip -] [Sent-to 10.10.50.15] "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/119.0" "https://test1.halfcoffee.com/"
[07/Nov/2023:03:56:40 +0000] - 200 200 - GET https test1.halfcoffee.com "/img/favicon.ico" [Client 10.10.52.200] [Length 4286] [Gzip -] [Sent-to 10.10.50.15] "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/119.0" "https://test1.halfcoffee.com/"