电信天翼云搭建Halo博客

电信天翼云搭建Halo博客

2023年7月17日发(作者:)

电信天翼云搭建Halo博客电信天翼云搭建Halo个⼈博客1.购买服务器学⽣党错过双⼗⼀各⼤云⼚商搞活动,想在趁着年末各⼤云⼚商搞活动租个⼀年的服务器,浏览阿⾥云、腾讯云、百度智能云、华为云、七⽜云、天翼云等各⼤⽹站后,发现电信天翼云年末搞活动,于是决定⼊⼿⼀波天翼云服务器。天翼云主机配置图:从活动页⾯看活动⼒度还是挺⼤的,本着租台服务器既能满⾜搭建博客、⼤数据组件和符合预算的要求就选择了4核8G的服务器。谁能想着⼀时冲动带宽想都没想就选择1M带宽,实际中1Mbit带宽实际速度128KB/S,Bit不是Byte。可谓是主机空有⼀⾝本领⽆奈舞台太⼩,带宽太⼩完全限制了主机的性能。事后也是后悔不已,尝试升级带宽⽆奈升级带宽费⽤远远⾼于搞活动中带宽的费⽤。活动中每多1Mbit带宽也就多20元,要真正发挥主机的性能应该⾄少5Mbit以上。买完服务器⽀付完后,就是拿到主机的IP和密码远程登陆了。天翼云的操作不太⼈性化,找服务器都花了半天。它需要根据你买的服务器所属的不同区域切换到对应的区域才能看到对应的服务器,对于这个多余的设计不太清楚天翼云背后设计的逻辑是什么,这个对⽤户来说实在太⿇烦了。⽽且每次找服务器都需要重新切换到对应的区,不是说你每次重新登陆后它会默认为你经常使⽤服务器的区。⽐如我买的服务器属于南京3区,每次登陆后切换到控制台,这个服务器的区总是默认为兰州2,说实话我很怀疑设计这控制台的哥们⽼家是不兰州的。总的来说,这个设计真的很⿇烦。问过客户经理,回答是怕统⼀操作页⾯导致客户主机太多续费或者开通开错。希望之后改过来吧!控制台界⾯主机信息:⾸次登陆可以点击右下⾓更多,然后点击重置密码。注意的是搞活动的主机天翼云官⽅是不同意退订的,不过可以考虑变配。拿到公⽹IP后,就可以使⽤远程登陆⼯具ssh登陆,⽐如Xshell7、向⽇葵、等⼯具登陆。MobaXterm是⼀款集万千于⼀⾝的免费全能型终端神器,功能⼗分强⼤,内置SFTP、VNC、FTP、FTP等功能。⽤过之后真的⾹。2.安装Docker、从Docker安装Halo、MySQLDocker的安装教程可参考官⽅教程:2.1安装Halo是⼀款由Java开发的现代化的博客/CMS系统,博客满⾜基本的博客功能,并且能够安装不同的主题。搭建个⼈博客有许多种办法,⽐如选择镜像的时候直接选择WordPress镜像、利⽤GitHub搭建Hexo博客。个⼈搭建的初衷就是为了学习Springboot项⽬。安装教程官⽅有⾮常详细的⽂档,这⾥主要还是搬运⼀些过程,并且也记录⼀些碰到的坑。2.1.1创建halo⼯作⽬录mkdir ~/.halo && cd ~/.halo2.1.2下载⽰例⽂件并配置⼯作⽬录wget /config/ -O ./2.1.3编辑并且配置因为官⽅配置⽂件种默认使⽤的是H2数据库,⽽本次使⽤的是MySQL8.0数据库,因⽽需要对yaml⽂件进⾏更改,将Spring的数据源配置成为: port: 8090 # Response data gzip. compression: enabled: falsespring: datasource: # H2 database configuration. #driver-class-name: #url: jdbc:h2:file:~/.halo/db/halo #username: admin #password: 123456 # MySQL database configuration. driver-class-name: url: jdbc:mysql://127.0.0.1:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&autoReconnect=true&failOverReadOnly=false&maxReconnects=10 username: root password: 你的密码 # H2 database console configuration. h2: console: settings: web-allow-others: false path: /h2-console enabled: falsehalo: # Your admin client path is your-domain/{admin-path} admin-path: admin # memory or level cache: memory2.1.4查询和拉去最新的halo版本docker search halo查询halo结果结果:拉去halo版本结果:运⾏之时最⼩版本为halo:1.4.13,写博客当天已经更新到1.4.14。docker pull halohub/halo:1.4.13安装成功后结果如下图所⽰:2.2安装MySQL8.02.2.1 docker拉去MySQL官⽅默认的MySQL需要5.7+以上版本docker pull MySQL:8.02.2.2在本地创建MySQL的映射⽬录mkdir -p /root/mysql/data /root/mysql/logs /root/mysql/conf2.2.3创建MySQL的配置⽂件touch 2.2.4创建容器,将数据、⽇志、配置⽂件、端⼝映射到本地docker run -p 3306:3306 --name mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/logs -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=你的密码 -d mysql:8.02.2.5运⾏MySQLdocker start mysql查看运⾏结果:docker ps

