【博客文章2026】将整个博客整体迁移到Oracle云上的Compute实例来运行---以本博客为例 Author: Bo Tang 1. 评估原博客的构成: 由于这是一个涉及到内容、应用和数据库的综合工程,所以为了将整个博客整体迁移到Oracle Cloud Infrastructure (OCI) 之前,需要评估原博客的构成。在迁移www.botangdb.com博客(原先位于hostgator提供的香港虚拟主机)之前,了解到其包含以下这些内容: 1. 静态内容:HTML、CSS、JavaScript、图片、大量视频等文件。 2. 动态应用:运行博客的程序为北京康盛新创公司推出的开源社区论坛软件系统Discuz(基于Php和MySQL数据库)。 在动手迁移前,必须彻底了解博客的当前架构。迁移博客到 OCI 的核心思路是:将博客的静态内容、动态应用和数据存储,整体迁移到 OCI 的弹性、安全且高可用的云服务上。这不仅能提升访问速度和可靠性,还能显著降低运维成本。 3. 数据库:存储文章、评论、用户信息等的MySQL数据库。 4. 配置与依赖:服务器配置、域名设置和SSL 证书。 2. 选择目标架构,在OCI 上构建新环境: 2.1 准备目标环境:在 OCI 上创建 VCN和子网: 使用 Virtual Cloud Network (VCN) 配置安全的网络环境,设置子网、安全列表和路由规则,确保博客应用能安全地访问数据库和互联网。创建VCN和并配置子网:登录Oracle Cloud后,找到链接路径为Networking--->Virtual cloud networks。 创建一个VCN:本例子中,它的名字叫vcn1,它的IPv4网段:10.0.0.0/16。 点击Security选项卡: 除了默认的Default Security List for vcn1外,需要创建一个新的Security List:本例子中,它的名字叫s1。 s1的Security Rules是: 只要添加Ingress Rules就可以。需要添加两条Ingress Rule: 1)Staleless为No;Source为0.0.0.0/0;IP Protocol为TCP;Source Port Range为ALL;Destination Port Range为80;Type and Code为空值;Allow为:TCP traffic for ports 80;Desscription为空值。 2)Staleless为No;Source为0.0.0.0/0;IP Protocol为TCP;Source Port Range为ALL;Destination Port Range为443;Type and Code为空值;Allow为:TCP traffic for ports 443HTTPS;Desscription为空值。 2.2 准备目标环境:在 OCI 上创建 Compute实例: 创建Compute实例:链接路径为Compute--->Instances。使用 Oracle Cloud Compute 创建虚拟机(VM)实例。 创建一个Compute实例:本例子中,它的名字叫botang。创建时,选择与原博客(运行在hostgator主机服务商)相同或相似的操作系统镜像:Oracle Enterprise Linux 8.10。 它的网络是之前创建的vcn1,它的外网地址是(自动分配的)40.233.91.144。 3. 在Compute实例上安装并配置MySQL数据库: 下载Compute实例的私钥,使用ssh连接工具来连接Compute实例的外网地址:
安装MySQL Server:
4. 在Compute实例上进行MySQL数据库数据库迁移: 下载Compute实例的私钥,使用Win SCP文件传送工具来上传原博客导出的整个MySQL数据库的逻辑备份(本例中,my.dump,在原博客数据库系统中使用mysqldump -u root -p botanmvo_1 > my.dump命令导出的)到Compute实例的外网地址的/home/opc目录: 在Compute实例上,创建与原博客系统同名的数据库(本例中,数据库名为botanmvo_1)、创建与原博客系统同名的数据库用户(本例中,数据库用户名为botanmvo_2)并进行授权:
验证:
5. 在Compute实例上安装HTTPD服务器和PHP:
由于原博客的PHP版本是7.4,所以注意使用dnf系统安装正确的PHP版本:
6. 在Compute实例上进行文件迁移: 上传包含原博客的/var/www/html整个tar包,然后将其移动到Compute实例的/var/www/html目录下,进行解压缩:
可选:如果有需要可以更改/var/ww/html下的Discuz程序的配置文件,主要是config目录下的config_global.php和source目录下的function_core.php。本例中由于所有配置都保留原样,所以不做改动。 7. HTTPS证书签名: 首次获取CA签名证书:
以上报错这样处理:为了申请签名,需要暂时关闭httpd:
发布CA证书:
8. 测试与验证: 在新环境中进行全面测试,确保所有功能(文章发布、评论、搜索、媒体播放等)正常运行,数据完整无误。切换与上线:将域名解析(DNS)指向 OCI 上的新博客地址(本例中是40.233.91.144)。
现在博客已经运行在Oracle Cloud之上了,就是读者所浏览的当前这个网页。 |
GMT+8, 2026-2-27 15:29 , Processed in 0.056090 second(s), 21 queries .