一、简介
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 系统要求
- Ubuntu/Debian: 16.04+
- CentOS/RHEL: 7.0+
- Debian/Ubuntu: Python 3.6+, Django 2.0+, Nginx 1.10+, PostgreSQL 9.6+
3.2 bash安装步调
3.2.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
复制代码 3.2.3 初始化数据库:
- 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
复制代码 3.2.5 安装并设置 Django:
- 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
复制代码 3.3 Docker安装步调
在安装nginx-proxy-manager前需要提前安装好docker和docker-compose并保证80 81 443端口未被占用
名称 | 地点 | docker 安装文档 | https://docs.docker.com/install/ | docker-compose 安装文档 | https://docs.docker.com/compose/install/ | 3.3.1 在服务器中创nginx-proxy-manager目次
- mkdir nginx-proxy-manager
复制代码 3.3.2 进入到nginx-proxy-manager目次中
3.3.3 在nginx-proxy-manager目次中创建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
复制代码 3.3.4 启动nginx-proxy-manager
3.4 默认用户名和密码
- Email: admin@example.com
- Password: changeme
复制代码
四、使用
4.1 访问管理界面
在浏览器中输入 http://your_server_ip:81,使用创建的超级用户账号或默认账号登录
4.2 添加代理主机
4.3 申请证书
注意:这样申请证书比较麻烦,需要一个一个的去申请,那么可以通过申请通配符证书(泛域名证书)来解决这个题目
4.4 申请通配符证书
4.5 自定义页面
NPM还支持自定义服务器的默认Web页面。点击“设置”->“默认站点”并选择“编辑”。您可以选择“404 Page”、“重定向”或“自定义页面”。
五、官网地点
https://nginxproxymanager.com
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |