1.效果展示
对于开发来说,工具还是挺齐全的
2.搭建环境
- 服务器:橙子这边用的Racknerd的高性价比服务器,美国洛杉矶的DC02机房的机子
- 系统:Ubuntu 20.4 (也可以用Debian)
- 安装好 Docker、Docker-compose
- 【非必需但建议】域名一枚,并做好解析到服务器上
- 【非必需】提前安装好宝塔面板,海外版本 aapanel,并安装好 Nginx环境
- 【非必需本教程选用】安装好 Nginx Proxy Manager
3.搭建过程
docker run -d --name it-tools --restart unless-stopped -p 18080:80 qingfeng2336/it-tools:latest
18080也可以换成其他未被占用的端口
查看端口是否被占用(以 8080 为例),输入:
lsof -i:8080 #查看 8080 端口是否被占用,如果被占用,重新自定义一个端口
COPY
如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了~
如果出现:
-bash: lsof: command not found
COPY
运行:
apt install lsof #安装 lsof
COPY
如果端口没有被占用(被占用了就修改一下端口,比如改成 8381,注意 docker 命令行里和防火墙都要改)
理论上我们就可以输入 http://ip:18080 访问了。
但是这边我们必须先搞一下反向代理!
做反向代理前,你需要一个域名!
如果想要长期使用,还是建议买 com 后缀的域名,更加正规一些
我们接着往下看!
4. 反向代理
4.1 利用 Nginx Proxy Manager
在添加反向代理之前,确保你已经完成了域名解析,登陆 Nginx Proxy Manager(不会的看这个:安装 Nginx Proxy Manager)添加反向代理,按下面的操作
注意:
Nginx Proxy Manager(以下简称 NPM)会用到 80、443 端口,所以本机不能占用(比如原来就有 Nginx),这里的端口因为我们映射的是18080,所以输入18080
如果 Nginx Proxy Manager 和 it-tools 在同一台服务器上,可以在终端输入:
ip addr show docker0
COPY
查看对应的 Docker 容器内部 IP,就不用填服务器ip了。
4.2 利用宝塔面板
发现还是有不少小伙伴习惯用宝塔面板,这边也贴一个宝塔面板的反代配置:
直接新建一个站点,不要数据库,不要 php,纯静态即可。
然后打开下面的配置,修改 Nginx 的配置。
代码如下:
location / {
proxy_pass http://127.0.0.1:8090/; # 注意改成你实际使用的端口
rewrite ^/(.*)$ /$1 break;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade-Insecure-Requests 1;
proxy_set_header X-Forwarded-Proto https;
}
COPY
此方法对 90% 的反向代理都能生效,然后就可以用域名来安装访问了。
有同学可能会问,为什么不直接用宝塔自带的反向代理功能。
也可以,不过自己之前遇到过当有多个网站需要反代的时候,出现未知错误的情况
所以后来就不用了,直接用上面的方法来操作了。
最后把你的域名配到你的菜单上,愉快的使用工具箱吧