博客名(Halo博客搭建)
Halo项目地址:https://github.com/ruibaby/halo
快速部署
一条命令即可启动,完全没有上手难度。
多主题
完备的主题系统,支持在线下载和在线更新,并提供 9 款主题可供选择(主题开发文档正在开发中)。
拓展性
提供 Content Api 和 Admin Api。你可以用于开发单页面应用,微信小程序,桌面端管理软件,管理 APP(已有)等。
附件管理
支持本地上传,又拍云/七牛云/阿里云/SM.MS 等存储服务。
评论管理
拥有独立的评论插件,使用 Vue 开发,只需在页面引入构建好的 JS 文件即可,完美地和主题相结合。
APP
拥有使用 Flutter 开发的管理端 APP,支持 Android 和 iOS,随时随地发表你的想法。
最近重新搭建了一下博客系统,使用的是Halo博客系统,现将搭建过程和配置Https的步骤记录一下。
- 服务器提供商使用的是腾讯云
- 域名购买是在阿里云
- Https证书是在腾讯云申请
- 服务器系统安装的是CentOS 7.4 64位
- 此处使用的是【服务器快速部署】
一、安装Halo
1、安装Halo
在终端输入以下命令进行安装,安装过程中的设置都走默认即可
yum install -y wget && wget -O halo-cli.sh https://git.io/fxHqp && bash halo-cli.sh -i
2、启动Halo
在终端输入以下命令即可启动Halo
systemctl start halo
在终端输入以下命令即可将Halo程序加入开机自启
systemctl enable halo
3、修改端口(可选)
修改 /www/wwwroot/halo/resources 下的application.yaml文件的port字段值,然后执行下面命令重启Halo即可。(此处我修改为了6666)
systemctl restart halo
4、配置Halo
输入服务器ip加端口即可开始配置Halo,如果已经设置了域名解析,也可以直接访问域名加端口访问。
二、配置Https
Https证书在腾讯云或者阿里云ssl证书区免费申请即可
1、安装nginx
在终端输入以下命令即可安装nginx
yum install nginx
在终端输入以下命令即可启动nginx
systemctl start nginx
在终端输入以下命令即可将nginx加入开机自启
systemctl enable nginx
2、修改nginx配置文件
nginx配置文件目录/ect/nginx/nginx.conf,记得把证书的文件放到指定的目录
参考下面两段配置即可(/usr/local/nginx/)。
server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { proxy_pass http://127.0.0.1:6666/; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } rewrite ^(.*) https://$host$1 permanent; } server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name 127.0.0.1:6666; root /usr/share/nginx/html; ssl_certificate "/usr/local/nginx/conf/1_juemuren4449.com_bundle.crt"; ssl_certificate_key "/usr/local/nginx/conf/2_juemuren4449.com.key"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { proxy_pass http://127.0.0.1:6666/; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
几点说明
- 修改配置之后要重启nginx或者重新加载配置文件
- rewrite ^(.*) https://
- 1 permanent;是强制跳转http到https
- ssl_certificate和ssl_certificate_key对应的是证书文件的目录
- 如果使用浏览器访问https地址后仍然提示不安全,请检查是否有图片或其他资源文件是非https