分享好友 最新动态首页 最新动态分类 切换频道
CentOS 7 使用 docker 安装 typecho 博客系统
2024-12-21 21:39

我的博客 https://savokiss.com 用的是 typecho,一直使用的是 阿里云ECS 直接安装的 MySQL 和 PHP,由于买的时间比较早,当时用的是 CentOS 6.5。后来想玩 docker,发现 docker 只支持 CentOS 7+,加上之前的系统上东西太乱了,所以这次有时间就将数据库和 typecho 源码备份了一下,然后换了一个纯净的 CentOS 7.6 的镜像。由于我买的 ECS 是 1CPU 1GB 内存,之前还一直担心跑不起来 docker,这次升级完之后发现完全没问题,内存用了一半都不到哈~于是记录下这个过程,说不定可以帮到其他小伙伴。

CentOS 7 使用 docker 安装 typecho 博客系统

升级系统,建议备份好数据,由于我的 ECS 上面主要就一个博客,所以直接用全新的镜像,安装完后啥都木有,当然也可以直接将快照创建为自定义镜像,然后升级系统的时候选择即可该快照即可。

本人也是 docker 小白,如果对 docker 不熟悉,可以先看笔者的另一篇文章

写给前端工程师的 docker 入门

下面开搞

如果想要用非 root 用户执行 docker 命令,请参考此步骤。
新增的用户名叫 savokiss。
下面的命令使用 root 执行。

添加用户

修改密码

加入 sudo 权限

找到下面两行,将新用户写入,如

创建 docker 用户组

将新用户加入 docker 组

让变更生效

然后用户 savokiss 执行 docker 命令时就不用加 sudo 了

以下命令均以 root 用户执行

下载安装依赖包

添加国内 yum 源

更新缓存,安装 docker-ce

启动 docker

hello-world 是官方的测试镜像。

国内镜像源加速

如果启动失败的话可以更换为 daocloud 的 docker 源,然后重新 run

