使用腾讯云 Cloud Studio 零成本部署 Typecho 博客图文教程

小助手读文章 00:00 / 00:00

Cloud Studio 是腾讯云与 Coding Pages 合作提供的基于浏览器的集成式开发环境,旨在为开发者提供了一个永不间断的云端工作站,内置 Python、Java、Node.js 等多种环境,可以一键快速部署动态(PHP,支持 MySQL)或静态网站,如 WordPress、CMS、Vuepress、Hexo、Typecho 等应用,同时支持域名绑定、SSL,下面我们来看看使用 Cloud Studio 零成本部署 Typecho 轻量级博客。

注册账号

Cloud Studio 部署本质上有点类似于虚拟主机,区别在于源文件通过腾讯云开发平台上传(通过 Git 项目管理,网页端无法直接创建文件夹),所以我们先注册开发者账号(已有可跳过这一节):

注册账号

打开腾讯云开发平台,按页面提示注册账号(建议与腾讯云账号一致,否则账号需要重新实名认证,部署的网站不强制要求实名及备案):

001.注册腾讯云开发者.png

绑定信息

注册好后,到个人设置里绑定邮箱、设置密码、设置用户名(Git 推送源文件要用到):

002.绑定账号.png

新建项目

创建项目

账号信息绑定好后,就可以新建项目了:

003.新建项目.01.png

输入项目信息,注意为方便接下来操作,这里在创建时直接进行了初始化:

003.新建项目.02.png

配置公钥

如果要单独设置推送密钥,可以在项目设置里新增部署公钥(也可以直接使用个人设置里的公钥,如果有配置的话):

004.添加部署公钥.01.png

注意要授予推送的权限:

004.添加部署公钥.02.png

公私钥可以使用 Windows 下的 Putty 或者 Linux 下的 ssh-keygen 等工具来创建。

上传源码

其实网页端也可以上传源码,但只能单文件,文件夹的话就无能为力了,所以我们需要使用 Git 客户端来实现,与 GitHub 上传源码的操作是一样的,这里也简单介绍一下。

安装客户端

如果使用类 CentOS 系统,可以使用下列命令安装:

$ yum install git -y

如果使用类 Ubuntu 系统,可以使用下列命令安装:

$ apt-get install git -y

如果使用 Windows/Mac 系统,可以访问下面的地址,下载 Git 官方对应平台版本安装:

https://www.git-scm.com/download/

配置客户端

绑定用户

$ git config --global user.name "用户名" 
$ git config --global user.email "绑定邮箱"

还记得注册账号时的绑定信息吗?

绑定公钥

在上面配置公钥时,我们已经新建了公钥,现在我们把公钥、私钥复制到当前用户目录下的 .ssh 子目录下,公钥命名为:id_rsa.pub,私钥命名为:id_rsa

账号绑定的公钥和项目公钥都可以。

克隆仓库

把新建的项目仓库拉取到本地,方便添加 Typecho 源文件:

$ git clone [email protected]:用户名/项目名.git

如果在创建项目时没有进行初始化,那么执行克隆拉取时就会提示不存在,此时我们就需要先进行初始化才可以:

$ git clone https://git.dev.tencent.com/用户名/项目名.git
$ cd 项目名
$ echo "# 项目名" >> README.md
$ git add README.md
$ git commit -m "first commit"
$ git push -u origin master

下载源码

现在在本地应该就可以看到以项目名为名的文件夹了,进入文件夹后,将 Typecho 源码下载下来并解压:

$ ls -a
./             .gitattributes  .travis.yml    install/     tools/
../            .github/        admin/         install.php  usr/
.editorconfig  .gitignore      changelog.txt  LICENSE.txt  var/
.git/          .gitmodules     index.php      README.md

如果需要安装插件和主题,可以一并先解压到对应目录,插件目录为:usr/plugins/,主题目录为:usr/themes/

为方便后续开启伪静态,根目录新增一个文件,名为:.htaccess,内容为:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
</IfModule>

如果源码是从 GitHub 下载下来的,还有一个地方需要确认的是文件 .gitignore 是否排除了 usr 目录,是的话要删掉,不然后面会直接 500 错误。

上传源码

现在我们就可以将修改好的源码上传了。

1、关联远程仓库,添加后,远程库的名字就是 origin,这是 Git 默认的叫法,也可以改成别的,但是 origin 这个名字一看就知道是远程库:

$ git remote add origin https://git.dev.tencent.com/用户名/项目名.git

2、如果关联出现错误 fatal: remote origin already exists,则执行下列语句后再进行关联:

$ git remote rm origin

3、跟踪项目文件夹中的所有文件和文件夹:

$ git add .

4、输入本次的提交说明,准备提交暂存区中的更改的已跟踪文件,单引号内为说明内容:

$ git commit -m '20190519001'

5、把本地库的所有内容推送到远程库上:

$ git push -u origin master

如果在推送时出现错误 error:failed to push som refs to.......,则执行下列语句:

$ git pull origin master

现在在网页端项目管理里,应当可以看到我们上传的所有源码了:

005.代码浏览.png

后续有文件更新时,重复步骤 3、4、5 即可。

部署网站

部署源码

接下来我们就可以开始 Typecho 部署了,在网页端项目管理里(参见上一截图),点击 使用 Cloud Studio 编辑,自动进入 Cloud Studio 编辑界面:

006.进入 Cloud Studio.png

由于我们在上传时就已经将源码改好了,所以直接进行部署,如果要继续修改,双击左侧导航栏相应文件即可修改:

006.进入 Cloud Studio.02.png

Typecho 运行于 PHP + MySQL 环境,但默认是 Ubuntu,所以我们需要先切换一下:

007.切换环境.png

开启一键部署:

