11月22号更新
安装视频教程
环境要求
- JDK1.8以上。
- Maven3.x。
- 数据库
- MySQL5.5以上
- MariaDB
- 或者直接使用H2Database,免安装。
- Git
- 再次声明,不需要单独安装
Tomcat
之类的 web 容器。
需要注意的是:如果使用一键安装脚本(后面会讲到),那么你只需要安装数据库即可(如果使用MySQL或者MariaDB的话)。如果不使用MySQL或者MariaDB,那么你什么都不需要安装,直接执行脚本即可。
二进制安装(不推荐)
这种方式安装非常简单且快速(但是并不方便升级),你只需要下载安装包上传到服务器上解压运行即可,需要注意的是,运行之前别忘了参考下面的配置修改application.yaml文件。
配置文件详解
server:
port: 8080
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
# H2database 配置
driver-class-name: org.h2.Driver
url: jdbc:h2:file:~/halo/halo
username: admin
password: 123456
# MySql配置
#driver-class-name: com.mysql.jdbc.Driver
#url: jdbc:mysql://127.0.0.1:3306/halodb?characterEncoding=utf8&useSSL=false
#username: root
#password: 123456
h2:
console:
settings:
web-allow-others: true
path: /h2-console
enabled: true
注意:默认使用的是H2Database,如需MySQL,将H2Database相关的配置注释或者删掉,再把MySql的相关配置取消注释即可。
详解:
-
server.port
: 运行程序的端口,默认8080。当然你要修改成6666也行,然后你访问的地址就是localhost:6666
(使用halo-cli部署可以提示输入并修改) -
spring.datasource.type
: 数据源类型,不需要修改。 -
spring.datasource.driver-class-name
: 数据库驱动程序,不需要修改。 -
spring.datasource.url
: 数据库物理文件路径,建议不要修改。默认是*~/halo/halo*。 -
spring.datasource.username
: 数据库用户名,一定要修改,这是可以自定义的(使用halo-cli部署可以提示输入并修改)。 -
spring.datasource.password
: 数据库密码,一定要修改,这也是可以自定义的(使用halo-cli部署可以提示输入并修改)。 -
spring.h2.console.settings.web-allow-others
: 是否启用h2数据库可视化后台。 -
spring.h2.console.path
: h2数据库可视化后台路径,可以自定义。 -
spring.h2.console.enabled:
: 是否启动H2控制台。
如果对h2数据库不熟悉,可以上网搜一下相关信息,非常好的一个嵌入式数据库。
如何运行Halo
- 上传安装包到服务器。
- 解压安装包。
- 修改配置文件(数据库配置)。
- 执行
sh halo.sh start
。
如何升级
- 上传新的安装包到服务器。
- 解压覆盖之前的文件。
- 执行
sh halo.sh restart
。
其他命令
- 启动Halo :
sh halo.sh start
- 停止Halo :
sh halo.sh stop
- 重启Halo :
sh halo.sh restart
- 查看状态 :
sh halo.sh status
发布版本
版本号 | 发布日期 | 下载 |
---|---|---|
0.0.7 | 2018/08/31 | ZIP |
0.0.9 | 2018/10/14 | ZIP |
源码安装
一键安装脚本(方式一)
注意事项
- 如果脚本出现错误,请使用dos2unix转换一下。
- 安装过程中会提示输入一些信息,如运行端口,数据库配置等信息,请知晓。
- 下载依赖过程中可能会比较久,通常在10-15分钟。
执行自动安装脚本
yum install -y wget && wget -O halo-cli.sh https://git.io/fxHqp && bash halo-cli.sh -i
如何运行
耐心等待安装完成之后,执行systemctl start halo
或service halo start
。
如何更新
bash halo-cli.sh -u
systemctl restart halo 或者 service halo restart
如何加入开机自启
systemctl enable halo
自动打包脚本(方式二)
这种安装方式适用于所有Linux发行版,其中,deploy.sh在项目根目录。
注意事项
- 服务器为Linux。
- JDK1.8以上(需要自己配置)。
- Maven3.x(需要自己配置)。
- Git。
拉取源码
git clone https://github.com/ruibaby/halo
#或者
git clone https://gitee.com/babyrui/halo
如何运行
- 进入到源码根目录。
- 修改配置文件,
src/main/resources/application.yaml
,请参考上面的配置文件详解。 - 执行
sh deploy.sh
。
如何更新
- 进入到源码根目录。
- 执行
git pull
。 - 执行
sh deploy.sh
。
Docker部署
# 拉取镜像
docker pull ruibaby/halo
# 运行
docker run -d --name halo -p 8090:8090 -v ~/halo:/root/halo ruibaby/halo
Docker Compose 部署
- 本文链接: https://ryanc.cc/archives/halo-run-with-git-maven
- 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
mysql数据库在哪
@热心网友 什么sql数据库? 脚本?
@RYAN0UP 已经找到了 另外问一下 我在本地打的war 放到服务器tomcat上面 进注册页面哪里 报错404
@热心网友 这样的话我就不知道怎么回事咯,从来没试过在tomcat部署
你好,请问反代后仅输入IP只能跳转到安装向导应该怎么设置
你好,反代设置好之后通过IP访问只会跳转到安装向导是什么原因
@.... 缓存吧
你好,我设置为8080为什么不能访问
@羡鱼 建议看看文档和wiki,不能解决的话提issue
你好,一键创建时使用80端口会有影响吗?
@dong 80 端口没有被占用就行
用宝塔管理的CentOS,Nginx不会配置,如果不启用HTTPS还好,启用了一直404,希望作者在教程上面可以贴出Nginx的配置呢。
https://i.loli.net/2018/12/16/5c1646e4bcffd.jpg
@明天 先看看这个视频吧:http://www.bilibili.com/video/av35788047
@RYAN0UP 看了,宝塔也更新了,目标URL总是不可访问,实际在浏览器中是可以访问的,不知道是不是宝塔的BUG
也看了你的旧的部署教程福Nginx配置,还的有点搞不定。
@RYAN0UP 谢谢博主了,真的是宝塔的BUG,更新宝塔后解决问题了。感谢。
挺不错的,哈哈
一直想自己搞博客,从python版移植到php又移植到java,每次移植上线之后,都没有足够的精力维护,几次尝试都是荒废结束,终于找到一个满意的开源项目,功能足够强大,能插件式扩展,又不那么臃肿,真心感谢!
@琴剑飘零 非常感谢你的评价,我自己也在用的,所以是以用户的角度开发的,另外,插件功能没有做哦,在考虑要不要做,毕竟感觉作为一个博客系统已经够用了。
@RYAN0UP 哈哈我表述有误了,我说的插件式扩展,指的只是halo可以自己开发上传主题,现在的halo对于博客来说就够用了,超赞~
正好要用上, 收藏了
不错不错,学习了哈。。