Nginx proxy manager是一个很简单的反向代理工具。
官网:https://nginxproxymanager.com/
门槛极低,操作简单,不需要你掌握很复杂的Nginx配置知识,只需要几步就能很轻松完成反向代理的设置和SSL证书的部署。
it had to be so easy that a monkey could do it.
开始部署
服务器环境:Centos7.9(Debian 10,Ubuntu 20.04也可以)或以上版本
添加SWAP虚拟内存
注意:VPS的内存如果过小,建议设置一下SWAP,一般为内存的1-1.5倍即可,可以让系统运行更流畅。
设置SWAP可以用的脚本
wget -O box.sh https://raw.githubusercontent.com/BlueSkyXN/SKY-BOX/main/box.sh && chmod +x box.sh && clear && ./box.sh
选择18
,然后输入你想要扩容的数值即可。
安装docker脚本
#!/bin/bash
#基础安装
yum update -y
yum install vim -y
yum install wget -y
# 卸载旧版本
yum remove -y docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
#docker 安装前提 && 关闭防火墙
systemctl disable firewalld
yum install yum-utils device-mapper-persistent-data lvm2 -y
#添加软件源信息
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#更新&&安装
yum makecache fast
yum install epel-release -y
yum install container-selinux -y
yum install docker-ce -y
#开启docker服务
service docker start
#创建配置文件
mkdir -p /etc/docker
#添加镜像地址
cat <<EOF > /etc/docker/daemon.json
{
"registry-mirrors": ["https://xsgbmvdm.mirror.aliyuncs.com"],
"log-driver":"json-file",
"log-opts": {"max-size":"50m", "max-file":"3"},
"insecure-registries":["192.168.0.166"]
}
EOF
#加载daemon.json
systemctl daemon-reload
#设置开机启动,启动docker
systemctl enable docker && systemctl start docker
#安装docker-compose
curl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#添加权限
chmod +x /usr/local/bin/docker-compose
#输出检查
docker ps
docker-compose -version
echo -e "\033[32;1mdocker安装成功\033[0m"
安装docker-compose
curl -L "https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose && ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose && docker-compose --version
安装Nginx Proxy Manager
创建安装的目录
mkdir -p /data/docker_data/nginxproxymanger
cd /data/docker_data/nginxproxymanger
直接用docker的方式安装
vim docker-compose.yml
输入以下内容
原始版本为英文
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80' # 保持默认即可,不建议修改左侧的80
- '81:81' # 冒号左边可以改成自己服务器未被占用的端口
- '443:443' # 保持默认即可,不建议修改左侧的443
volumes:
- ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中
- ./letsencrypt:/etc/letsencrypt # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 letsencrypt 文件夹中
大神修改过的中文版本
version: '3'
services:
app:
image: 'chishin/nginx-proxy-manager-zh:release'
restart: unless-stopped
ports:
- '80:80' # 保持默认即可,不建议修改左侧的80
- '81:81' # 冒号左边可以改成自己服务器未被占用的端口
- '443:443' # 保持默认即可,不建议修改左侧的443
volumes:
- ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中
- ./letsencrypt:/etc/letsencrypt # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 letsencrypt 文件夹中
查看端口是否被占用(以81
为例)
lsof -i:81 #查看 81 端口是否被占用,如果被占用,重新自定义一个端口
如果什么都没出现,表示端口未被占用,我们就可以继续下面的操作了。
如果出现:
-bash: lsof: command not found
运行:
yum install lsof #安装 lsof
然后在重新执行测试。
运行并访问Nginx Proxy Manager
cd /data/docker_data/nginxproxymanger # 来到 dockercompose 文件所在的文件夹下
docker-compose up -d
到这里理论上我们就可以输入http://ip:81
访问了
默认登录名和密码
Email: admin@example.com
Password: changeme
注意:
1.不知道服务器IP,可以直接在命令行输入:
ip a
或者是curl ip.sb
,会显示当前服务器的IP。2.遇到访问不了的情况,请检查防火墙是否打开了对应的端口。
更新Nginx proxy manager
cd /data/docker_data/nginxproxymanger
docker-compose down
cp -r /data/docker_data/nginxproxymanger /data/docker_data/nginxproxymanger.archive # 万事先备份,以防万一
docker-compose pull
docker-compose up -d # 请不要使用 docker-compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。
docker image prune # prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像
卸载Nginx proxy manager
cd /data/docker_data/nginxproxymanger
docker-compose down
rm -rf /data/docker_data/nginxproxymanger # 完全删除映射到本地的数据
可以卸载的很干净
参考链接:
https://blog.laoda.de/archives/nginxproxymanager
评论区