halo+云服务器+nginx反向代理实现个人博客搭建

1.云服务器选择

这里直接选用 阿里云云服务器 ECS突发性能型 t6 别家的基本都一样,选用配置差不多的就行。

https://developer.aliyun.com/plan/grow-up


(这里因为已经买过了,所以是724,第一次买应该是90+)

这里的地域可以购买离自己进一点的(访问起来会快一点),如果服务器在大陆内,最后进行域名绑定的时候需要进行备案,选用在香港的服务器则不用。

操作系统选用CentOS。

其他的默认就好了。

进行订单的下单。

在这一步下单完成后,我们还没有对我们的服务器设定密码。

进去阿里云个人的ECS控制台。

点击实例

选择自己购买服务器时选择服务器所在的地区。

这时候我们就可以看到我们购买的服务器的信息。

点击管理->进入到ECS实例的详情,点击重置实例密码。然后我们修改密码。

这里我们的用户名root和实例密码都必须记住,最好截图保存下来,下面使用远程管理工具访问云服务器的时候会用到。

然后我们点击左侧菜单栏上的安全组,进入到安全组列表,点击右侧配置规则。

然后选择入方向,点击手动添加,在新的规则中输入一下内容。

点击保存,然后重复进行这一步走,以此在端口范围中填入8888/8888,443/443,80/80这三个,授权对象处都填写0.0.0.0/0。

最终结果如下:

这里8090端口为halo默认端口,8888为宝塔面板默认端口,443为SSL端口,80为网站默认端口。

2.服务器连接+halo安装

A.服务器连接

下面我们使用远程连接工具,对我们的云服务器进行连接。

市面上常见的ssh工具有很多,可以自行搜索下载,用哪个都一样。

(eg. Xshell7 puTTy等等)

这里以Xshell7 为例

我们在服务器实例管理页面,复制我们准备好的服务器的公网ip。

然后打开 ssh工具新建会话。

在主机/host这一栏中复制我们服务器的公网ip,其他不用变,点击确定进行连接。

在用户名一栏中输入root。

然后在密码处输入我们在阿里云自己设置的服务器密码。

如果登陆成功,则可以在console看到以上画面。

B.halo安装

接下来我们进行halo的安装。

halo的安装教程可以在官方文档进行查看----https://docs.halo.run/install/linux。

这里依照官方文档,进行安装的指导。只需要一步一步粘贴文档中的代码即可。

1.首先我们对系统进行一下升级。

yum -y update

然后我们会看到一下内容,不用管,等他升级完成,会在末尾出现complete!字样。

2.等yum升级完成后,我们进行java环境的安装。

sudo yum install java-11-openjdk -y

复制以上代码,回车安装java运行环境。中途会询问是否安装,回复y即可。

安装成功后,会显示success等字样。

完成后我们检查一下java版本,输入一下代码

java -version

如果出现一下类似内容,则成功。

3.接下来我们正式进行halo的安装。

这一步可以完全按照halo官方文档的指导来进行。

这里只对一些容易出问题的地方进行解释。

a.在官方文档中的安装第六点-编辑配置文件中。这一步一般来说使用默认即可,不需要进行改动。

打开配置文件后,可以看到以下内容:

这里不做任何改动,直接退出即可,在该页面直接输入

:wq

即可退出。

b.在官方文档中的安装第八点中,成功启动halo后,输入ctrl+c即可退出运行。

c.在官方文档中的作为服务运行第四点中-修改配置

进入vim编辑模式后,点击键盘上的i进入插入模式,即可修改配置文件,点击键盘上的ESC即可退出插入模式。

如果有完全按照官方教程来进行halo的安装,那么Halo 运行包的绝对路径为 /home/halo/app/halo.jar,同时我们使用一个叫halo的用户来安装,那么最终配置文件将被修改为一下内容:

[Unit]
Description=Halo Service
Documentation=https://halo.run
After=network-online.target
Wants=network-online.target[Service]
Type=simple
User=halo
ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar /home/halo/app/halo.jar
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslogStandError=inherit[Install]
WantedBy=multi-user.target

修改完成后,按下ESC退出插入模式,输入:wq退出配置文件。

继续安装官方文档进行,即可完成halo的全部安装。

当全部完成时,我们可以通过ip:端口的方式来访问我们的网站。

3.nginx反向代理

1.域名解析

这里我们还是用阿里云购买的域名为例

将我们已经购买的域名解析到我们的服务器上,图中的记录值就是我们的服务器的外网ip地址。

我们解析完成后,可以在cmd中ping我们的域名,如果ping通则说明解析成功。刚解析完会有一定的延迟,过一会应该能ping通。

1.宝塔面板安装

这里nginx的反向代理我们通过宝塔面板来安装,我们使用cd ~返回到root用的根目录下。

