zl程序教程

您现在的位置是:首页 >  其他

当前栏目

从零开始搭建solo博客

博客 搭建 从零开始 Solo
2023-06-13 09:18:38 时间

以下内容皆以腾讯云为例

1. 购买服务器

首先你得有自己的服务器,有的话就跳过。

腾讯和阿里对于新用户以及学生都有很大的优惠,配置的话如果只挂 solo,买最低配 1G1 核 1M 即可。

我这里购买的腾讯云的轻量级服务器,镜像的话选择的CentOS 8.2

2. 购买域名(可不买)

建议还是买一个域名,直接通过 IP 访问的话不是特别好。

3. 域名解析与备案

服务器和域名购买完后需要将域名解析到服务器,有些服务商可能不支持跨服务商解析,腾讯云域名可以解析阿里云服务器。解析过程大概需要 10 分钟。解析完成后如下图所示:

接下来去备案即可(备案时间可能比较长大概一周左右)。

4. 配置

4.1 安装宝塔面板

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

安装完成后会给你访问地址以及用户名和密码。 如果忘记的话可以输入bt default查看。 在宝塔面板设置中可以设置你的安全入口以及面板用户及密码。

4.2 进入宝塔软件商店安装最新版 mysql 和 Nginx

并在网站中添加站点就是你的域名,并创建solo的数据库
(数据库名称solo,编码选择utf8mb4,用户名和密码自定义)

4.3 服务器内安装Docker

# 卸载docker+安装:
https://yeasy.gitbook.io/docker_practice/install/centos

4.4 防火墙开放端口

服务器以及防火墙开放端口 服务器进入防火墙 直接点添加规则(输入你想要开放的端口)即可,

然后是这边的防火墙,如下:

1、开启防火墙 
systemctl start firewalld
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=3306/tcp --permanent

# firewall-cmd --zone=public --remove-port=80/tcp --permanent(关闭指定端口)

3、重启防火墙
firewall-cmd --reload

4、查看端口号
netstat -ntlp   //查看当前所有tcp端口·

netstat -ntulp |grep 8080   //查看所有8080端口使用情况·

4.5 安装solo

docker run --detach --name solo --network=host \
   --env RUNTIME_DB="MYSQL" \
   --env JDBC_USERNAME="上面创建数据库的用户名" \
   --env JDBC_PASSWORD="密码" \
   --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
   --env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true" \
   b3log/solo --listen_port=8080 --server_scheme=http --server_host=你的ip --server_port=
# 查看运行的容器
docker ps 

这个时候就可以通过你域名:8080访问到你的solo博客

4.6 申请 ssl 证书,将 http 升级为 https(可跳过)

ssl证书备案没完成就可以申请,但是http升级https的话必须备案完成之后才可以,如果没有备案完成的话可以先收藏本文章,备案完成后继续进行。

访问 SSL 证书选购 申请

私钥可不填写

验证方式 可直接前往 SSL 证书 域名验证指引 - 操作指南 - 文档中心 - 腾讯云查看 这里的是选择手动 DNS 验证

申请到之后去ssl证书下载你的证书

下载完之后进入宝塔面板添加站点(只需要填写你的域名即可,数据库的话在上面4.2的地方 已经创建过了)

点击设置,将你刚才下载的压缩包中.key和.pem文件用记事本打开,将里面的内容复制粘贴到下面对应的两个框中,保存并打开 强制https。

然后再点击配置文件将下面代码复制到下图对应位置(原本那个位置的内容直接替换掉即可)

location / {
add_header Content-Security-Policy upgrade-insecure-requests;
            proxy_set_header  Host $http_host;
            proxy_set_header  X-Real-IP  $remote_addr;
            proxy_pass http://127.0.0.1:8080;
          #  rewrite ^(.*)$ https://$server_name$1 permanent;
}

5. 小结

第一次弄这个东西,可能有的地方不妥,大佬请指出(+ —— +)。