给一个试用链接:点我~ 点我~
可以在这里看看主题:对对对,就是这~
1.购买域名、服务器
我这边讲的是阿里云的,如果考虑腾讯云或其他可以网上找找,基本都一样的
域名
域名不是必须,但是,如果想要对外分享,给别人看就需要了。没有域名,就是通过ip访问,这种还是避免的好。
阿里云域名注册:呦吼吼~
随便选咯,喜欢的就行。当然,后缀可能被抢走了,顺便一提,越受欢迎的域名越贵。
购买的时候可以选择购买的年限,同时选择域名的持有者。我们在这里选择个人就可以。另外一点, 购买的时候需要首先确保你的阿里云账号已经实名认证。后面会有一个ICP的备案,这个备案需要在实名认证三天之后才能送审。(所以备案就不急啦)
之后可以在域名控制台看到自己的域名。(不用急着关,留着,买完服务器还有用)
服务器
2024弹性计算会场_爆款云服务器每天低至0.27元_金秋云创季-阿里云权益中心
99/年喔,ecs服务器,镜像选择centOS 7.9 64位
其他默认,
之后先重置实例密码
云服务器管理控制台 这里选中你的服务器,点击更多,重置实例密码,然后改就行了
(root改不了)
之后点击远程连接就可以输入密码进入了。点击实例ID/名称,可以看到实力详情,下面有公网IP,记下来。
2.服务器绑定域名
回到域名控制台,点击你的域名后面的解析,添加记录主机记录分别www和@各填一次,记录值填写公网ip(两次都是),之后就是备案了,在备案完成之前,依旧只能通过公网ip访问,完成后就是可以通过域名访问了。
网站备案_ICP备案_备案迁移_App备案_小程序备案_备案-阿里云
按照要求填写,两个表要打印下来再写,然后视频需要露脸并显示到你的表上的域名字样。(不通过一次之后的教训),之后等短信,有一个验证,然后就是送审了。再之后还有给公安审查,那个到时候按着网站来填就行。这里备案就完成了。
3.安装Halo
进入远程连接的服务器。
安装halo有两种方式: 一种是基于ECS上的linux(CentOS)
,另外一种是基于docker
。
这边介绍第一种
输入代码:
1 | sudo yum install java-11-openjdk -y |
安装完成后验证一下
1 | java -version |
如果看到了以下类似内容,那就是成功了
1 | openjdk version "11.0.10" 2021-01-19 LTS |
之后就开始安装Halo
首先创建账号操作
1 | useradd -m halo #新建一个账号 |
创建运行包的目录,我们命名为app
1 | mkdir ~/app && cd ~/app |
把halo的包下到~/app
这个目录当中
1 | wget https://dl.halo.run/release/halo-2.20.0.jar -O halo.jar |
创建工作目录
1 | mkdir ~/.halo2 && cd ~/.halo2 |
创建 Halo 配置文件
1 | vim application.yaml |
按i进入编辑模式
将以下内容复制到 application.yaml
中,根据下面的配置说明进行配置。
1 | server: |
配置完成之后,保存即可。(保存是先点击esc,然后输入:wq
)
测试运行 Halo
1 | cd ~/app && java -Dfile.encoding=UTF-8 -jar halo.jar --spring.config.additional-location=optional:file:$HOME/.halo2/ |
如果没有观察到异常日志,即可尝试访问 Halo
访问地址就是公网ip:运行端口号(上面复制的代码没改的话就是8090)
正常的,就会跳转到初始化页面。
4.部署为持续运行的服务
退出 halo 账户,登录到 root 账户
如果当前就是 root 账户,请略过此步骤。
1 | exit |
创建 halo.service 文件
1 | vim /etc/systemd/system/halo.service |
将以下内容复制到 halo.service
中,根据下面的配置说明进行配置。
1 | [Unit] |
- USER:运行 Halo 的系统用户,如果有按照上方教程创建新的用户来运行 Halo,修改为你创建的用户名称即可。反之请删除
User=USER
。(教程这边是新建的halo,所以就改成了halo,第9行,已经修改)
请确保
/usr/bin/java
是正确无误的。建议将ExecStart
中的命令复制出来运行一下,保证命令有效。
配置完成之后,保存即可。
重新加载 systemd
1 | systemctl daemon-reload |
运行服务
1 | systemctl start halo |
在系统启动时启动服务
1 | systemctl enable halo |
可以查看服务日志检查启动状态
1 | journalctl -n 20 -u halo |
成功
5.设置代理,使用域名访问服务
这里使用宝塔面板
首先登陆我们的ECS的机器,然后执行
1 | yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh |
安装之后,会显示对应的外网访问地址和用户名和密码。然后我们通过显示的外网访问地址,登陆到宝塔面板的web页面当中。但是,如果你之前没有宝塔的账号的话,你还需要注册一下才能登陆。注册完毕之后,再按照上面提到的地址登陆进去,就可以看到相应的管理页面。
进入我们的宝塔面板配置页面之后,点击左侧的安全
,把一些端口打开。
放行端口8090(http)、39000-40000(FTP被动模式端口范围)、22(SSH远程服务)、8888(宝塔Linux面板默认端口)、80(网站默认接口)
安装nginx
软件商店搜索nginx
配置域名以及更新配置
点击 网站->添加站点
完成后站点修改,修改配置文件
首先在根目录下加
1 | upstream halo { |
其中的 8090
为 Halo
的运行端口,请按需修改。
在 server 节点添加:
1 | location / { |
修改 server
节点中的 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
节点:
1 | location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ |
修改 server
节点中的 location ~ .*\.(js|css)?$
节点:
1 | location ~ .*\.(js|css)?$ |
配置完成后,就是等备案过了就可以域名访问了,这之前依旧是只能ip+8090进入,不过可以开始编辑内容了。
在ip:8090/console可以进入后台,建议备案完成前可以把两个给收藏一下,省的忘记。
然后你的博客就可以随便你折腾了
相关设置都可以看官方文档,很简单的。
至于备案完成后的备案号需要放到页面页脚,可以通过后台设置里有代码注入,页脚部分改一改就行了
示例:
1 | <img src="图片地址"><a href="" target="_blank">公网安备号</a> |