博客halo部署详解
首先在 Linux JRE 11环境部署(有待测试)
CentOS
sudo yum install java-11-openjdk -y
检查版本:
java -version
如果输出以下类似内容即代表成功
openjdk version “11.0.10” 2021-01-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.10+9-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.10+9-LTS, mixed mode, sharing)
Ubuntu
sudo apt-get install openjdk-11-jre -y
检查版本:
java -version
如果输出以下类似内容即代表成功
OpenJDK Runtime Environment (build 11.0.10+9-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.10+9-Ubuntu-0ubuntu1.20.04, mixed mode)
第一步安装宝塔面板这里就废话了
第二步在宝塔应用里安装Docker
开始部署halo
1:创建工作目录
mkdir ~/.halo && cd ~/.halo
2:下载示例配置文件到工作目录
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
3:编辑配置文件,配置数据库或者端口等,如需配置请参考参考配置
vim application.yaml
4:这里我们在【镜像管理】中,需要把Halo镜像拉过来。
方法1:ruibaby/halo
(已测)
方法2:docker pull halohub/halo:latest
5:看到上图,在服务器ssh中输入下面代码创建容器。
方法1:docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo halohub/halo:latest
Select CodeCopy
(已测)或者docker run -d --name halo -p 8090:8090 -v ~/halo:/root/halo ruibaby/halo
方法2:docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo --restart=unless-stopped halohub/halo:latest
代码释义
-it: 开启输入功能并连接伪终端
-d: 后台运行容器
–name: 为容器指定一个名称
-p: 端口映射,格式为 主机(宿主)端口:容器端口 ,可在 application.yaml 配置。
-v: 工作目录映射。形式为:-v 宿主机路径:/root/.halo,后者不能修改。
–restart: 建议设置为 unless-stopped,在 Docker 启动的时候自动启动Halo 容器。
Halo博客配置
1:打开 “ip地址:8090″,然后打开安装向导。
2:绑定域名
1:创建纯静态网站
2:申请及强制SSL
3:方法1,用反向代理
方法2:服务器的当前站点修尽管conf文件配置如下
`server {
listen 80;
server_name bt.laobuluo.com; #换成自己的域名
location / {
rewrite ^/(.*)$ /$1 break;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8090;
}
}`
方法3:打开宝塔网站配置,将配置文件改成下面代码:
`server {
listen 80;
server_name bt.woweiwang.org; #将bt.woweiwang.org修改成自己的域名
location / {
rewrite ^/(.*)$ /$1 break;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8090; #因为Docker将Halo映射到8090端口,所以我们需要转发到8090端口
}
}`