惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
G
Google Developers Blog
有赞技术团队
有赞技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Blog — PlanetScale
Blog — PlanetScale
罗磊的独立博客
博客园 - 聂微东
V
Visual Studio Blog
博客园_首页
D
DataBreaches.Net
腾讯CDC
I
InfoQ
F
Fortinet All Blogs
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 【当耐特】
Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
云风的 BLOG
云风的 BLOG
月光博客
月光博客
Recent Announcements
Recent Announcements
MongoDB | Blog
MongoDB | Blog
C
Check Point Blog

我心向阳 - ubuntu

ubuntu2604 尝鲜 Linux Mint 快速上手 阿里云ECS部署免费SSL证书 阿里云 ubuntu 用 docker compose 部署 halo
阿里云 ubuntu 用 docker 快速部署 halo
ymz316 · 2024-03-09 · via 我心向阳 - ubuntu

Halo 是一个强大易用的开源建站工具,部署非常简单。下面以阿里云 ECS 服务器的 ubuntu 镜像 + apache2 为例,通过 Docker 来部署一个 Halo 个人网站。

apt install docker.io

二、下载 Halo 镜像

docker pull halohub/halo:2.13

三、新建并启动 halo 容器

run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.13
  • -it:开启输入功能并连接伪终端
  • -d:后台运行容器
  • --name:为容器指定一个名称halo
  • -p:端口映射,格式为 主机(宿主)端口:容器端口 ,可在 application.yaml 配置。这里使用8090端口
  • -v:工作目录映射。形式为:-v 宿主机路径:/root/.halo2,后者不能修改。
这条命令默认使用自带的 H2 Database 数据库,主要用于体验和测试,官方不推荐在生产环境中使用 H2 数据库,这可能因为操作不当导致数据文件损坏。若使用其他数据库,需要通过 docker-compose 来部署。

四、添加反向代理服务

我用的是 apache2,就用它为例操作:

1.启用反向代理模块

a2enmod proxy
a2enmod proxy_http

2.配置反向代理

我准备的域名是 halo.hollowman.cn,接下来是在 /etc/apache2/site-aviables/ 目录下新建一个 halo.conf 文件,内容如下:

<VirtualHost *:80>
ServerName halo.hollowman.cn
        ServerAdmin webmaster@localhost
        ProxyPass / http://localhost:8090/
        ProxyPassReverse / http://localhost:8090/

        ErrorLog ${APACHE_LOG_DIR}/error.log    
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

别忘了启用该配置文件:

a2ensite /etc/apache2/site-aviables/halo.conf

3.重启 apache2 服务

systemctl restart apache2

五、初始化和使用 Halo

在浏览器输入:halo.hollowman.cn/console 即可初始化Halo个人网站了,登陆一次后台完成初始化。界面如下:
halo_admin.webp

然后在浏览器输入 halo.hollowman.cn 即可正常浏览网页。界面如下:
Halo_home.webp