从0到1教你在AWS中部署动态网站Typecho系统

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 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 上开始构建。


1.png

安全组默认只开启了22端口,测试时可以选择默认开启所有安全组,或者添加常用的端口到安全组中。

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


2.png

接着需要选择选择现有密钥对或者创建新的密钥对来使2.png用ssh进行连接,否则只能通过AMI内置的密码或者 EC2 Instance Connect 进行连接访问。

可以使用现有的密钥对,我这里创建了一个新的,填入密钥对名称,点击下载密钥对,就可以得到一个密钥名称.pem文件。

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

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


3.png

例如实例的公有 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,所以不需要安装。


4.png

等待安装完成即可...

安装完成后可以访问http://IP/phpinfo.php 来查看PHP的信息。


安装Typecho


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

先使用lnmp vhost add命令来创建一个站点:


5.png

创建完成后,默认有一个禁止跨目录访问的.user.ini,可以通过lnmp1.8目录下的tools/remove_open_basedir_restriction.sh脚本进行移除

./remove_open_basedir_restriction.sh


6.png

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

cd /home/wwwroot/ty.qq52o.cn
wget https://github.com/typecho/typecho/releases/download/ci/typecho.zip
unzip typecho.zip
chown -R www:www ./*

为了能正常访问到安装程序,需要将域名解析到EC2的IP上,所以前往域名所在的服务商添加解析,将对应的域名添加一个cname解析,记录值为公有 IPv4 DNS

解析成功后访问就可以看到Typecho所提供的安装界面


7.png

点击开始下一步,我们就需要配置数据库信息了,但是由于目前没有安装,所以我们可以先使用SQLite进行创建,会默认生成一个SQLite的数据库文件地址,点击进行安装即可。

下一步则需要添加管理员的账号密码了


8.png

点击继续安装后,就完成了安装步骤。


9.png

默认首页


10.png

控制台


11.png

看到这里,还没有结束,因为我们使用的是SQLite存储,我们需要替换为MySQL存储,继续往下看吧


开通RDS


前往aws的控制台的RDS服务,创建一个MySQL引擎的数据库

12.png

在下面的配置中选择实例配置,设置账户密码,点击创建数据库,等待数据库创建成功获取终端节点和端口。


需要注意数据库需要和EC2在同一VPC 安全组中。

由于我们刚才使用的是SQLite,选择需要使用MySQL,所以需要将文件删除来重新安装:

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

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


13.png

当我们点击开始安装后却报错了:对不起, 无法连接数据库, 请先检查数据库配置再继续进行安装

这个表示不存在这个数据库名为typecho的 database,所以我们需要手动创建一下

#安装mysql client
apt install mysql-client-core-5.7 
#连接数据库 将终端节点替换为实际的 回车后输入密码再次回车进入数据库
mysql -uadmin -h终端节点 -p
#执行
create database typecho;

执行成功后,再次点击开始安装就又见到了创建您的管理员帐号页面,按照之前的步骤填写即可。

安装成功后就可以尽情享用 Typecho 带来的乐趣~

Typecho 不但轻量高效,仅仅 7 张数据表,加上不足 400KB 的代码,就实现了完整的插件与模板机制。而且原生支持 Markdown 排版语法,易读更易写。

加上使用 EC2 + RDS,即使面对突如其来的高访问量,也能轻松应对,提供所需的快速性能、高可用性、安全性。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
安全 网络安全 数据安全/隐私保护
Xftp文件传输失败
Xftp文件传输失败
3075 0
|
iOS开发 MacOS
推荐几个mac分屏显示的工具
桌面分屏是我们工作中经常会用到的功能,但是Mac上自带的分屏功能非常有限,必须进入全屏才能使用,管理窗口时使用起来并不方便。本文中我们就来推荐几款好用的Mac分屏软件,让你的窗口管理更简单
|
弹性计算
阿里云ECS配置内网穿透服务器
阿里云ECS配置内网穿透服务器 包含FRP zerotier
|
缓存 Java Sentinel
Springboot 中使用 Redisson+AOP+自定义注解 实现访问限流与黑名单拦截
Springboot 中使用 Redisson+AOP+自定义注解 实现访问限流与黑名单拦截
|
7月前
|
人工智能 监控 安全
2025年国内主流数据治理与数据中台产品大全,国内数据治理厂商推荐
在数字化转型加速的背景下,数据治理与数据中台成为企业释放数据价值的关键。本文聚焦国内市场,精选10款代表性产品——包括瓴羊Dataphin、腾讯WeData、华为DataArts Studio、字节Dataleap、网易数帆EasyData、奇点云DataSimba、袋鼠云DTinsight、亚信AISWare DataOS、星环TDS和数澜Datahub,从核心能力、架构特点与适用场景等维度进行解析。这些产品各具优势,文章建议企业结合自身规模、业务特性与技术基础,选择匹配的数据平台,以实现数据驱动的高质量发展。
2025年国内主流数据治理与数据中台产品大全,国内数据治理厂商推荐
|
存储 自然语言处理 安全
C++ STL标准库 《string原理与实战分析》
C++ STL标准库 《string原理与实战分析》
450 0
|
运维 监控 网络协议
|
SQL 数据处理 数据库
深入解析SQL中的MERGE语句及其重要性
【8月更文挑战第31天】
677 1
|
传感器 监控 数据可视化
智能化工厂大屏监控
智能化工厂大屏监控
390 0
|
存储 Kubernetes 安全
在K8S中,你用的flannel是哪个工作模式及fannel的底层原理如何实现数据报文转发的?
在K8S中,你用的flannel是哪个工作模式及fannel的底层原理如何实现数据报文转发的?

热门文章

最新文章