Halo博客的搭建 2024-03-08 默认分类,服务搭建 暂无评论 72 次阅读 # Halo博客的搭建 ## 1. 博客的选择 通过搜索,本人寻找到了几款博客方案,有WordPres、Halo等等,我试用了第一个WordPress搭建,发现它确实功能比较丰富,提供的插件呀,许多扩展也比较多,我试用了一下,感觉还是不错的。但是我在做反向代理(用的Caddy),不知道为什么,反向代理一直不ok。所以我尝试使用了Halo,然后Halo配置成功了。如果之后我把WordPress搭建成功了,并且用起来比较顺手,看情况,我也会出一个WordPress的搭建视频。 ## 2.准备工作 - VPS(已装Docker、Docker-Compose) - 域名(可有可无,如果希望更加安全,而且博客想供别人访问,建议购买) - CloudFlare账号 ## 3. 搭建开始 ### 3.1 登录VPS后台 使用ssh连接工具登录VPS后台,作者本人使用Tabby。 ### 3.2 创建进入安装目录 ```bash mkdir /root/data/docker_data/halo cd /root/data/docker_data/halo ``` ### 3.3 创建docker-compose.yml ``` vim docker-compose.yml ``` 把下面内容粘进去即可(yml文件参考于:https://blog.laoda.de/archives/docker-compose-install-halo-version-2/) ```bash version: "3" services: halo: image: halohub/halo:2.12 # 2.12为最新版本,后面版本好想要哪个版本直接修改指定即可 container_name: halo restart: on-failure:3 depends_on: halodb: condition: service_healthy networks: halo_network: volumes: - ./:/root/.halo2 ports: - "8080:8090" command: - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo - --spring.r2dbc.username=root # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 - --spring.r2dbc.password=Aw*HkwbC3u%p5a - --spring.sql.init.platform=mysql # 外部访问地址,根据自己的域名和端口进行修改。 # 我的域名为word.plfish.top # 我的端口号根据前面ports写的是8080,根据自己VPS实际情况进行修改,选择未被使用的端口号 - --halo.external-url=http://word.plcatfish.top:8080/ # 初始化的超级管理员用户名,请自己定义,后面发现12版本初始化的时候实在页面填写,这里好像没用上,不过不影响安装 - --halo.security.initializer.superadminusername=admin # 初始化的超级管理员密码,请自己定义,后面发现12版本初始化的时候实在页面填写,这里好像没用上,不过不影响安装 - --halo.security.initializer.superadminpassword=P@88w0rd halodb: image: mysql:8.0.31 container_name: halodb restart: on-failure:3 networks: halo_network: command: - --default-authentication-plugin=mysql_native_password - --character-set-server=utf8mb4 - --collation-server=utf8mb4_general_ci - --explicit_defaults_for_timestamp=true volumes: - ./mysql:/var/lib/mysql - ./mysqlBackup:/data/mysqlBackup ports: - "3306" healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] interval: 3s retries: 5 start_period: 30s environment: # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 - MYSQL_ROOT_PASSWORD=Aw*HkwbC3u%p5a - MYSQL_DATABASE=halo networks: halo_network: ``` ### 3.4 运行启动docker-compose.yml ```bash docker-compose up -d ``` ### 3.5 进入浏览器查看 输入**ip:端口**进行访问 ![image-20240208224617254](https://cdn.jsdelivr.net/gh/plfish199/picx-images-hosting/Halo博客的搭建/image-20240208224617254.4y8isnkp9cc0.webp) 点击下面的登录按钮进入博客的后台 ![image-20240209095902327](https://cdn.jsdelivr.net/gh/plfish199/picx-images-hosting/Halo博客的搭建/image-20240209095902327.107vkslgswds.webp) 第一次进入,输入你之前再docker-compose.yml文件里面设定的用户名和密码,即可登录后台。这是6版本是这样的,12版本的时候是初始化设定用户以及密码。 ![image-20240209100122018](https://cdn.jsdelivr.net/gh/plfish199/picx-images-hosting/Halo博客的搭建/image-20240209100122018.3klslee7oji0.webp) ![image-20240209100143986](https://cdn.jsdelivr.net/gh/plfish199/picx-images-hosting/Halo博客的搭建/image-20240209100143986.5lxpno1gmz40.webp) 如果仅仅只是想搭建并且简单使用,不进行对外宣传,这个项目就算是搭建成功了,直接使用ip:端口访问。 但是如果想对外发布宣传,分享出去,建议做反向代理,也就是域名访问的方式。 ### 3.6 反向代理 这次我换一个反向代理软件,这次使用的是Nginx Proxy Manager(以下简称NPM)。搭建教程参考网上,或者看我之后有没有时间单独做一下教程。使用其他的反代软件也是可以的。具体参考网络。 #### 3.6.1 将域名解析到对应NPM的服务器上(此处省略,之前有讲) #### 3.6.2 登录NPM的后台 输入对应设置的Email(邮箱)和password(密码) ![image-20240208230147664](https://cdn.jsdelivr.net/gh/plfish199/picx-images-hosting/Halo博客的搭建/image-20240208230147664.304shf3dgte0.webp) 先点击hosts,再点击下面的proxy hosts ![image-20240208230352471](https://cdn.jsdelivr.net/gh/plfish199/picx-images-hosting/Halo博客的搭建/image-20240208230352471.2di3lntwz82s.webp) 点击Add Proxy Host ![image-20240208230519116](https://cdn.jsdelivr.net/gh/plfish199/picx-images-hosting/Halo博客的搭建/image-20240208230519116.sg8m8pj74gg.webp) #### 3.6.3 添加反向代理设置 ![image-20240208231004784](https://cdn.jsdelivr.net/gh/plfish199/picx-images-hosting/Halo博客的搭建/image-20240208231004784.3r2d6olhgt40.webp) ![image-20240208231027809](https://cdn.jsdelivr.net/gh/plfish199/picx-images-hosting/Halo博客的搭建/image-20240208231027809.5f4jcdyfomw0.webp) ![image-20240208231108980](https://cdn.jsdelivr.net/gh/plfish199/picx-images-hosting/Halo博客的搭建/image-20240208231108980.2eys0nwg4874.webp) 最后点击保存即可,稍微等一会,用域名进行访问。 打赏: 微信, 支付宝 标签: VPS 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。