腾讯轻量应用服务器下使用Docker+GreatSQL搭建Halo博客系统

该教程详细介绍了如何在腾讯轻量应用服务器上利用Docker和GreatSQL搭建Halo博客系统。首先在GreatSQL中创建Halo的工作数据库,然后下载Halo配置文件并修改,接着拉取Halo镜像并启动Docker实例。随后,安装Nginx并创建站点,通过Nginx反向代理配置实现访问。最后,通过浏览器访问安装向导完成Halo的安装。

腾讯轻量应用服务器下使用Docker+GreatSQL搭建Halo博客系统

之前使用RPM包方式安装了GreatSQL数据库,现在使用Docker+GreatSQL搭建Halo博客系统。

前言

在Halo的官方文档中提到MySQL在宿主机如何通过Docker安装Halo

如果你已有MySQL但安装在宿主机,你想使用Docker安装Halo那么此时为了保证MySQLHalo能网络互通,可以使用host网络模式即--net host

使用 Docker 部署 Halo 和 MySQL | Halo Documents

话不多说,现在就开始搭建

在GreatSQL中创建Halo的工作数据库

create database halodb character set utf8mb4 collate utf8mb4_bin;

创建Halo的工作目录

mkdir ~/.halo && cd ~/.halo

下载Halo的配置文件到工作目录

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

image-20220903154757367

修改默认的配置文件

vim application.yaml

去除MySQL相关配置前面的注释,并把自带的H2 database配置注释掉

image-20220903155107483

拉取最新的Halo镜像

docker pull halohub/halo

image-20220903161534143

出现这样的提示就是拉取成功了

使用Docker启动Halo实例并指定网络模式

docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo --net host --restart=unless-stopped halohub/halo

安装Nginx

这里直接使用OneinStack安装Nginx

点击下方链接进入OneinStack官网,仅选择安装 Nginx,其他的都可以取消选择。

OneinStack官网

最后点击复制安装命令到服务器执行即可。如果你仅安装 Nginx,你的链接应该是这样:

wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1

image-20220903164855112

出现以上信息则表示安装成功

创建站点

进入oneinstack目录下执行vhost.sh

cd /usr/local/oneinstack
sh vhost.sh

根据提示进行配置

What Are You Doing?
	1. Use HTTP Only
	2. Use your own SSL Certificate and Key
	3. Use Let's Encrypt to Create SSL Certificate and Key
	q. Exit
Please input the correct option: 2
#这一步是选择证书配置方式,如果你有自己的证书,输入 2 即可。如果需要使用 Let's Encrypt 申请证书,选择 3 即可。

Please input domain(example: www.example.com): 
#输入自己已经解析好的域名

Please input the directory for the domain:demo.halo.run :
(Default directory: /data/wwwroot/demo.halo.run):
#提示输入站点根目录,因为我们是使用 Nginx 的反向代理,所以这个目录是没有必要配置的,我们直接使用默认的即可(直接回车)。

Do you want to add more domain name? [y/n]: 
#是否需要添加其他的域名,根据自己的需求键入y或n

Do you want to add hotlink protection? [y/n]:
#是否需要做防盗链处理,根据自己的需求键入y或n

Allow Rewrite rule? [y/n]:
#是否重写配置,选择n

Allow Nginx/Tengine/OpenResty access_log? [y/n]:
#Nginx的请求日志,建议选择y

这样就完成了 vhost 站点的创建,最终会输出站点的相关信息

Nginx的配置文件默认在/usr/local/nginx/conf/vhost/

修改Nginx配置文件进行反向代理

使用vim打开配置文件

location ~ [^/]\.php(/|$) {
  #fastcgi_pass remote_php_ip:9000;
  fastcgi_pass unix:/dev/shm/php-cgi.sock;
  fastcgi_index index.php;
  include fastcgi.conf;
}
#这块配置是针对php应用的,可以删除

添加upstream配置

#在server的同级节点添加
upstream halo {
  server 127.0.0.1:8090;
}

#在server节点内添加
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;
}

#在location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ 节点下添加
proxy_pass http://halo;

#在location ~ .*\.(js|css)?$ 节点下添加
proxy_pass http://halo;

保存并退出

重新加载Nginx以使配置生效

nginx -t
nginx -s reload

Halo安装向导

在浏览器中访问自己的域名就会看到Halo的安装向导,如下图所示

image-20220903180742291

输入自己的信息后点击下方安装,待安装完成就会跳转到登录页面

image-20220903181006920

至此,在腾讯云服务器中使用Docker+GreatSQL搭建Halo个人博客平台完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Maskfanatics

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值