和岁岁
和岁岁
发布于 2022-10-08 / 199 阅读
1
1

Hello Halo,哈喽 Halo

居然有不需要数据库还有后台发布页面的博客程序,早该用上了唉。
感谢 Mila 的帮忙,让程序顺利运行,感觉需要把这个过程记录下来。
(算是第一篇技术文章么?

准备

提前准备一个域名,提前将域名的解析地址修改到CloudFlare(因为生效延迟会比较长)。
在CloudFlare中,将域名绑定到 VPS 的 IP 上(这个可以之后再做)。
还需要准备一个 VPS,服务运行在 Docker 里,所以什么系统都没关系。
不过以root身份登录很重要,因为在这里碰壁了挺久,此处感谢小超人帮忙解决 Debian 不能默认 root 登录的问题。

我们开始!

1.安装 Docker↓

先用小超人之前说的命令安装 Docker,粘贴回车即可↓

curl -fsSL get.docker.com | bash

2.安装 Docker Compose↓

sudo curl -L "https://github.com/docker/compose/releases/download/v2.11.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

这是Docker Compose 2.11.2 版本,因为版本在更新,安装的时候要把数字改成当前的最新版。
最新版的地址在这儿:Github:Docker Compose ,只需修改数字为Latest标签前面的数字即可。

下载成功后,将执行权限赋予给刚下载的文件↓

sudo chmod +x /usr/local/bin/docker-compose

创建一个软链接↓

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

测试一下有没有安装成功↓

docker-compose version

如果成功了,会显示像这样的版本号↓

cker-compose version 2.11.2, build xxxxxxx

这样Docker Compose就安装好了。


安装 Halo

官方文档说得十分详细:Halo:官方文档
我用的是 Docker 安装:
1.先创建一个 Halo 的工作目录并导航到这个目录里↓

mkdir ~/.halo && cd ~/.halo

2.下载配置文件到所在的目录↓

wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml

3.(可选)修改这个配置文件,比如修改端口、数据库账户之类的配置,可以不改↓

vim application.yaml

4.拉取镜像↓

docker pull halohub/halo

5.创建容器↓

docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo --restart=unless-stopped halohub/halo

6.等几十秒,看看能不能访问↓

浏览器输入 IP:端口号,默认端口号是 8090。

接着正常的初始化安装即可。


3.安装Nginx Proxy Manager

先在任意位置创建一个文件夹,比如说叫↓

npm  然后cd导航到这个文件夹里面。

创建一个叫docker-compose.yml的文件,根据 Mila 的文件,内容是这么写的↓

version: "3"
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      # These ports are in format <host-port>:<container-port>
      - '80:80' # Public HTTP Port
      - '443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port
      # Add any other Stream port you want to expose
      # - '21:21' # FTP
    environment:
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "npm"
      DB_MYSQL_NAME: "npm"
      # Uncomment this if IPv6 is not enabled on your host
      # DISABLE_IPV6: 'true'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - db

  db:
    image: 'jc21/mariadb-aria:latest'
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: 'npm'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'npm'
    volumes:
      - ./data/mysql:/var/lib/mysql

保存之后执行这个文件↓:

docker-compose up -d 

让进度条再跑一会儿,就可以用 IP:81访问了。
默认的用户名和密码是:

[email protected]

changeme

登录之后会提示修改,修改成一个靠谱的邮箱,毕竟之后要用这个邮箱签证书的。
这样Nginx Proxy Manager就安装好了。


4.绑定域名和 NPM的用法

1.登录域名商的后台,将域名的解析修改到CloudFlare。

嗯,登录,然后修改就行,修改好了可能需要等一段时间。

2.在CloudFlare中,将域名绑定到 IP 上。

嗯,登录,然后添加 A 数值就行,分子域名添加,每个子域名添加一次,全都指向 VPS 的 IP。

3.登陆Nginx Proxy Manager后台开始设置↓
先签域名的证书,点主页上的SSL Certificates,然后这样点↓
image
添加一张证书,按照图上的设置好↓
image-1665286618803

添加成功之后回到首页,点击 Hosts↓
iShot_2022-10-09_11.12.03

信息这样填↓
image-1665286999982
这样就可以愉快的访问了。
点击自己所设置的博客子域名,就能看到 Halo 的初始页:

Hello Halo

如果你看到了这一篇文章,那么证明你已经安装成功了,感谢使用 Halo 进行创作,希望能够使用愉快。

相关链接

在使用过程中,有任何问题都可以通过以上链接找寻答案,或者联系我们。

这是一篇自动生成的文章,请删除这篇文章之后开始你的创作吧!


Alist

容我再装一个 Alist↓

docker run -d --restart=always -v /etc/alist:/opt/alist/data -v /home:/home -p 5244:5244 --name="alist" xhofe/alist:latest

新版本的 Alist 真好看= =


评论