树莓派通过Docker安装mysql、Typecho创建个人站点

前言

  • 原本就计划站点本地容器化,不直接在本搭建配置环境,一方面不是很熟悉环境搭建,本地环境安装的东西较多,容易起冲突,另外宝塔面板对arm架构支持的也不是很理想。所以Docker容器算是一种很理想状态。近期有时间折腾,就有了以下的文章。
  • 以下实现过程使用机型为树莓派4B,理论上可以适配其他arm架构的小主机开发板,系统采用基于Debian11的raspberry os。

Typecho

Typecho.png

Typecho.png

  • Typecho是一款轻量的个人站点程序,相信能看到这篇文章的朋友对WordPress,Typecho等等站点程序都有所了解,这里就不过多介绍了。本站就是采用Typecho搭建!
  • 本地搭建采用80x86/typecho的镜像,这个镜像也是Docker hub中使用较多的,内置了部分主题以及插件。
  • 调整下方参数后,就可以直接在命令行执行。

docker run -d --name=typecho --restart always --mount type=tmpfs,destination=/tmp -v /home/typecho:/data -e PHP_TZ=Asia/Shanghai -e PHP_MAX_EXECUTION_TIME=600 -p 180:80 -p 1443:443 80x86/typecho:latest

Typecho站点配置.png

Typecho站点配置.png

  • 其实本步骤是一个选择点,不想折腾数据库的话,可以使用那个SQL轻量数据库,本地直接保存,默认生成的有一个路径以及文件,好好保存即可。
  • 如果想安装Mysql数据的话,那就继续跟着文章往下看。

Mysql 8.0

  • 我为什么安装Mysql,因为之前很多站点程序都是使用的Mysql,所以本地尽量与云上保持一致。之前站点创建的比较早,Mysql5.7的Docker镜像不支持arm架构,但是根据近期查询,还是有一些支持的,但是会有错误。所以,就挑一个合适的稍微新一点的镜像!
  • 经过多天测试,历经了连接不上,各种报错,有了下方的命令参数:

docker run -itd --name mysql8.0 -p 3306:3306 -v /mysql/conf:/etc/mysql/conf.d -v /mysql/logs:/logs -v /mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1999001 mysql:8.0 --lower_case_table_names=1 --max_connections=2000;

  • 参数解读:
  • -e MYSQL_ROOT_PASSWORD=1999001配置信息,配置Mysql的Root用户的登陆密码.
  • -p 3306:3306此处映射主机3306端口 到 容器的3306端口.
  • lower_case_table_names=1:忽略大小写;
  • max_connections:最大连接数量;
  • 以下三项配置Mysql本地存储的目录:前方的路径可以自定义
  • /mysql/conf:/etc/mysql/conf.d
  • /mysql/logs:/logs
  • /mysql/data:/var/lib/mysql

执行以上命令,如无报错,数据库就安装成功了。

  • 返回Typecho的安装配置界面,配置数据库地址,账号,密码,表名,其它参数,点击下一步,无法连接数据库。
  • 有数据库查询软件的可以直接连接尝试,会报错。查询解决方案,各种尝试无果,问题是需要开启远程连接,方法有很多,但是受限于版本等等,各种报错。折腾几日,终于找到解决方法。
  • 进入容器:

docker exec -it mysql8.0 bash

  • 进入mysql:

mysql -uroot -p

  • 对远程连接进行授权:

GRANT ALL ON *.* TO 'root'@'%';

  • 更改密码的加密规则:

ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

  • 更改root的密码:123456根据实际调整
  • ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
  • 刷新权限:

flush privileges;

内网穿透

  • 原本写到此步,文章就应该结束了。但是建好不发出去,属实有点说不过去。
  • 内网穿透使用的工具是FRP,该步骤依旧使用Docker,需要一台部署于公网服务器。
  • 关于FRP部署可以参考树莓派通过Docker搭建Frp内网穿透服务,需要注意的是,FRP本地文件格式有所调整frps.ini,frpc.ini,已经更改成了frps.toml,frpc.toml
  • 停止FRP容器,在FRP本地配置文件添加参数,开启容器。
[web]
type = tcp
local_ip = 127.0.0.1
local_port = 180
remote_port = 180
  • 通过frp服务端后台查看客户端上线情况,正常会有web的接入。
  • 如需域名访问,可以通过反向代理来实现,详细操作,我上面的文章中有介绍。
  • 使用以上服务搭建的小站 Hello World,站点在美西。

版权声明

▶ 本网站名称:**网友小宋**

  ▶ 本文链接:[https://xyzbz.cn/archives/1139/](https://xyzbz.cn/archives/1139/ "树莓派通过Docker安装mysql、Typecho创建个人站点")

  ▶ 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。

  ▶ 转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处!!

原文链接:https://xyzbz.cn/archives/1139/


标题:树莓派通过Docker安装mysql、Typecho创建个人站点
作者:Curry
地址:http://bolo.it-cxy.top/articles/2024/11/09/1731155323854.html

    评论
    0 评论
avatar

取消