1 购买VPS
前几天腾讯云三周年购买了一台年抛轻量应用服务器。配置2H2G40G,58一年。国内的机子搭建网站需要备案,于是就搭建一些docker应用程序,相当于学习了。
腾讯云可以选择使用docker容器镜像重装系统,使用这个重装系统下面服务端就不需要再安装docker了:
2 搭建过程
2.1 搭建frp服务端
下载docker:
curl -sSL https://get.docker.com/ | sh
下载docker-compose:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
创建frp目录:
sudo -i
mkdir -p /root/data/docker_data/frps
cd /root/data/docker_data/frps
创建docker-compose:
touch frps.ini
vim docker-compose.yml
version: '3.3'
services:
frps:
restart: always
network_mode: host
volumes:
- './frps.ini:/etc/frp/frps.ini'
container_name: frps
image: snowdreamtech/frps
配置 frps.ini
文件:
[common]
#frp 监听端口,与客户端绑定端口
bind_port= 5443
kcp_bind_port = 5443
#dashboard用户名
dashboard_user= zhenxi
#dashboard密码
dashboard_pwd= passwd
#dashboard端口,启动成功后可通过浏览器访问如http://ip:9527
dashboard_port= 9527
#设置客户端token,对应客户端有页需要配置一定要记住,如果客户端不填写你连不上服务端
token = 8ad3d1x429a2d131411
启动frp服务端:
docker-compose up -d
查看docker运行情况:
docker ps
通过IP加端口访问frp:
http://公网IP:9527
记得打开防火墙,放开端口。
直接安装下面的选择即可:
2.2 搭建frp客户端
下载docker:
curl -sSL https://get.docker.com/ | sh
下载docker-compose:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
创建frp客户端文件:
mkdir -p /root/data/docker_data/frpc
cd /root/data/docker_data/frpc
touch frpc.ini
vim docker-compose.yml
编写docker-compose配置文件:
version: '3.3'
services:
frpc:
restart: always
network_mode: host
volumes:
- './frpc.ini:/etc/frp/frpc.ini'
container_name: frpc
image: snowdreamtech/frpc
编写frpc初始化文件:
vim frpc.ini
# frpc.ini
[common]
server_addr = 43.143.174.4 # 更改为服务器IP
server_port = 5443 # 更改为服务端端口
token = 8ad3d1x429a2d131411 # 和服务端的token一致
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 222 # 可更改为内网某个应用程序的访问端口
# 这个自定义,之后再ssh连接的时候要用
remote_port = 6000 # 通过服务器IP访问内网的端口号,也就是通过这个端口来访问内网的端口
[京东至臻链]
type = tcp
local_ip = 127.0.0.1
local_port = 8080
remote_port = 6001
use_encryption = true
use_compression = true
启动frp客户端docker:
docker-compose up -d
frp后台显示:
使用服务器IP+端口访问内网部署的项目:
3 反向代理
3.1 安装 Nginx Proxy Manager
创建一下安装的目录:
sudo -i
mkdir -p /root/data/docker_data/npm
cd /root/data/docker_data/npm
这边我们直接用 docker 的方式安装。
vim docker-compose.yml
英文输入法下,按 i
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80' # 冒号左边可以改成自己服务器未被占用的端口
- '81:81' # 冒号左边可以改成自己服务器未被占用的端口
- '443:443' # 冒号左边可以改成自己服务器未被占用的端口
volumes:
- ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中
- ./letsencrypt:/etc/letsencrypt # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 letsencrypt 文件夹中
按一下 esc
,然后 :wq
保存退出。
3.2 运行并访问 Nginx Proxy Manager
最后:
cd /root/data/docker_data/npm # 来到 dockercompose 文件所在的文件夹下
docker-compose up -d
理论上我们就可以输入 http://ip:81
访问了。
默认登陆名和密码:
Email: admin@example.com
Password: changeme
登录成功之后进行密码更改:
3.3 配置反向代理
先解析域名:
阿里云解析:
Cloudflare解析:
点击Proxy Hosts:
配置反向代理:
申请免费证书:
打开SSL:
这样就可以通过https://域名
来访问了。
4 搭建时遇到的问题
4.1 报错内容
安装后执行docker-compose --version报错
/usr/local/bin/docker-compose: line 1: Not: command not found
4.2 解决办法
Docker-Compose 的Docker文档是错误的。他们忘记在命令中的版本号前面加上“ v ”;因此下载失败。显示文件是空的。
在下载链接中的版本号前加上“ v ”!!!
sudo curl -L "https://github.com/docker/compose/releases/download/v2.1.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
评论