一、简介
Nginx-Proxy-Manager 是一个基于 Web 的 Nginx 服务器管理工具,它允许用户通过浏览器界面轻松地管理和监控 Nginx 服务器。通过 Nginx-Proxy-Manager,可以获得受信任的 SSL 证书,并通过单独的配置、自定义和入侵保护来管理多个代理。用户还可以查看服务器的状态、配置、日志以及流量等信息,还可以对服务器进行一键重启、停止等操作。
二、特征
-
可视化界面:Nginx-Proxy-Manager 提供了一个直观的 Web 界面,用户可以通过浏览器轻松地查看和管理 Nginx 服务器。
-
实时监控:Nginx-Proxy-Manager 可以实时监控服务器的状态和性能,包括 CPU 使用率、内存使用情况、网络流量等。
-
配置文件管理:用户可以在 Nginx-Proxy-Manager 中编辑 Nginx 的配置文件,支持语法高亮和自动补全功能。
-
一键重启/停止:用户可以在 Nginx-Proxy-Manager 中一键重启或停止 Nginx 服务器,无需手动操作命令行。
-
日志管理:Nginx-Proxy-Manager 可以查看和分析 Nginx 的访问日志、错误日志等,帮助用户诊断问题。
三、安装
3.1 系统要求
sudo apt-get update
sudo apt-get install -y python3 python3-pip postgresql libpq-dev g++ make build-essential libpcre3 libpcre3-dev zlib1g-dev openssl libssl-dev wget curl unzip
3.2.2 克隆项目:
git clone https://github.com/francescoferrari/nginx_proxy_manager.git
cd nginx_proxy_manager
python manage.py db init
python manage.py db migrate
python manage.py db upgrade
3.2.4 创建超级用户:
python manage.py createsuperuser --username=admin --email=admin@example.com --password=mysecretpassword
python manage.py collectstatic --noinput --settings=settings_local
python manage.py runserver 0.0.0.0:81 &> /dev/null & # 在后台运行 Django,便于调试时访问管理界面
3.2.6 配置 Nginx:
编辑 /etc/nginx/sites-available/default,将 proxy_set_header X-Forwarded-Host $host; 这一行注释掉,然后重启 Nginx:
sudo service nginx restart # 或者使用 systemctl restart nginx
在安装nginx–proxy-manager前需要提前安装好docker和docker–compose并保证80 81 443端口未被占用
名称 | 地址 |
docker安装文档 | Get Docker | Docker Docs |
docker–compose 安装文档 | Overview of installing Docker Compose | Docker Docs |
3.3.1 在服务器中创nginx–proxy-manager目录
mkdir nginx-proxy-manager
3.3.2 进入到nginx-proxy-manager目录中
cd nginx-proxy-manager
3.3.3 在nginx-proxy-manager目录中创建docker–compose.yaml文件
nano docker-compose.yaml
nginx-proxy-manager/docker-compose.yaml内容为:
version: "3"
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:
DB_MYSQL_HOST: "db"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "npm"
DB_MYSQL_PASSWORD: "npm"
DB_MYSQL_NAME: "npm"
# Uncomment this if IPv6 is not enabled on your host
# DISABLE_IPV6: 'true'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
depends_on:
- db
db:
image: 'jc21/mariadb-aria:latest'
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- ./data/mysql:/var/lib/mysql
docker-compose up -d
Email: admin@example.com
Password: changeme
四、使用
4.1 访问管理界面
在浏览器中输入 http://your_server_ip:81,使用创建的超级用户账号或默认账号登录
注意:这样申请证书比较麻烦,需要一个一个的去申请,那么可以通过申请通配符证书(泛域名证书)来解决这个问题
同意服务:
NPM还支持自定义服务器的默认Web页面。点击“设置”->“默认站点”并选择“编辑”。您可以选择“404 Page”、“重定向”或“自定义页面”。
原文地址:https://blog.csdn.net/ljy413988585/article/details/133738033
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_8417.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!