前言

本教程使用 Nginx 配置相关 Http 证书

Centos7 系统下通过 内网穿透 来搭建博客 可全网访问

欢迎大家访问我的博客网站 https://blog.mian-ju.cn 留言添加友链

0.环境搭建

0.1 准备工作

  • halo-1.4.12 – 优秀的Java开源博客系统
  • 服务器**(推荐安装 Centos7 系统)**
  • 宝塔面板
  • SakuraFrp – 内网穿透
  • 一个已经备好案的域名
  • SSH 远程连接

0.2 安装JDK

首先通过 ssh 连接上要搭建的服务器

ssh root@你的IP地址

连接上后在服务器中安装 JDK11 当前版本不再支持JDK8

这里使用的是 OpenJDK11

mkdir /home/java
cd /home/java
wget https://download.java.net/openjdk/jdk11/ri/openjdk-11+28_linux-x64_bin.tar.gz

下载完成后解压JDK11的包

tar -zxvf openjdk-11+28_linux-x64_bin.tar.gz

然后去修改一下环境变量

vi /etc/profile

在最后一行后新增两行代码:

export JAVA_HOME:/home/java/jdk-11
export PATH=$JAVA_HOME/bin:$PATH

然后按 ESC 保存退出

:wq

让配置的环境变量立马生效

source /etc/profile

测试环境变量是否配置成功

java -version

出现版本号即是成功

openjdk version "11" 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)

0.3 关闭防火墙

systemctl stop firewalld #关闭防火墙

systemctl disable firewalld #关闭防火墙开机自启

1.Halo 搭建

1.1 更改 Halo 配置

创建.halo的工作目录,在用户目录下,当前是root~ 是代表当前用户的家目录

mkdir ~/.halo
cd ~/.halo

下载配置文件

wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml

修改 application.yaml 配置文件

vi application.yaml

配置文件:

server:
  port: 8090
#这个是端口号,会在这个端口开启服务
driver-class-name: org.h2.Driver
    url: jdbc:h2:file:~/.halo/db/halo
    username: admin #h2数据库用户名
    password: 123456 #h2数据库密码
    #数据库信息自行修改,也可以使用mysql,本教程使用h2数据库
 h2:
    console:
      settings:
        web-allow-others: false
      path: /h2-console #h2数据库连接路径
      enabled: false
admin-path: admin #后台路径

# memory or level
  cache: memory #缓存形式,本地(level)和内存(memory)

然后保存退出

:wq

1.2 配置 System 服务

下载配置文件

wget https://dl.halo.run/config/halo.service -O /etc/systemd/system/halo.service

修改下载的配置文件

vi /etc/systemd/system/halo.service
[Unit]
Description=Halo Service
Documentation=https://docs.halo.run
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=USER
ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar YOUR_JAR_PATH
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslog

StandError=inherit

[Install]
WantedBy=multi-user.target

标红的需要修改

User=USER :因为我们使用的是root,不需要单独给个用户,所以删除

ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar YOUR_JAR_PATH

/usr/bin/java是你java所在的路径,我的路径是 /home/java/jdk-11/bin/java

YOUR_JAR_PATH是你 halo-1.4.12.jar 包所在的位置,/home/halo/halo-1.4.12.jar

-Xms256m 和 -Xmx256m 是内存容量,默认是256M,根据自己配置更改

[Unit]
Description=Halo Service
Documentation=https://docs.halo.run
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/home/java/jdk-11/bin/java -server -Xms512m -Xmx512m -jar /home/halo/halo-1.4.12.jar
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslog

StandError=inherit

[Install]
WantedBy=multi-user.target

最后我的配置文件是这个样子

修改了配置文件后需要重载 Systemd

systemctl daemon-reload

开机自启 Halo

systemctl enable halo

启动 Halo

systemctl start halo

到这里就可以用浏览器访问你的博客了 地址是 你的服务器IP:8090 进入后会进入引导,跟着引导一步一步走

2.域名

这里我用的是腾讯云的域名:https://www.dnspod.cn/

要备案后才可以进行后续!

2.1 添加域名

