手把手带你搭建个人网站!博客、域名统统搞定

飞天小牛肉

共 5452字,需浏览 11分钟

 · 2021-09-16

前言

哈喽大家好,我是莫提。

最近搞了一台新的云服务器,服务器上面现在啥都没有,正好给大家介绍一下我是怎么从0搭建出自己的个人网站

我现在这个服务器是腾讯云的轻量应用服务器,这个其实不重要,只要你有一台云服务器就可以。重要的是这个Linux系统,或者说是Linux系统的发行版本,因为不同的发行版本在使用命令的时候,会稍微有一点区别,那么这里注意一下,我使用的Linux系统的发行版本是CentOS7

我的博客:www.xuewei.world

配置服务器的基础环境

当你购买完服务器之后,你就可以知道这个服务器的公网IP,然后需要你配置root用户的密码。配置完成之后,你就可以使用ssh来登录到这台服务器了,Windows用户可以使用Putty、XSheel等软件来连接服务器,Mac用户可以使用Termius或者苹果电脑自带的终端工具来连接到服务器。

之后我们需要做的一件事是把系统软件的镜像源配置成国内镜像,这样在下载软件的时候就会快很多了。

可以参考的我个人博客里面的这篇文章:

http://xuewei.world/categories/linux

更新完镜像源之后,我们需要安装Docker,安装方式也很简单,自行百度或者参考的我个人博客里面的这篇文章:

之后服务器的基础环境就可以OK了

安装MySQL数据库

博客的数据肯定是要存在数据库里面的,数据库我选择的是一般接触最多的MySQL数据库,安装方式也很简单,这里我直接使用Docker来安装一个。

依次执行下面的命令即可

# 拉去镜像
docker pull mysql:5.7

注意下面的命令需要指定MySQL的密码,我这里以123456为例,为了安全起见,你一定要改一个比较复杂的密码!

# 运行镜像
docker run --restart=always -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

安装成功之后使用docker ps命令查看当前正在运行的容器,可以看到,mysql正位列其中。

然后我们就可以使用数据库连接工具,比如Navicat、SQLYog等软件连接到这个数据库。

注意

如果你发现连接不到数据库的话可能是你服务器的防火墙没有关掉。可以使用systemctl status firewalld.service来查看防火墙状态。

我之前就已经把防火墙关掉了。

关于防火墙相关更多的命令,可以参考我这篇文章:

还有!如果你发现你把防火墙关掉了还是连接不到,那是因为在你云服务器的控制台里还有一个云服务防火墙的配置,你需要把对应数据库的端口3306开放!

以腾讯云为例:

保存之后就可以正常的连接到数据库了!

之后我们在MySQL中创建一个数据库,取名blog-db。字符集选utf8mb4,之后点击完成即可。

这里的数据库取名要注意,稍后我们要用到

安装Halo

这次教大家部署的个人博客是Halo,这是一款非常优秀的个人博客系统,自带后台管理系统,比WordPress更加的轻量,单功能缺不输于它,也是支持主题的切换,甚至Halo的主题要更加的美观漂亮!

官网:https://halo.run/

在服务器上依次执行下面的命令

# 创建博客项目目录
cd ~;mkdir halo-blog;cd halo-blog
# 创建配置文件
vim application.yaml

在配置文件输入以下内容:

server:
  port: 8090
  compression:
    enabled: false
    
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://152.136.150.203:3306/blog-db?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
    username: root
    password: 123456

halo:
  admin-path: blog-admin
  cache: memory

注意:这里你需要修改MySQL的连接信息,主要修改IP和密码,还要注意数据库要连接刚才安装MySQL创建的那个数据库,名称默认blog-db

# 拉取halo的最新镜像
docker pull halohub/halo
# 运行镜像获得容器
docker run -d -p 8090:8090 -v ~/halo-blog:/root/.halo --restart=always --name halo halohub/halo

之后使用docker ps查看正在运行的容器,可以看到,我们刚才安装的Halo正位列其中

