Halo博客搭建

Halo项目地址:https://github.com/ruibaby/halo

最近重新搭建了一下博客系统,使用的是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://$host$1 permanent;是强制跳转http到https
  • ssl_certificate和ssl_certificate_key对应的是证书文件的目录
  • 如果使用浏览器访问https地址后仍然提示不安全,请检查是否有图片或其他资源文件是非https

你可能感兴趣的:(博客搭建)