已掉线,重新登录

首页 > 绿虎论坛 > 杂类 > 超级灌水 (发帖)

标题: 1分钟迁移typecho到docker,1分钟搭建typecho

作者: @Ta

时间: 2023-02-07发布,2023-02-07修改

点击: 318

说明

  • 数据库改为mariadb官方
  • typecho镜像为typecho官方提供
  • 如需要导入sql,请连接你的服务器:33062
  • 由于映射到docker容器(非虚拟机),可以随时关闭、删除、多容器并发(docker-compose追加typecho2 并且改端口8086:80,cdn源站添加备用IP:8086)

1:将docker-compose编排文件放入typecho/目录下,并修改【密码】

version: "3.0"

services:
  mysql:
    image: mariadb/server:10.3
    volumes:
      - $PWD/mysql:/var/lib/mysql
    environment:
      - "MARIADB_DATABASE=typecho"
      - "MARIADB_ROOT_HOST=%"
      - "MARIADB_ROOT_PASSWORD=cccyun.cc"  ##修改此处【数据库密码】
    ports:
      - 33062:3306  #调试使用
  typecho:
    image: joyqi/typecho:nightly-php7.4-apache
    volumes:
      - $PWD/:/app/
    ports:
      - 8085:80
    depends_on:
      - mysql
    environment:
      - "TIMEZONE=Asia/Shanghai"
      - "TYPECHO_DB_HOST=mysql"
      - "TYPECHO_DB_PORT=3306"
      - "TYPECHO_DB_USER=root"
      - "TYPECHO_DB_PASSWORD=cccyun.cc" ##修改此处【数据库密码】
      - "TYPECHO_DB_DATABASE=typecho"

2: 把 .htaccess 伪静态放入typecho/ ,用来解决后台、前台404问题

<IfModule mod_rewrite.c>
RewriteEngine On
# 下面是在根目录,文件夹要修改路径
RewriteBase /build
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule> 

修改 config.ini.php

 
<?php
/**
 * Typecho Blog Platform
 *
 * @copyright  Copyright (c) 2008 Typecho team (http://www.typecho.org)
 * @license    GNU General Public License 2.0
 * @version    $Id$
 */

define('__TYPECHO_SECURE__',true);

/** 定义根目录 */
define('__TYPECHO_ROOT_DIR__', dirname(__FILE__));

/** 定义插件目录(相对路径) */
define('__TYPECHO_PLUGIN_DIR__', '/usr/plugins');

/** 定义模板目录(相对路径) */
define('__TYPECHO_THEME_DIR__', '/usr/themes');

/** 后台路径(相对路径) */
define('__TYPECHO_ADMIN_DIR__', '/admin/');

/** 设置包含路径 */
@set_include_path(get_include_path() . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . '/var' . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . __TYPECHO_PLUGIN_DIR__);

/** 载入API支持 */
require_once 'Typecho/Common.php';

/** 载入Response支持 */
require_once 'Typecho/Response.php';

/** 载入配置支持 */
require_once 'Typecho/Config.php';

/** 载入异常支持 */
require_once 'Typecho/Exception.php';

/** 载入插件支持 */
require_once 'Typecho/Plugin.php';

/** 载入国际化支持 */
require_once 'Typecho/I18n.php';

/** 载入数据库支持 */
require_once 'Typecho/Db.php';

/** 载入路由器支持 */
require_once 'Typecho/Router.php';

//define('__TYPECHO_SECURE__',0);//开启https
/** 程序初始化 */
Typecho_Common::init();

//把这个放到项目的入口文件里
if (is_file(__DIR__.'/.env')) {
    $env = parse_ini_file(__DIR__.'/.env', true);    //解析env文件,name = PHP_KEY
    foreach ($env as $key => $val) {
        $name = strtolower($key);
        if (is_array($val)) {
            foreach ($val as $k => $v) {    //如果是二维数组 item = PHP_KEY_KEY
                $item = $name . '_' . strtolower($k);
                putenv("$item=$v");
            }
        } else {
            putenv("$name=$val");
        }
    }
}


$a=array (
    'host' => \getenv('TYPECHO_DB_HOST'),
    'user' =>\getenv('TYPECHO_DB_USER') ,
    'password' => getenv('TYPECHO_DB_PASSWORD'),
    'charset' => 'utf8',
    'port' => \getenv('TYPECHO_DB_PORT'),
    'database' =>\getenv('TYPECHO_DB_DATABASE'),
);


/** 定义数据库参数 */
$db = new Typecho_Db('Pdo_Mysql', 'typecho_');
$db->addServer($a, Typecho_Db::READ | Typecho_Db::WRITE);
Typecho_Db::set($db);

3: 在typecho目录启动并运行

docker-compose up

在docker面板中(portainer/portainer)视角

image.png(76.81 KB)

image.png(123.21 KB)

image.png(121.66 KB)


[隐藏样式|查看源码]


『回复列表(16|隐藏机器人聊天)』

2. web组件是apache?
(/@Ta/2023-02-07 19:24//)

3.
@上善若水,这是官网提供的,php-fpm都一个样子。

如果考虑CPU性能利用率问题,那就多开几个php容器,然后用cdn 负载均衡一下

(/@Ta/2023-02-08 07:34//)

4. 最近我也做这件事,不过选择的是caddy+php-fpm8,考虑到会部署其他站点,就没用官方镜像!
(/@Ta/2023-02-08 08:32//)

5. 看帖花了5分钟
(/@Ta/2023-02-08 09:33//)

6.

@雨伤,caddy 怎么反代php-fpm8,我之前试了不成功,后来用了其他镜像
努力~奋斗~

(/@Ta/2023-02-09 09:30//)

7. @SKSlience,可以看我最近写的这个参考下,还没完善好http://git.rainss.cn/rainerosion/cadd-php-for-docker/src/branch/master/typecho/docker-compose.yaml

目前部署在甲骨文测试https://rains.wiki
(/@Ta/2023-02-09 18:43//)

8.

学习一下,我现在用的是宝塔docker,最大的问题就是太占资源了,运行了博客就要占用1.3G的内存
小米8 Explore Edition (透明色)

(/@Ta/2023-02-17 19:35//)

9.

顺便问一下,你有做远程备份的工作嘛,我现在用宝塔的一个主要原因就是可以自动把我的数据库和网站备份到腾讯云cos
小米8 Explore Edition (透明色)

(/@Ta/2023-02-17 19:38//)

10. @雨伤,你的甲骨文怎么这么快,原来好像有你的友链
(/@Ta/2023-02-17 20:24//)

11.
层主 @上善若水 于 2023-02-17 21:04 删除了该楼层。
(/@Ta/2023-02-17 21:04//
被锁定
)

12. @虎老会泳游,不记得了,话说我有没有你的友联我都不记得了没啥印象了,哈哈。我这个是甲骨文首尔地区的arm机器。速度目前还可以,cdn啥的都没开,只是用来做正式迁移前的测试,然后发现文章全乱了!!!
(/@Ta/2023-02-18 00:04//)

13. @雨伤,怪不得,我的在北美,速度慢了好多,域名也换了,程序也换了
(/@Ta/2023-02-18 07:54//)

14.

@雨伤, 你用的是pgsql吗

(/@Ta/2023-03-14 11:34//)

15. @胡椒舰长,是的
(/@Ta/2023-03-14 12:44//)

16.

@雨伤,能不能放一下,config的配置,想换更高效的

(/@Ta/2023-03-14 13:09//)

17. @胡椒舰长,什么config的配置。
(/@Ta/2023-03-14 15:58//)

回复需要登录

8月26日 04:49 星期二

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1