这里直接复制宝塔面板的下载安装命令,即可安装宝塔面板。

Centos:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

不过的Linux系统安装命令不同,可以到宝塔面板的官方文档中查看。

安装完成后,我们看我们的console上出现了一下内容:

这个是我们服务器宝塔面板的访问地址,账号和密码。

这里建立截图把这些保存下来,如果忘记了可以在SSH中输入bt default重新查看。

2.宝塔面板nginx安装配置。

我们复制外网面板地址到浏览器中打开,输入对应的username和password即可进入我们服务器的宝塔面板中。

首次进入宝塔面板会有软件的推荐安装,这个我们直接关掉,我们只需要后面从软件商城中自行安装nginx就好了。

我们首先点击左侧菜单栏的安全。点开后我们可以看到防火墙。

我们在防火墙中依次放行上面我们在阿里云服务器中已经放行过的端口。

注:这里8090端口没有默认的放行,所以安装好宝塔面板后,如果没有再次去放行则,不能通过ip:端口的方式去访问我们的博客。

然后我们在左侧菜单栏中选择软件商店->搜索nginx->选择快速安装->等待安装完毕。

等待nginx安装完毕后,我们点击左侧网站->点击添加站点。添加我们的站点。

这里域名填写我们解析好的主域名(即我们在阿里云购买的域名,例如我购买的域名为yusart.xyz,那么我直接填写yusart.xyz,前面不需要填写其他的)

其他的东西不用动,点击提交。

这时我们的网站管理中就会多出我们刚才添加的站点,我们选择该站点点击设置。可以看到下面得到界面。

我们进去可以看到在域名管理中已经有一个我们的主域名了,然后我们在上方的方框中添加一个www开头的一级域名即可。添加完成后效果如上。

然后我们点击配置文件,开始进行nginx的配置。

这里的配置我们也是按照官方文档的说明来进行。

官方文档:https://docs.halo.run/install/bt-panel

1.首先在根节点下添加以下代码(根节点与Server节点并列,添加根节点即在Server外添加)

upstream halo {server 127.0.0.1:8090;
}

这里8090为halo默认端口,如果前面有改过端口号,则改为修改过的端口号。

添加完毕后配置文件如下:

