在开始安装前,请确保您已经阅读了写在前面。
是否需要包括所有依赖项的完整分步安装指南? 查看 基于Centos7.6 的详细安装说明。
目前运行 Halo 的最低依赖要求为 JRE,请务必确保在进行下面操作之前已经正确安装了 JRE。
检查 JRE 版本:
java -version
如果正确输出了 JRE 的版本,那么请继续进行下面的操作。此文档不会包含 JRE 的具体安装方式。
我们不推荐直接使用系统 root 用户来运行 Halo。如果您需要直接使用 root 用户,请跳过这一步。
创建一个名为 halo 的用户(名字可以随意)
useradd -m halo
给予 sudo 权限
usermod -aG wheel halo
为 halo 用户创建密码
passwd halo
登录到 halo 用户
su - halo
这里以
~/app
为例
mkdir ~/app && cd ~/app
wget https://dl.halo.run/release/halo-1.4.2.jar -O halo.jar
mkdir ~/.halo && cd ~/.halo
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
vim application.yaml
cd ~/app && java -jar halo.jar
run.halo.app.listener.StartedListener : Halo started at http://127.0.0.1:8090
run.halo.app.listener.StartedListener : Halo admin started at http://127.0.0.1:8090/admin
run.halo.app.listener.StartedListener : Halo has started successfully!
http://ip:端口号
即可开始进入安装引导界面。如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过
http://ip:端口号
的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。
如果当前就是 root 账户,请略过此步骤。
su root
wget https://dl.halo.run/config/halo.service -O /etc/systemd/system/halo.service
vim /etc/systemd/system/halo.service
/home/halo/app/halo.jar
。User=USER
。[Unit]
Description=Halo Service
Documentation=https://halo.run
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=USER
ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar YOUR_JAR_PATH
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslog
StandError=inherit
[Install]
WantedBy=multi-user.target
请确保
/usr/bin/java
是正确无误的。建议将ExecStart
中的命令复制出来运行一下,保证命令有效。
systemctl daemon-reload
systemctl start halo
systemctl enable halo
您可以查看服务日志检查启动状态
journalctl -n 20 -u halo
你可以在下面的反向代理软件中任选一项,我们假设你已经安装好了其中一项,并对其基本操作有一定了解。
upstream halo {
server 127.0.0.1:7890;
}
server {
listen 80;
listen [::]:80;
server_name youdomain.com;
client_max_body_size 1024m;
location / {
proxy_pass http://halo;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
https://www.youdomain.com {
gzip
tls your@email.com
proxy / localhost:8090 {
transparent
}
}
www.youdomain.com
encode gzip
reverse_proxy 127.0.0.1:8090
以上配置都可以在 https://github.com/halo-dev/halo-common 找到。