完成后点击 管理控制台 — DNS解析 — 我的域名 — 你的域名地址 — 添加记录

因为是端口内网穿透,所以添加两条域名,一条提供给映射后外网访问,一条在内部进行协议配置

我的如下
1.
主机记录=blog #域名前缀,假设域名是 mian-ju.cn blog就是 blog.mian-ju.cn
记录类型=CNAME
记录值=待会内网穿透会给地址
其他默认不动
2.
主机记录=随便给
记录类型=A
记录值=服务器IP地址
其他默认不动

添加完成后确定,并且点击左边SSL按钮,申请ssl证书,待会配置HTTPS会用到,选择免费的

申请完大概3-5分钟,然后把第一个域名的证书下载下来,后期有用

现在你可以通过 第二个域名:8090 来访问你的博客而不需要输入你IP

3.内网穿透

但是现在为止还是只能你的网络访问,不能让世界各地的人都进入你的网站

3.1 注册账号

SakuraFrp官网

进入官网注册账号,并实名认证,需要支付1RMB来实名认证

流量不够的话每天可以签到领取,搭个博客还是绰绰有余的

3.2 安装frpc

frpc安装教程

跟着教程一步一步走,这里就不过多赘述

System服务以及自启

安装好再去配置System服务

配置完成后可以输入以下命令来操作隧道

systemctl start frpc@你的密钥:隧道ID #启动隧道

systemctl enable frpc@你的密钥:隧道ID #设置开机自启隧道

systemctl disable frpc@你的密钥:隧道ID #关闭隧道开机自启

3.3 隧道创建

选择内地 可建站的,然后选择类型HTTPS隧道

隧道名=#自己定义
本地IP=你的第二个域名
本地端口=HTTPS(443)
绑定域名=你的第一个域名#比如我的是 blog.mianju.pro 不带http://

然后创建完成

3.4 获取隧道的地址值

在隧道列表点击左边的3个点,然后配置文件

server_addr 的值给输入到第一个域名的记录值一栏中,然后点击确定,保存完成

3.5 启动隧道

配置完成隧道,启动隧道

systemctl start frpc@你的密钥:隧道ID #启动隧道

4.配置Https协议

每次进网页会提示一个不安全是不是很难看,这个就是因为现在还没有配置HTTPS协议的原因

4.1 安装宝塔

宝塔面板安装:安装教程

引导完后选择环境安装:LNMP --Linux,Nginx,Mysql,PHP的缩写

4.2 添加网站站点

全部环境安装完成后,左边导航栏点击 网站 — 添加站点

输入你的第一个域名然后换行再输入你的第二个域名

第一个域名
第二个域名

然后点击提交

4.3 配置网站SSL

然后点击 编辑 — SSL — 其他证书

刚刚下载的证书解压出来,有个Nginx的文件夹,打开后里面有两个文件

1_你的域名_bundle.crt
2_你的域名_.key

用记事本打开这两个文件

bundle.crt后缀的文件的内容复制至**证书(PEM格式)**框内

将**.key后缀的文件的内容复制至密钥(KEY)**框内

右上角强制HTTPS选上

保存

4.4 反向代理

网站 — 设置 — 反向代理(在SSL那条导航栏下面)

点击添加反向代理

代理名称=你随意
目标URL=http://127.0.0.1:8090
发送域名=你的第一个域名 #就是给公网 访问的 blog.mian-ju.cn

点击保存

5.尝试访问

5.1 访问地址

现在有3种方式可以访问博客:

https://第一个域名/(公网访问 blog.mian-ju.cn

https://第二个域名/(第二个域名提示的应该是不安全,不重要,内网访问)

http://服务器IP:8090/(内网访问)

第二个域名提示不安全是因为SSL只配置了blog.mian-ju.cn域名的证书,并没有给第二个域名也配置,证书不适用于它,所以提示不安全

恭喜你,你拥有了自己的博客

如果需要添加友链请先添加本站至友链

友链格式:

title: MianJu
url: blog.mian-ju.cn
avatar: https://bu.dusays.com/2021/09/29/682edd074d0e5.png
description: 艺术源于生活 生活不是艺术
上一篇