今天在阅读 GitHub 的时候,我发现了一个用于办理 Nginx 署理服务器的开源工具项目——Nginx Proxy Manager。作为一名后端开发人员,这个项目对我来说无疑是一个十分不错的发现。以往,当咱们布置一些开源工具或者自己编写的小项目和小网站时,都需求手动修正 Nginx 的装备文件。有时候,一些项目不再运用了,咱们又有必要登录服务器,注释掉这些装备,这一进程相当繁琐。而装备免费 SSL 证书更是需求花费不少时间。但有了这个项目之后,这些繁琐的装备工作变得轻松起来。接下来,我将向咱们介绍一下这个项目。
nginx-proxy-manager.jpg
项目简介
该项目作者供给了一个 Docker 镜像,使您可以轻松地将在家中或其他地方运转的网站转发到外部,一起供给免费的 SSL,无需对 Nginx 或 Letsencrypt 有太多了解。以下是该项目作者的初衷:“我创立这个项目是为了满意我个人的需求,为用户供给一种简略的方法来完成带有 SSL 停止的反向署理主机,并且有必要简略到甚至一只猴子都能做到。这个方针从未改动。尽管可能有一些高级选项,但它们是可选的,这个项目应尽可能简略,以下降入门的门槛。”
现在这个项目在github上现已有19.1k 的star
_2024032320550502c67684d86434b5.jpg
项目文档地址: https://nginxproxymanager.com/
github地址:https://github.com/NginxProxyManager/nginx-proxy-manager
项目布置
作者现已在文档中给咱们供给好了docker-compose.yml文档,咱们只需把这个文件复制到咱们的服务器上发动即可:
version: '3.8'
services:
nginx-proxy:
image: 'jc21/nginx-proxy-manager:latest'
restart: always
environment:
- TZ=Asia/Shanghai
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
这个项目其实便是一个nginx外加一个装备的办理后台,其间这三个端口分别是:
- 80: nginx的http署理端口
- 443:nginx的https署理端口
- 81:办理后台web项目的端口
咱们创立好docker-compose.yml文档之后运用以下命令发动:
docker-compose up -d
假如不出啥意味的话咱们这个项目就现已正常发动了
项目运用
- 登录体系
咱们发动好项目之后在阅读器中拜访 http://192.168.10.171:81 ,会出现以下登录页面
_20240323192321.jpg
默许用户名和暗码:
Email: admin@example.com
Password: changeme
- 修正admin信息
登录之后会让咱们修正admin的信息:
_20240323192331.jpg
- 修正默许暗码
修正之后会继续让咱们修正用户的默许暗码:
_20240323192427.jpg
修正完之后咱们就可以运用了
_20240323211422.jpg
- 装备http署理
当然,咱们运用这个项目最大的功能便是nginx装备署理,咱们点击 Hosts–>Proxy Hosts,
_20240323211810.jpg
在以下页面装备咱们的署理:
_20240323212646.jpg
Details
Domain Names : 增加咱们监听的域名或者服务
Scheme/Forward Hostname/IP/Forward Port : 转发到的方针服务地址,
注意:咱们布置的署理服务 要能拜访到咱们转发的方针服务
- Custom locations
假如咱们的服务要根据locations 转发的话在此出装备
SSL
ssl装备
Advanced
假如前边这些不能满意咱们的需求的话可在此处增加自定义装备
- 制止启用署理
咱们某个署理假如想制止或启用署理的话可以直接经过如下操作方便完成。
_20240323213804.jpg
咱们在这儿经过页面装备好之后服务最终会生成一个nginx装备的conf文件,以此来使的咱们的装备生效,装备生成的途径为./data/nginx/proxy_host/*.conf
,咱们生成的装备如下:
其它装备选项家人们可自行尝试,咱们就不再此处演示了。
总结
Nginx Proxy Manager是一款强壮的署理服务器办理工具,供给简略直观的界面来装备和办理Nginx署理服务器,协助用户轻松提高装备的简洁性和快捷性。假如需求杂乱的个性化装备,主张在服务器上经过装备文件进行设置。该项目主要将用户经过可视化界面进行的装备选项最终转化为装备文件供给给nginx运用。