upstream halo {server 127.0.0.1:8090;
}
server
{listen 80;listen 443 ssl http2;...

2.在55行左右找到名为 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
子节点

将一下代码插入到该子节点中

proxy_pass http://halo;

最终效果见下方总览。

3.在63行左右找到名为location ~ .*\.(js|css)?$的子节点
将一下代码插入到该子节点中

proxy_pass http://halo;

最终效果见下方总览。

4.将一下内容插入到第69行后面。(即在Server内添加一个名为location /的子节点,与上述两个节点并列)

   location / {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;proxy_pass http://halo;}

最终配置文件如下:

upstream halo {server 127.0.0.1:8090;
}//添加
server
{listen 80;listen 443 ssl http2;...location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${proxy_pass http://halo;//添加expires      30d;error_log /dev/null;access_log off;}location ~ .*\.(js|css)?${proxy_pass http://halo;//添加expires      12h;error_log /dev/null;access_log off; }location / {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;proxy_pass http://halo;}//添加
}//注意最后的大括号

注意在78行(最下方一行,不一定是78)还有一个反大括号。

点击保存,这时我们就配置完成了,等待一段时间的延迟后,我们就可以通过我们的域名访问我们的博客了。如果不能访问可以尝试通过宝塔面板重启nginx。

注:如果我们访问我们的博客,出现css没有的情况有可能是在我们的博客后台->系统->博客设置中的博客地址没有相应的修改成我们的域名。

3.SSL认证

当我们可以通过域名访问我们的博客后,我们可以为我们的博客添加SSL。

在宝塔面板->域名管理->配置文件下方我们可以看到SSL。我们可以使用宝塔SSL或者Let`s Encrypt(这里建议使用Lets Encrypt,使用宝塔SSL会比较慢)其中的一种。点击申请即可。申请成功后一点要打开右上角的强制HTTPS。


注:如果我们不能通过域名来访问我们的博客,那么会申请失败。

到这里我们的博客搭建就全部完成了,如果有什么问题可以在下方评论区回复,我会定期解答。有什么需要修改的地方,也欢迎指正。

如果你通过这边文章建立了属于你自己的博客,可以在下方评论区挂上你的博客地址。

这是博主写下的第一篇博客,还请大家谅解。

欢迎大家关注我的博客yusart.xyz,也欢迎大佬互挂友链。

halo个人博客搭建相关推荐

  1. halo开源博客搭建微信小程序实现内容同步-总结

    首先环境需要: 服务器,域名,微信小程序号 服务器(尽量选择阿里云,腾讯云) 系统环境:centos7.5左右 安装宝塔面板方便快捷:安装教程 所需环境:Nginx,Mysql 搭建博客系统:Halo ...

  2. 千万别进来 -halo个人博客搭建教程(包含halo博客设置和域名访问)

    Halo可以说是目前最好的 Java 博客系统了. Halo [ˈheɪloʊ],意为光环.当然,你也可以当成拼音读(哈喽). 一个优秀的开源博客发布应用,值得一试. 搭建halo是一个简单的过程,但 ...

  3. 【云服务器】基于docker容器部署Halo项目的个人博客搭建并部署到云服务器

    目录 1 docker快速部署halo个人博客 2 主题设置(本文使用的是M酷Joe 2.0版本的主题,下载链接放在下面了) 2.1 API报错解决方案 2.2 首页分栏设置 2.3 轮播图的修改 2 ...

  4. 从零开始用Docker搭建Halo个人博客

    文章目录 从零开始用Docker搭建Halo个人博客 食用指南 一.准备工作:需要云主机 入门级[1核2G+40G云盘].公网IP 带宽[1MB] .域名(需备案) 二.使用SSH工具连接远程主机 三 ...

  5. 博客搭建攻略(三):创造收益

    在前两篇博客搭建攻略中,主要介绍了博客平台的选择以及写博的常用工具.作为本系列的最后一篇,可能也是大家最感兴趣的一篇,我将给大家介绍一下在博客编写过程中,是如何创造收益的. 下面,以我个人为例,总结一 ...

  6. 博客搭建攻略(二):工具推荐

    回顾:博客搭建攻略(一):平台选择 预告:博客搭建攻略(三):创造收益,如果兴趣就关注我吧~ 通过上一篇的教程,根据自己的需求选择一款博客平台,就能完成博客的搭建.在这之后,我们的主要任务就是创作内容 ...

  7. 博客搭建攻略(一):平台选择

    本系列文章预告 博客搭建攻略(一):平台选择 博客搭建攻略(二):工具推荐 博客搭建攻略(三):创造收益 如您对本系列内容感兴趣,就点击标题下方的程序猿DD关注我吧~ 前言 虽然在大学生涯就有开始写技 ...

  8. python个人博客网站的搭建说明书_个人博客搭建线上实施方案

    个人博客搭建线上实施方案 在hexo本地实施没有问题的基础上 实施方案 方案一:GithubPages 创建仓库, 仓库名为:.github.io 将本地Hexo博客推送到GithubPages 3. ...

  9. 【个人博客】Hexo个人博客搭建与配置详细教程 + Fluid主题 + Gitee发布

    文章目录 一.环境准备 1.1 安装 NodeJs 1.2 安装 Git 1.3 安装 Hexo 二.Gitee仓库搭建 2.1 Gitee账号注册 2.2 仓库搭建 三.Hexo博客搭建 3.1 基 ...

最新文章

  1. python下载免费吗-python实现文件下载的方法总结
  2. 爬取json Swaggerui界面
  3. javaparser_JavaParser入门:以编程方式分析Java代码
  4. 万兆网卡实际吞吐量_案例探索 | 千兆/万兆网卡每秒转发包数处理能力上限到底有多大?...
  5. 使用Mac终端设置alias常用别名,以git提交为例
  6. Centos 5.5 安装Mysql5.5过程
  7. JAVA之stream汪文君_Java8新特性之Stream API
  8. Python 最好用的8个VS Code扩展
  9. 将json文件格式转化成Excel表格形式
  10. 高斯滤波 python
  11. 计算机u盘能直接拨出吗,电脑怎么直接拔出U盘而不丢失数据|电脑可以不用弹出设备直接拔出U盘吗...
  12. 占优策略名词解释_占优策略均衡
  13. matlab复信道化滤波器组,宽带数字信道化EDA设计
  14. 无人驾驶学习介绍和感悟
  15. Mysql解决微信特殊符号昵称入库报错乱码
  16. 1.30.Flink SQL案例将Kafka数据写入hive
  17. 2022年国内外主流的10款Bug跟踪管理软件
  18. 《C语言程序设计》指针
  19. windows11右下角小地球,可以正常上网,但显示无法访问internet
  20. 安装OpenBLAS

热门文章

  1. python简单案例4
  2. Java 开发八荣八耻
  3. JeecgBoot duplicateCheck 表单字段重复校验通用JS详细记录
  4. 暗黑破坏神快速RR详解
  5. 代码注释生成:《Towards Automatically Generating Summary Comments for Java Methods》论文笔记
  6. 【三方面了解U盘芯片类型】
  7. 名悦集团:新能源汽车保养做好这三步,用车无忧
  8. 依赖成定时炸弹,中源智人能顺利“拆弹”吗?
  9. java图片管理系统_基于Java Web技术的图片管理系统的设计与实现.doc
  10. halcon学习笔记—电脑无线连接手机摄像头