之后使用浏览器访问你的IP的8090端口,即http://IP:8090,然后就可以看到Halo的安装页面了。如果访问不到,那可能还是和防火墙有关,参考之前安装MySQL的解决方案处理一下就OK了。

填写信息,点击安装即可。安装完成之后会自动跳转到登录页面。再次访问你的IP的8090端口就可以访问到博客的主页了!

基本介绍

Halo的后台管理中主要包含文章管理、页面管理、附件管理、评论管理、外观主题、用户设置以及系统设置。功能还是非常的丰富的,操作也非常的简单。

这里着重介绍一下怎么更换主题:外观 -> 安装 -> 远程下载

这里需要我们输入远程地址,我们需要前往Halo的官方主题仓库,挑选一个自己喜欢的主题。

选择好一款主题之后,查看主题详情,里面就会有介绍怎么安装,我们输入远程地址之后,点击下载即可。

稍作等待之后我们就可以在主题中看到刚刚下载的主题了,点击启用即可。在每个主题的设置里面,还可以对主题进行更加细致化的自定义。

注意,很多的主题都是寄托在github上面,所以远程下载会很慢,有时候还会出现网络错误,多尝试几次或者使用离线安装的方式

再次访问IP的8090端口就可以看到主题已经生效了。

配置域名

只用IP访问博客既不高级,也不安全,所以现在来教大家怎么为IP来绑定域名。

当然前提是你已经购买了一个域名,可以选择在阿里云、腾讯云的官网购买。

注意:购买的服务器和域名可以不是同一个厂商,我的服务器是腾讯云,域名是在阿里云购买

我的域名:www.xuewei.world

以阿里云为例,首先需要进入到域名控制台

这里会显示你购买过的域名,然后点击后面的解析,进入到当前域名的解析设置

我们点击添加记录进行下一步的配置。

  • 记录类型:这里默认是A类型,即把域名解析到一个IPV4的地址,正好我们需要这样做。
  • 主机记录:这就是你之后需要在浏览器访问个人网站使用的规则‘
  • 解析路线:解析路线一般设置成默认就OK
  • 记录值:你的IP地址
  • TTL:你的域名配置的DNS缓存时间,这里也是默认10分钟

最简单的,我们配置一个www域名,主机记录中填写www,然后记录值填写服务器的IP地址。

然后我们就可以在浏览器试一试了,注意我们刚才大家的博客的端口是8090,浏览器地址中应该是http://www.域名:8090,在我这里就是这样访问

http://www.xuewei.world:8090。还要注意一点,从9月15号开始,对于未进行实名认证的域名,阿里云不再提供解析服务了,所以大家最好还是实名认证一下,最好也进行网站的备案。

隐藏端口号

域名已经配置好了,但是每次都要加上端口实在是麻烦,下面给大家讲一下我是怎么将端口号隐藏的,当然隐藏端口号有一个前提,就是你的服务器需要进行备案!浏览器http端口是80(可隐藏),还有https端口443(可隐藏),但是像阿里云、腾讯云这些国内服务器,你必须要备案之后才会给你开放,不热就会被跳转到下面这个页面

当你备案完成之后就可以安装我下面的步骤一步一步操作了

首先我使用的方法是在服务器搭建Nginx服务,并配置反向代理。

如果你的服务器是CentOS7,那么可以参考我下面的文章进行Nginx的安装:

之后你需要修改Nginx的配置文件,位于/usr/local/nginx/conf/nginx.conf,将配置文件修改为以下内容:


worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    upstream halo {
      server 127.0.0.1:8090;
    }
    server {
      listen 80;
      server_name www.yourdomain.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;
      }
    }
}

之后重启Nginx,在浏览器访问你的域名,我这里直接访问http://www.xuewei.world,访问http://www.xuewei.world/blog-admin就可以进入后台管理

大功告成!点击原文链接可以查看我的个人博客,文章里面一些软件的安装都在里面!

我是莫提,一个喜欢自学的程序员。关注我,我们一起变优秀!



浏览 64
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报