Halo是一个开源的博客系统,有管理后台、评论模块、更换主题等等功能。以及有开源对应的一个微信小程序系统,很好用的。

Halo官方提供的文档:https://halo.run/archives/install-quick-start.html

Halo主题仓库:https://halo.run/p/themes.html

Halo小程序:WeHalo

下面是我自己在建站时的一些总结。

准备项

  • 云服务器一台
  • 域名一个
  • 小程序ID一个(这个后面再说)

服务器可以选择的有阿里云、腾讯云、华为云等等,太多了自己选一个就好。其中阿里云、腾讯云都有活动新注册用户80左右/年(差不多这个价),买的时候最好选择3年的,最划算,否则一年后续费价格就是原价(800~1200),相信我你不想用这个价格续费的。同样的域名最好也是直接买的年数长点,不过域名一般不会太贵(除非你买的域名是热门域名之类的),即使原价也能接受。

如果买的是国内的服务器,域名还需要备案等等,这些我会再出一篇文章来说。

云服务器配置

云服务器从我的使用经验来说,1核2G的基本够用,带宽一般活动的都是1M的,这个不太够,用的时候会很卡(在ssh连接工具上输命令会很卡),不过其实也都还能接受。性价比最高自然是那个2核4G 3M的啦(如果还有的话)。

安装镜像时选择你喜欢的镜像就好,如果选不出来就选择centos吧,版本可以选择8.x的,目前算是最新的了。

安装Halo

这块按照官方文档安装完就完事了。

jar包安装

官方提供的文档:https://halo.run/archives/install-with-linux.html

docker安装

官方提供的文档:https://halo.run/archives/install-with-docker.html

我使用的是docker的方式,所以也给出我的docker启动命令.

  • 启动Halo服务
docker run -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo --network=proxy-net --restart=always ruibaby/halo
  • 启动Nginx服务
docker run -d --name nginx --restart always --network=proxy-net -p 80:80 -p 443:443 -v /usr/local/nginx/nginx.conf:/etc/nginx/nginx.conf:ro -v /usr/local/nginx/cert:/etc/nginx/cert:ro nginx

配置域名访问

官方提供的文档:https://halo.run/archives/install-reverse-proxy.html

我用的是Nginx进行代理,证书使用的就是在域名提供商那里申请的免费证书。

我就直接放上我的nginx配置好了。


user  nginx;
worker_processes  1;error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;events {worker_connections  1024;
}http {include       /etc/nginx/mime.types;default_type  application/octet-stream;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;sendfile        on;#tcp_nopush     on;keepalive_timeout  65;# 开启压缩传输,对网站seo有帮助gzip  on;gzip_min_length  1k;gzip_buffers     16 8k;gzip_http_version 1.1;gzip_comp_level 6;gzip_types       text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php application/javascript application/json;gzip_disable "MSIE [1-6]\.";gzip_vary on;include /etc/nginx/conf.d/*.conf;server {listen   80 default_server;listen   443 default_server;server_name  _; # 禁止IP直接访问服务ssl_certificate cert/yourcrt.crt; #换成你自己nginx证书ssl_certificate_key cert/yourkey.key; #换成你自己的证书密钥ssl_session_timeout 5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;ssl_prefer_server_ciphers on;return 403; # 也可以换成非http code与客户端断开连接,或者重定向到网站首页}server {listen   80;server_name www.hibennett.cn hibennett.cn;return 301 https://$host$request_uri;}server {listen   443 ssl;server_name hibennett.cn;client_max_body_size 1024m;root html;index index.html index.htm;ssl_certificate cert/yourcrt.crt; #换成你自己nginx证书ssl_certificate_key cert/yourcrt.key; #换成你自己的证书密钥ssl_session_timeout 5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;ssl_prefer_server_ciphers on;location / {proxy_pass  http://halo:8090/; # 我这里使用的docker的配置,jar包启动请换成 http://localhost:8090proxy_redirect off;proxy_set_header   Host   $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}server {listen   443 ssl;server_name www.hibennett.cn;client_max_body_size 1024m;root html;index index.html index.htm;ssl_certificate cert/yourcrt.crt; #换成你自己nginx证书ssl_certificate_key cert/yourkey.key; #换成你自己的证书密钥ssl_session_timeout 5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;ssl_prefer_server_ciphers on;location / {proxy_pass  http://halo:8090/; # 我这里使用的docker的配置,jar包启动请换成 http://localhost:8090proxy_redirect off;proxy_set_header   Host   $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}
}

服务器这里配置好了,还需要在服务器提供商那里将安全组里开放我们需要的端口,比如80、443端口。如果使用的jar包方式还需要开放8090端口(这个可以将访问的IP设置仅你的服务器公网IP可访问)。其他安全组规则,我建议22端口也是仅你长使用的几个IP可访问,虽然可能会经常变会很麻烦,但是相对的也安全了许多。

