注册
首先打开雨云官网
雨云官网网址:https://www.rainyun.com/YZJ_?s=xxx
然后登录/注册雨云(登录/注册建在右上角)
如果没注册就点击下方注册,然后如果显示“正在使用优惠通道注册”就照常输入信息
没有则优惠码填“YZJ”
0.开始之前
需要准备的东西:
服务器 x1
SSH连接工具 x1(可选)
1.准备中
我这里采用雨云的服务器,可以点击这里打开,(也可以搜索雨云官网进行注册,注册时填写以下我的优惠码:YZJ,谢谢了)
打开官网后,我们可以点击右上角的<登陆/注册>打开
然后会出现以下界面
如果你有账号的话可以填写你的用户名/手机号/邮箱进行登录,若没有账号,可以点击下方的按钮进行注册。然后按照提示注册即可(优惠码填写Chack,帮忙一下吧)
登陆后点击云服务器,然后点击购买服务器。(在下面的预安装APP里选择Docker环境最新版,至于系统版本按你的喜好选择)
选择一个心仪的购买就可以了(如果提示余额不足,可以按照提示进行充值)
购买后运行状态是创建中,我们只要等它变成运行中就可以了。
进入后台。买完服务器后可能会有领取积分的提示,先不要领取,否则无法7天无理由退款了。等你确定需求先在领取也不迟
2.安装中
登录终端
然后点击远程连接(VNC)
你也可以使用自己的SSH连接工具进行连接,这里就不举例了
选择第一个
注意:填入密码的时候密码是不显示的。
然后开始安装Docker Compose
下载Docker Compose的最新版本
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
赋予权限
sudo chmod +x /usr/local/bin/docker-compose
验证安装是否成功
docker-compose --version
如果成功的显示了,并且没有任何的报错,那么安装成功,祝贺你QWQ
拉取镜像
声明:以下内容部分来自Halo官方文档 1
创建一个文件夹
mkdir ~/halo && cd ~/halo
成功后创建docker-compose.yaml文件
vim docker-compose.yaml
进入操作界面后,按i键切换至编辑模式。
然后复制代码拉取Halo镜像。
警告:
不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时 备份数据。
本文使用H2数据库,因为查看本文章而使用H2数据库造成的损失,我概不负责!
version: "3" services: halo: image: halohub/halo:2.13 container_name: halo restart: on-failure:3 volumes: - ./halo2:/root/.halo2 ports: - "8090:8090" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] interval: 30s timeout: 5s retries: 5 start_period: 30s command: # 外部访问地址,请根据实际需要修改 - --halo.external-url=http://localhost:8090/
注意:外部访问地址一定要改为<你的服务器公网IP>,不然会无法访问的。
编辑好后,按Esc(键盘左上角那个)然后输入:wq,再Enter回车保存
启动Halo服务
docker-compose up -d
首次启动的时候会拉取镜像,根据你的带宽决定镜像拉取速度。
拉取完后会自动启动容器
实时查看日志:
docker-compose logs -f
然后访问就大功告成了。
格式为http://你的ip:你的端口号,默认是8090
如果你没有使用域名访问的需求,你就可以去研究你的博客了。
拉取管理后台
声明:以下内容部分来自Halo官方文档
首先,我们创建一个文件夹来存放 NPM 的 docker-compose.yml
文件:
mkdir -p ~/data/docker_data/nginxproxymanager # 创建一个 npm 的文件夹 cd ~/data/docker_data/nginxproxymanager # 进入该文件夹 vi docker-compose.yml
在英文状态的输入法下,按下 i
,左下角出现 --INSERT--
后,粘贴填入下面的内容:
version: '3' services: app: image: 'jc21/nginx-proxy-manager:latest' restart: unless-stopped ports: - '80:80' # 不建议修改端口 - '81:81' # 可以把冒号左边的 81 端口修改成你服务器上没有被占用的端口 - '443:443' # 不建议修改端口 volumes: - ./data:/data # 点号表示当前文件夹,冒号左边的意思是在当前文件夹下创建一个 data 目录,用于存放数据,如果不存在的话,会自动创建 - ./letsencrypt:/etc/letsencrypt # 点号表示当前文件夹,冒号左边的意思是在当前文件夹下创建一个 letsencrypt 目录,用于存放证书,如果不存在的话,会自动创建
注意:安装了 NPM 之后,就不需要再安装 Nginx 了,否则会端口冲突(不建议修改 NPM 的 80、443 端口)。如果你的服务器安装了宝塔面板,也可以和 NPM 一起使用,只要你到软件后台把宝塔安装的 Nginx 关闭或者卸载即可。
之后,同样在英文输入法下,按一下 esc
,然后 :wq
保存退出。
启动:
docker-compose up -d # -d 表示后台运行 docker compose up -d # 如果你用的是 docker-compose-plugin 的话,用这条命令
按照我说的安装,那么一般选择第一个docker-compose up -d
就可以了。
不出意外,你可以按照以下格式访问后反向代理管理后台了
http://你的IP:端口号默认81
默认登陆的用户名:admin@example.com
密码:changeme
第一次登陆会提示更改用户名和密码,建议修改一个复杂一点的密码。
然后点击Add Proxy Host
翻译后
看起来都是英文,很复杂,但是其实很简单,我们只要用到其中的几个功能即可,这边稍微解释一下:
Domain Names
:填我们 Halo 网站的域名,首先记得做好 DNS 解析,把域名绑定到我们的服务器的 IP 上Scheme
:默认http
即可,除非你有自签名证书Forward Hostname/IP
:填入服务器的 IP,或者 Docker 容器内部的 IP(如果 NPM 和 Halo 搭建在同一台服务器上的话)Forward Port
:填入 Halo 映射出的端口,这边默认是8090
Cache Assets
:缓存,可以选择打开Block Common Exploits
: 阻止常见的漏洞,可以选择打开Websockets Support
:WS 支持,可以选择打开Access List
: 这个是 NPM 自带的一个限制访问功能,这边我们不管,后续可以自行研究。
域名填写你的域名,如果没有域名,可以在雨云申请免费的二级域名,如果有可以可以直接填写。
雨云二级域名申请
从上到下从左到右的顺序排序
点击总览,然后点击域名服务,输入英文到子域名里(www是禁止的)然后点击主域名,
选择一个你喜欢的,
默认选择雨云产品,然后第四个选择你需要绑定的雨云产品,选择的是ID,可以在服务器管理页查看产品ID。
最后点击立即创建就可以了。
点击SSL
点击申请新的SSL证书。
勾选强制启用SSL。
然后访问
https://你的域名/
这样子就可以了,成功的安装了Halo,祝贺QWQ!
如果你遇到任何关于服务器的问题可以提交工单。