前言
空窗期太久了在家里,太久没接触项目了 想搞一个博客相关的项目看看,并且以后能在这里记录自己的一些日志,包括但不限于随心记、技术分享、各种心得等。
本来是想找一个开源的,VUE+JAVA的,但是找着找着就找到了一个一键部署的开源项目--halo 感觉挺方便的,也挺好看的,就试着自己搞搞看。
安装过程
1.虚拟机的安装
习惯性还是用linux部署项目,但是电脑是win的,然后印象里是有centos的虚拟机的,但是打开后发现没有,于是重新下载一个centos7(虚拟机使用的是VM16 安装过程不再赘述)。
用的是阿里云的镜像网站,因为是用VM安装,所以直接选择下载ISO文件,但是不知道为什么ISO直接下载也很慢(大概几百K/s),所以下载了torrent文件,然后使用迅雷下载(我以为everything是指安装了很多工具的,结果发现也是啥也没有,只是系统对应的软件安装起来了,所有用到的东西还是要自己安装)。
下载后用VM选择该镜像文件创建对应虚拟机(安装过程不赘述)
2.centos对应工具安装
想先看一下对应的ip地址 结果发现没有ifconfig命令。。。于是先安装ifconfig命令
2.1 ifconfig命令安装
yum -y install net-tools
但是会发现yum命令也报错 于是先解决yum命令报错的问题
2.2 yum命令报错处理
报错内容类似下图 如果不是这种类型的报错就不适用了
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"
问题原因 镜像网站还是原来的网站,现在网站迁移了,使用旧版地址会访问不到
#进入对应目录 修改文件
cd /etc/yum.repos.d
cp CentOS-Base.repo CentOS-Base.repo.backup
#修改文件内容
vi CentOS-Base.repo
文件内容修改为
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
#baseurl=http://vault.centos.org/7.9.2009/x86_64/os/
baseurl=http://vault.centos.org/7.9.2009/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
#baseurl=http://vault.centos.org/7.9.2009/x86_64/os/
baseurl=http://vault.centos.org/7.9.2009/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#$baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
#baseurl=http://vault.centos.org/7.9.2009/x86_64/os/
baseurl=http://vault.centos.org/7.9.2009/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
#baseurl=http://vault.centos.org/7.9.2009/x86_64/os/
baseurl=http://vault.centos.org/7.9.2009/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
这里建议直接使用XShell XManage修改 比较方便
修改完成后清除缓存
sudo yum clean all
sudo yum makecache
#添加镜像 二选一即可
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
#查看文件是否修改
cat CentOS-Base.repo
#可以再清除一下缓存
sudo yum clean all
sudo yum makecache
结束 然后回到2.1 安装ifconfig
2.3 安装jre23 因为halo仅支持jre17及以上 而且虚拟机上也没有java8所以直接安装jre23
官网地址 https://www.oracle.com/java/technologies/downloads/
然后放到虚拟机上 安装 (参考文章)https://blog.csdn.net/qinshengfei/article/details/136810122
#根据自己的路径下载 比如在根目录下就直接
sudo yum y install /jdk-23_linux-x64_bin.rpm
#安装完成后查看是否完成
java -version
#弹出版本号即视为完成
3 halo部署
(官网地址)docs.halo.run/category/%e…
halo官方提供了docker、1panel、jar、离线等7种部署方式,最方便的应该是docker部署,但这里看到Jar感觉比较亲切 于是使用Jar方式安装
3.1 halo Jar配置文件
(官方文档)docs.halo.run/getting-sta…
文档其实写的比较清楚了 但是这里就对数据库再进行一下说明
将yaml文件放置在jar包相同目录下,然后修改yaml文件
url改成你的数据库地址,我是在实体机上已经有mysql了 所以直接把url username改成实体机的mysql即可
3.2 启动jar包
然后通过nohup 后台启动jar包
nohup java -Dfile.encoding=UTF-8 -jar halo.jar --spring.config.additional-location=optional:file:$HOME/.halo2/ &
官方文档有别的后台启动方式 但是这里直接使用nohup感觉比较简单
查看启动是否成功以及输出
tail -100f nohup.out
3.3 数据库出错修改
参考文章:blog.csdn.net/mazaiting/a…
因为我是虚拟机访问的主机数据库,所以这里可能会有一个问题
远程连接Q提示:Host 'xxx' is not allowed to connect to this MySQL server。是mysql末开启mysql远程访问权限导致
#在mysql中输入(选择mysql表)
mysql> update user set host ='%' where user ='root';
#刷新缓存
mysql> FLUSH PRIVILEGES;
最后 项目启动成功
4 查看项目
ip+地址查看项目
nice!