域名同样也需要在域名提供商那里配置域名的解析,把域名解析到你的服务器。添加两条记录@-A-{IP}www-A-{IP}。(主机记录-记录类型-记录值)

WeHalo服务

首先需要注册一个微信小程序的ID,访问

使用Halo建立自己的网站相关推荐

  1. 宝塔linux_宝塔面板建站基础教程:如何安装宝塔面板及建立博客网站

    大多数站长购买服务器特别是 Linux 服务器后一般都会选择安装宝塔面板来管理和维护服务器,但是有些新手站长总是担心自己不懂得如何在云服务器上安装宝塔面板,又或者成功安装了宝塔面板之后不懂得如何通过面 ...

  2. 用google协作平台6步轻松建立免费个人网站

    前段时间在深度看到一个会员发表了一篇关于Google的协作平台东西的文章,进去一看,原来是Google Sites,去试着建立了一个网站,发现这个协作平台很强大了.不仅拥有所见即所得的方便的编辑器,还 ...

  3. 建立私人知识网站 cpolar轻松做到2 (发布DokuWiki)

    系列文章 建立私人知识网站 cpolar轻松做到1 (部署DokuWiki) 建立私人知识网站 cpolar轻松做到2 (发布DokuWiki)  上一篇 建立私人知识网站 cpolar轻松做到1 ( ...

  4. 宝塔面板windows建站教程_宝塔Windows面板IIS环境如何建立博客网站

    摘要: 简介Windows系统服务器一般都是安装 IIS环境,其他两个环境(Apache 和 Nginx)一般是在 Linux 服务器上运行会比windows更稳定,windows系统推荐... 简介 ...

  5. 自己如何建立一个公司网站?公司网站建设策划书怎么写?

    如何建立一个公司网站?对于一个新手来说建立一个公司网站,虽然步骤看起来很简单,但是实际操作起来,不是那么容易把网站做好的.想快速建网站只需要找准自己的需求,按照流程操作就很方便快捷.建网站之前需要准备 ...

  6. 用asp.net建立自己的网站过时了吗?vs2017建站测试笔记

    记得long long ago,n years ago用asp.net建立过网站,今天不得以想做一个跨平台的系统,但目前还没有好的工具,不能跨andriod和windows及IOS,那么就做用asp. ...

  7. 独立开发变现周刊(第78期):建立一个佣金网站,每月赚4万美元

    分享独立开发.产品变现相关内容,每周五发布. (合集:https://www.ezindie.com/weekly ) 目录 1.Jobboardsearch: 面向全世界的公开招聘网站 2.Hove ...

  8. pt1和pt2滤波_如何拥有自己的网站(即使您无法建立自己的网站)Pt 2

    pt1和pt2滤波 Last week we talked about how to buy and start a simple website using WordPress. Today, we ...

  9. 如何快速建立自己的网站了 ??

    如何建立自己的网站了 ?? 首先你需要购买服务器,我用的是腾讯云服务器学生版的,10元一个月,链接(https://cloud.tencent.com/act/campus?fromSource=gw ...

最新文章

  1. 史上最全的Web性能测试工具大全(下 )
  2. 机器学习(MACHINE LEARNING) 【周志华版-”西瓜书“-笔记】 DAY15-规则学习
  3. 小学生学python-小学生就学编程,就学Python,真的那么重要吗?
  4. 介绍一下Objective-c常用的函数,常数变量
  5. Error when loading the SDK:发现了含有元素 'd:skin' 开头的无效内容
  6. awk学习笔记(10) - 数组
  7. Markdown中插入图片及图注
  8. 软件测试2019:第七次作业
  9. 软件测试人不得不读的经典书籍推荐
  10. 云计算将逐渐成为支撑SaaS应用的基础
  11. linux群ping服务器各网段脚本
  12. 度数换算_度数换算计算器
  13. html新建框架网页,html怎么做网页框架
  14. SQL题目练习---三表联查
  15. Ubuntu12.04 Skype4.2 提示Skype can't connect,安装Skype4.3
  16. html跑车模板,html5代码画兰博基尼跑车,6不6?
  17. 在AD中添加logo
  18. 微信获取信息用户登录报错redirect_uri域名与后台配置不一致,错误码10003
  19. [ 笔记 ] 计算机网络安全_1_网络安全基础
  20. 搭建Python虚拟环境

热门文章

  1. 看到提取码,我一度以为这是假的百度云链接
  2. 2020年最新在线CRM免费下载
  3. TP FN FP TN
  4. 高等数学思维导图_高等数学 极限与连续 知识技巧思维导图 [21考研上岸之旅]...
  5. 编程成为高中生选择性必修课程,孩子太难了!
  6. 【Web技术】772- Web 中文字体性能优化实践
  7. WebOffice使用二
  8. 适合程序员的耳机_有没有适合程序员打代码时用的耳机推荐?
  9. mysql安装过程中root口令_MySQL5.7安装过程并重置root密码的方法(shell 脚本)
  10. PhotoShop 之用画笔工具擦除