也可以直接修改  中的 registry(文件不存在就新建一个

修改后重启服务

如果能看到以下界面,就说明 hello world 成功咯

这里主要获取 nginx@1.16.1、mysql@5.7、php@7.2 三个镜像,如有需要可以自行修改版本号。

获取 MySQL 镜像

创建容器 main_mysql

参数说明

  • -d 代表 daemon,即后台运行

  • -p 是设置宿主机和容器的端口号

  • -e 设置 mysql 密码

  • —name 给当前 container 起一个名字

获取 PHP 镜像

创建容器 main_phpfpm

参数说明

  • -v 代表 volumes,即挂载宿主机和容器的目录映射

  • —link 代表链接外部 container,本例中即 main_mysql

测试目录映射

先进到容器内部

这句话简单来说就是将容器中的  连接到你当前的命令行,相当于进入容器中执行命令。

执行完后会进入容器的 
然后来创建个文件

然后在宿主机中的  目录下就会发现一个 test.php,说明映射目录成功啦~

PHP 扩展安装

由于 typecho 需要使用 mysql pdo。再次用上面的命令进入 main_phpfpm 容器,然后执行

然后执行  就可以看到已经安装的扩展

获取 nginx 镜像

创建 nginx 容器

这里由于网站配置了 https,所以需要打开 443 端口,并且除了挂载网站目录,也将 nginx 的 conf.d 目录挂载到了宿主机

然后到  目录下

1. 新建  文件,内容如下,已经开启了 https 和伪静态

2. 新建  文件

3. 创建  文件夹,将 https 证书 ,  放进去

如果不需要 https,上面的配置文件就不需要后面这两步,同时 conf 文件内容适当删减即可。

注意:上面的配置文件中的路径都是对于容器内部来说的。

提示:如果启动失败,可以使用  查看错误日志,启动成功后是可以进入到容器内部的。修改配置文件后可能需要进入容器内部执行 ,或者直接在宿主机  即可。

由于笔者是迁移,typecho 源码都在 github 上,所以直接 git clone 到  中即可。然后用工具连接数据库将 sql 导入就完成啦。

本文主要参考了文末的第一篇文章,主要是为了记录折腾的过程,当然目前搭建完成还有几个问题可以优化,如

  1. 多个网站是否应使用同一个 nginx 容器

  2. 容器如何在挂掉后自动重启

  3. 换成 docker-compose 编排会不会更好

第一条等遇到了再考虑一下,第二条可以通过 run 命令指定 —restart 即可。
第三条其实可以另写一篇文章了~

最新文章
分析大型门户网站截取热门流量的SEO策略
一说到热门流量这个词,我想大家都会很快的想到利用热门话题或者热门事件来获取短期的高流量,在SEO里这种方式一般被称为截取流量,也就是利用SEO的方式来在短期内获得热门关键词的较好排名,从而获取短期的热门流量。比如网络上经常会出现
115网盘提取码怎么用 115网盘提取码下载的方式应用攻略
通过115提取码下载的方式有很多,首先115网盘自身就提供了专门的下载器优蛋。安装优蛋以后,点击文件页面的优蛋下载选框,就会直接弹出优蛋下载器,直接进行下载。或者在优蛋新建下载,直接输入提取码或文件页面网址,也可进行下载。步骤 1
佛山SEO排名应该怎么做?(SEO排名的10个有效方法)
佛山SEO排名应该怎么做?(SEO排名的10个有效方法)排名佛山SEO排名应该怎么做?(SEO排名的10个有效方法) 一、SEO排名应该怎么做?SEO排名的10个有效方法1、在进行SEO排名优化时,关键词研究是至关重要的第一步。通过使用关键词研究工具
PHP在线客服系统平台源码(完全开源的网页在线客服系统)
大家好,又见面了,我是你们的朋友全栈君。  在线客服系统是一个使用PHP、JavaScript和CSS开发的即时网页聊天咨询系统。该项目包含管理员和用户端。管理员端管理所有的管理,如编辑站点内容、管理提供者和预订,管理员在这个系统的管理中
刷360网站快速排名,策略与实践,360seo刷网站关键字排名优化官网
在当今的互联网时代,网站的可见度直接影响着其流量和商业价值,而在众多的搜索引擎中,360搜索作为国内主流的搜索引擎之一,其排名机制自然成为了许多网站管理员关注的焦点,本文将深入探讨如何通过刷360网站快速排名来提升网站的曝光度和
友点 CMS V9.1 后台登录绕过 GetShell
友点CMS9.1是一款国内常用的开源CMS系统,近日被指出存在一个getshell漏洞,该漏洞可允许攻击者通过构造特殊的请求参数向网站注入任意代码,并获取服务器的控制权。经分析,该漏洞影响范围较广,可影响友点CMS9.1及其以下版本。攻击者通过
关键词优化攻略,全方位策略助力企业业绩飙升
本指南深入解析了选择和优化推广关键词的策略,通过精准定位目标受众,提升广告效果。涵盖关键词研究、分析、筛选与持续优化,助力企业实现业绩显著增长。随着互联网的飞速发展,线上推广已经成为企业拓展市场、提升品牌知名度的重要手段,
如何让你的品牌在搜索引擎上闪耀?
如何让你的品牌在搜索引擎上闪耀?在数字化时代,品牌的在线存在感越来越重要,而搜索引擎优化(SEO)是提升品牌在搜索引擎上曝光度的关键。无论是增加网站流量、提高转化率,还是提升品牌声誉,SEO的作用都不可忽视。本文将从关键词优化、
CentOS 7 使用 docker 安装 typecho 博客系统
我的博客 https://savokiss.com 用的是 typecho,一直使用的是 阿里云ECS 直接安装的 MySQL 和 PHP,由于买的时间比较早,当时用的是 CentOS 6.5。后来想玩 docker,发现 docker 只支持 CentOS 7+,加
【魅影T800百度网盘下载】MOPS 魅影T800百度网盘12.18.3免费下载
百度网盘是一款省心、好用的超级云存储产品,已为超过7亿用户提供云服务,空间超大,支持多类型文件的备份、分享、查看和处理,自建多个数据存储中心,更有两项国际安全认证ISO27001&ISO27018为用户数据安全提供护航,如果您想备份文件数
相关文章
推荐文章
发表评论
0评