Typecho 是应用 PHP 语言开发的一套博客程序,同时也反对多种数据库(Mysql, PostgreSQL, SQLite),本篇文章将演示部署 Typecho 到 aws 上的过程。

在部署之前须要理解所须要的依赖

  • EC2(亚马逊弹性云计算,Elastic Cloud Compute,简称 EC2)
  • RDS(亚马逊关系型数据库服务,Relational Database Service,简称 RDS)
  • LNMP(Linux、Nginx、MySQL、PHP。此处不须要独自装置 MySQL)

开明 EC2

在AWS的控制台中,启动一个Linux零碎的EC2实例,我抉择了Ubuntu的镜像。

符合条件的收费套餐是 AWS 海内区域账户收费套餐,能够通过此链接 进行注册,摸索 100 余种产品,并应用收费套餐在 AWS 上开始构建。

平安组默认只开启了22端口,测试时能够抉择默认开启所有平安组,或者增加罕用的端口到平安组中。

审核后如果没有问题,点击启动

接着须要抉择抉择现有密钥对或者创立新的密钥对来应用ssh进行连贯,否则只能通过AMI内置的明码或者 EC2 Instance Connect 进行连贯拜访。

能够应用现有的密钥对,我这里创立了一个新的,填入密钥对名称,点击下载密钥对,就能够失去一个密钥名称.pem文件。

再次点击启动,至此,咱们所创立的实例正在启动中。

点击查看实例详情,获取私有 IPv4 DNS进行连贯:

例如实例的私有 DNS 名称是

ec2-a-b-c-d.us-west-2.compute.amazonaws.com

,密钥对是my_ec2_private_key.pem,请应用以下命令通过 SSH 连贯到实例:

ssh -i my_ec2_private_key.pem ubuntu@ec2-a-b-c-d.us-west-2.compute.amazonaws.com

更多具体的实操过程能够参考《手把手教你在云上部署动静网站》

装置LNMP

我抉择了间接应用LNMP一键安装包

wget http://soft.vpser.net/lnmp/lnmp1.8.tar.gz -cO lnmp1.8.tar.gz && tar zxf lnmp1.8.tar.gz && cd lnmp1.8 && ./install.sh lnmp

脚本须要应用root用户执行,所以咱们须要先设置下root用户的明码

sudo passwd root

应用su root切换到root用户,再次执行./install.sh lnmp

在装置时跳过了装置MySQL,因为咱们须要应用RDS,所以不须要装置。

期待装置实现即可...

装置实现后能够拜访http://IP/phpinfo.php 来查看PHP的信息。

装置Typecho

Typecho的正式稳定版曾经很久没有公布了,我最近也在为Typecho奉献一些代码,所以这里咱们优先装置开发版的代码。

先应用lnmp vhost add命令来创立一个站点:

创立实现后,默认有一个禁止跨目录拜访的.user.ini,能够通过lnmp1.8目录下的tools/remove_open_basedir_restriction.sh脚本进行移除

./remove_open_basedir_restriction.sh

进入到/home/wwwroot/ty.qq52o.cn目录中下载开发版的源码:

cd /home/wwwroot/ty.qq52o.cnwget https://github.com/typecho/typecho/releases/download/ci/typecho.zipunzip typecho.zipchown -R www:www ./*

为了能失常拜访到安装程序,须要将域名解析到EC2的IP上,所以返回域名所在的服务商增加解析,将对应的域名增加一个cname解析,记录值为私有 IPv4 DNS

解析胜利后拜访就能够看到Typecho所提供的装置界面

点击开始下一步,咱们就须要配置数据库信息了,然而因为目前没有装置,所以咱们能够先应用SQLite进行创立,会默认生成一个SQLite的数据库文件地址,点击进行装置即可。

下一步则须要增加管理员的账号密码了

点击持续装置后,就实现了装置步骤。

默认首页

控制台

看到这里,还没有完结,因为咱们应用的是SQLite存储,咱们须要替换为MySQL存储,持续往下看吧

开明 RDS

返回aws的控制台的RDS服务,创立一个MySQL引擎的数据库

在上面的配置中抉择实例配置,设置账户明码,点击创立数据库,期待数据库创立胜利获取终端节点和端口。

须要留神数据库须要和EC2在同一VPC 平安组中。

因为咱们方才应用的是SQLite,抉择须要应用MySQL,所以须要将文件删除来重新安装:

cd /home/wwwroot/ty.qq52o.cn#filename为方才创立时主动生成的SQLite文件rm usr/filename.db config.inc.php

从新拜访域名,又会呈现方才看见的装置界面了,输出方才获取的终端节点和端口,以及所配置的账号密码:

当咱们点击开始装置后却报错了:对不起, 无奈连贯数据库, 请先查看数据库配置再持续进行装置

这个示意不存在这个数据库名为typecho的 database,所以咱们须要手动创立一下

#装置mysql clientapt install mysql-client-core-5.7 #连贯数据库 将终端节点替换为理论的 回车后输出明码再次回车进入数据库mysql -uadmin -h终端节点 -p#执行create database typecho;

执行胜利后,再次点击开始装置就又见到了创立您的管理员帐号页面,依照之前的步骤填写即可。

装置胜利后就能够纵情享受 Typecho 带来的乐趣~

Typecho 岂但轻量高效,仅仅 7 张数据表,加上有余 400KB 的代码,就实现了残缺的插件与模板机制。而且原生反对 Markdown 排版语法,易读更易写。

加上应用 EC2 + RDS,即便面对从天而降的高访问量,也能轻松应答,提供所需的疾速性能、高可用性、安全性。

获取更多教程:AWS 入门根底课程