2.2.6进⼊MySQL创建表进⼊MySQLbash指令docker exect -it mysql /bin/bash输⼊密码进⼊MySQL:mysql -uroot -p123456按照官⽅⽂档创建表create database halodb character set utf8mb4 collate utf8mb4_bin;3.从控制台配置安全组协议Halo博客的默认端⼝是8090,要从外部访问需要控制台配置安全组协议,打开Ipv4、Ipv6的8090端⼝,不然外界⽆法访问。从控制台进⼊云主机的配置页⾯:安全组协议配置:注意点:没有备案的话,默认是⽆法访问服务器的80、8080、443端⼝4.安装Halo4.1从docker启动halodocker start halo4.2镜像执⾏结果docke ps -a

执⾏结果:4.3解决办法4.3.1疑问1. 安全组协议配置不对重新配置安全组协议2. halo的配置⽂件不对仔细检查配置⽂件3. 防⽕墙设置不对启动防⽕墙,允许访问端⼝80904. 服务器有问题(可能性少)4.3.2检查⽇志log出错情况:基本确认主要是连接不上数据库所造成的问题,于是按照报错的百度。对于此类错误主要解决办法可参考⼀下连接:1.

2.

按照以上⽅法问题依然没有解决。尝试办法:于是想会不会是因为数据库时间和docker内时间不同步造成了。然后按照⽹上⽅法修改数据库内部和Docker内部的时间为⼀致。重新启动Halo问题已让没有解决,还是报错。和同学讨论得知可能是因为MySQL和Halo同时部署在Docker种,两个容器相互隔离,有可能Halo镜像本⾝就带MySQL数据库,因⽽Halo博客应⽤种设置的数据库连接IP地址设置为127.0.0.1:3306可能⽆法映射到实际主机的数据库,因⽽⽆法连接上数据库。但是从官⽅⽂档中得知Halo本⾝数据是不带有MySQL数据库的,这个需要⾃⼰另外安装。基于这个假设将中的数据地址改为主机的IP地址,同时去天翼云控制台配置安全组协议打开3306端⼝。同时防⽕墙中允许访问3306端⼝(这样可能会有安全风险)。重新启动halo应⽤…docker restart 运⾏⽇志如下:前台页⾯:后台页⾯:进⼊后台页⾯可以根据⾃⼰设置相关的博客主题,同时发布⾃⼰的博客⽂章,博客⽀持markdown⽂件导⼊。博客搭建成功4.4不⾜之处Picgo+gitee做图床对于⼤图⽚⽀持还不是太好年末,备案过于复杂,准备等春节过后再去备案结束对于⽂中出现的不⾜之处,还请⼤佬指正前台页⾯:[外链图⽚转存中…(img-CjckBeYW-07)]后台页⾯:进⼊后台页⾯可以根据⾃⼰设置相关的博客主题,同时发布⾃⼰的博客⽂章,博客⽀持markdown⽂件导⼊。[外链图⽚转存中…(img-2vhGCz5o-08)]博客搭建成功4.4不⾜之处Picgo+gitee做图床对于⼤图⽚⽀持还不是太好年末,备案过于复杂,准备等春节过后再去备案结束对于⽂中出现的不⾜之处,还请⼤佬指正

发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1689566481a266801.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信