008.一键部署.png

在资源管理页签可以看到数据库信息,记录下来,后续安装会用到,然后一键部署:

008.一键部署-环境变量.png

几秒就可以部署成功了,这里提供了测试域名,我们也可以绑定自己的域名,并开启 Let's Encrypt SSL,方法也很简单,将 DNS 解析商处将自己的域名 CNAME 到测试域名即可:

008.一键部署-绑定域名-开启SSL.png

到这里 Typecho 源码已经成功部署了。

配置网站

打开 Cloud Studio 提供的测试域名,或者自己添加的域名,可以看到打开的是 Typecho 安装页面:

009.开始安装.png

点击“我准备好了,开始下一步”,进入 Typecho 配置:

010.初始化配置.png

几个注意点:

  • 数据库适配器:Pdo 驱动 Mysql 适配器;
  • 数据库地址:一键部署-资源管理-连接信息 显示的数据库主机;
  • 数据库端口:一键部署-资源管理-连接信息 显示的端口;
  • 数据库用户名:一键部署-资源管理-连接信息 显示的用户名;
  • 数据库密码:一键部署-资源管理-连接信息 显示的密码;
  • 数据库名:一键部署-资源管理-连接信息 显示的数据库名;
  • 其他参数视自己需求配置;

010.初始化配置-数据库.png

配置好后点“确认,开始安装”,参数没配置错误的话,应该就可以安装成功了:

010.初始化配置-安装成功.02.png

首页访问正常(已开启主题):

011.安装成功.png

如果后台设置了伪静态,可以看到也已经可以成功启用:

011.安装成功-伪静态.png

至此,利用 Cloud Studio 零成本部署 Typecho 已经成功实现。

附加说明

HTTPS

一键部署时默认启用 HTTPS(不可关闭,自动 301 跳转),添加自定义域名亦然,故添加自定义域名前需要进行 CNAME 配置,并且不要随意删除,否则可能无法续签证书(单次有效期 3 个月)。

安装数据库

在安装 Typecho 配置数据库时,请使用 Cloud Studio 提供的数据库,实际测试发现不支持云数据库,猜测是屏蔽了主动外网访问或屏蔽了 3306 等特定端口。

上传文件

细心观察,可以发现部署功能其实是基于 Coding Pages 实现的,一键部署分配的数据库容量限制明确写着 128MB,但网站容量未知,不过 Coding Pages 本身是限制 100MB,因此估计 Cloud Studio 容量限制也在 100MB 左右,所以像发表带图文章需要上传文件时,建议使用外链,比如 公益图床,有条件也可以自建。

文件更新

特别提醒,一键部署里的关闭按钮慎重点击,虽然可以重新一键部署,但会清空上一次部署的包括数据库的所有资料!所以如果文件有变更需求,同步后使用重新部署功能即可,文件正常更新,而且数据库还在。

网站报错

一键部署功能提供的运行环境有参数限制,比如 PHP 的 copy()、curl_exec()、file_get_contents() 等函数功能均被禁用,如果使用的函数刚好是被禁用的,网站运行自然会报错,由于短期内无法改善,故应尽量避免使用自带的可能存在风险的函数。

重新部署

Cloud Studio 重新部署功能会还原运行状态(清空除数据库外的运行数据),所以我们如果进行了重新部署,就要重新进行配置 Typecho,比较麻烦,其实我们可以在源码增加 config.inc.php 文件,将数据库信息配置好,这样重新部署后就不用重新配置 Typecho 了。

<?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_ROOT_DIR__', dirname(__FILE__));

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

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

/**开启调试*/
#define('__TYPECHO_DEBUG__', TRUE);

/**错误页 */
#define('__TYPECHO_EXCEPTION_FILE__', '');

/** 后台路径(相对路径) */
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';

/** 程序初始化 */
Typecho_Common::init();

/** 定义数据库参数 */
$db = new Typecho_Db('Mysql', 'typecho_');
$db->addServer(array (
  'host' => '数据库地址',
  'user' => '数据库用户名',
  'password' => '数据库密码',
  'charset' => 'utf8mb4',
  'port' => '3306',
  'database' => '数据库名',
), Typecho_Db::READ | Typecho_Db::WRITE);
Typecho_Db::set($db);

需要提醒的是,如果是第一次安装,且不是迁移网站,请不要添加此文件,因为数据库里并没有 Typecho 相关数据,添加了会直接报错。

节点信息

Cloud Studio 一键部署分配的底层服务器位于腾讯云香港机房,访问速度较快(三网直连),但毕竟是共享 IP 及带宽,实际测试不是特别稳定:

012.访问速度.png


参考文章:

1、《Cloud Studio 无成本部署 Typecho,搭建自己的博客


ArmxMod for Typecho
个性化、自适应、功能强大的响应式主题

推广

 继续浏览关于 部署免费腾讯云福利教程typecho博客Cloud Studio 的文章

 本文最后更新于 2019/05/19 18:40:00,可能因经年累月而与现状有所差异

 引用转载请注明:VirCloud's Blog > 福利 > 使用腾讯云 Cloud Studio 零成本部署 Typecho 博客图文教程

精选评论

  1. level0

    貌似config.inc.php文件中的'Mysql'要改成'Pdo_Mysql',不然会500

    1. 欧文斯

      可能是版本不一样,文中示例我测试过没有问题

  2. 乜野

    emm..一个不注意关闭部署了 icon_surprised.gif

  3. 心灵博客

    能不能用来做反代? icon_razz.gif

  4. BreN

    节点已经 Down 掉了,囧 icon_razz.gif

    1. 欧文斯

      共享 IP 就是会有这问题,所以拿来玩玩就好,正式做站还是建议买个 VPS。