前言
ARM 为啥好?
随着 Apple Silicon 版本的 Mac 发布后,大家越来越看到了非 X86 的 ARM 架构的潜力,AWS 家的 Graviton 和 阿里云的倚天都是非常好的 ARM 版云服务器。
性能上,基于ARM架构的实例规格,每一个vCPU都对应一个处理器的物理核心,具有性能稳定且资源独享的特点。而不是像 X86 架构,每一个 vCPU 其实对应的是一个超线程,并不是一整个物理核心。
价格上,基于ARM架构的实例拥有企业级的性能稳定性,但是价格却比企业级X86实例低得多。例如都是 2C8G 的配置:
规格类型 | 网络性能规格 | 配置 | 价格(元/月) |
Intel 通用型 g7 | 10 Gbps/90万 PPS | 2C8G | 271.16 |
AMD 通用型 g7 | 10 Gbps/90万 PPS | 2C8G | 231.20 |
共享标准型 s6 | 2 Gbps/20万 PPS | 2C8G | 200.00 |
突发性能实例 t6 | 1 Gbps/10万 PPS | 2C8G | 156.00 |
倚天 通用型 g8y | 10 Gbps/90万 PPS | 2C8G | 212.00 |
可见 ARM 版实例,仅比共享性能实例价格略高,就可以获得100%性能独享和更多的企业级ECS特性。
PHP 为啥那么适合 ARM?
大家在使用 arm64 设备时,都会遇到一个问题就得找 arm64 架构开发的软件,如果是 amd64 开发的传统X86架构软件就会有兼容性的问题,就算是模拟架构也有很大的性能损耗的问题。但是 PHP 开发的软件却有着非常优异的跨架构兼容性。
因为 PHP 的特性,PHP 只需要其本身以及相关扩展支持跨架构的能力,那么基于 PHP 开发的软件就可以运行。因此 PHP 语言真的是跨平台的天选语言呀~
HestiaCP
HestiaCP 是一个免费开源的 Web 服务器控制面板,是当初流行的 VestaCP 控制面板的一个Fork,后面随之 VestaCP 的开发停滞,由开源爱好者组成了新的 HestiaCP 社区,并持续开发者 HestiaCP。
HestiaCP提供了一个简单干净的服务器控制后台,并为管理员提供了轻松管理其 Web 服务器的各项功能和组建,包括管理和部署网站、邮件帐户、DNS 区域和数据库。
目前 HestiaCP 可以在 amd64 和 arm64 两种架构下运行,但目前仅局限于受到主流支持的 Deb系系统:
- Debian 10
- Debian 11
- Ubuntu 18.04 LTS
- Ubuntu 20.04 LTS
- Ubuntu 22.04 LTS
安装
一、选择 ARM 架构的 ECS,大家可以在这里输入 g8y 查看支持倚天所包含的第八代ECS实例所支持的地域,截止发文受到支持的地域是:北京、上海和深圳。
https://ecs-buy.aliyun.com/instanceTypes#/instanceTypeByRegion
二、ECS实例规格选型:
在购买页面选择 ARM 计算。
三、ECS镜像选型:
这里选择 Debian 11 ARM版,一般来说针对 ARM 的支持,越新的系统支持的越好。目前没有 Ubuntu 22.04可选,我们选 Debian 11。
其余的全部选型和X86版的ECS购买过程是一致的。
四、SSH 登录,安装 HestiaCP。
1.运行 apt update && apt upgrade -y
更新系统
2.完成更新后,进入如下网址,生成安装命令:
https://installer.hestiacp.cn/
勾选需要的特性之后,点击右上角的 生成命令:
然后运行接下来生成的两行命令即可:
由此就进入了安装自动化步骤,我们等待10-15分钟,因为很多下载源在海外,所以大陆地区的云服务器访问会稍稍慢一点。
安装完成后,标框的地方会提示后台的登录地址和管理账号密码。
一般来说默认是:
管理后台: https://你的公网IP:8083
管理员账号:admin
管理员密码:passw0rd (默认的话)
然后,我们需要重启一下服务器。
使用
账户管理
一、登录管理后台,我们就可以看到登录页面了。
提示: 建议管理后台端口仅对你的IP开放访问,亦或者配置虚拟专线方式或者零信任进行限制,切勿直接向 0.0.0.0/0 开放访问。
二、我们可以在系统概览中,查看系统信息,可以看到操作系统显示是:
Debian 11.6 (aarch64),证明我们就在 ARM 架构上安装的 HestiaCP。
三、回到用户账户界面,点击左上角的添加用户账户:
填写相关信息后点击右上角的 保存 按钮进行添加账户。
四、然后我们点击新创建用户那一列的第一个按钮,会提示 “切换登录账户 xxx”
这里要介绍 HestiaCP 一个很好的思路,就是不使用超级管理员账户来管理网站,而是创建普通用户。超级管理员能管理的内容太多,如果超级管理员下的文件有漏洞被提权的话,是可以干很多坏事的。
同时不同的账户创建不同的网站、应用,也可以更好的做到隔离性。
创建 Web 服务
一、点击 添加网站域名 按钮,创建 Web 服务,输入对应的域名,点击保存即可。
二、成功后,返回 Web 服务页面。点击对应的域名,我们进一步修改:
三、开启 HTTPS,点击上图所示的 启用SSL 功能即可,然后上传对应域名的 SSL 证书,如果需要使用 Let‘s Encrtypt 的免费证书,那么直接勾选 采用 Let‘s Encrtypt 按钮即可。
四、如果之前安装的时候选择了安装多 PHP 版本,那么可以在 后端模板 中,选择不同版本的 PHP。
文件传输
一、在线文件管理
1.点击顶部导航栏中的 文件管理 按钮。
2.然后在对应目录上传文件即可,可以进行上传下载、压缩和解压缩等操作。
3. 在探针中,我们可以看到 Linux 内核是 arm64/aarch64 的内核,证明我们的 PHP 和 HestiaCP 都稳定的运行在 ARM 架构中。
二、 SFTP 方式
如果安装过程中开启了 FTP 功能,也可以使用 FTP 进行传输,这里使用 SFTP:
1. 回到超级管理员权限,在账户管理中,编辑刚才我们创建的普通用户:
点击 高级选项 按钮,然后在 SSH访问控制 中将 nologin
替换成 bash
或者 rbash
2. 通过 FTP 选择 SFTP协议,或者 SSH 控制台进行远程登录就可以使用 SSH/SFTP 进行有限的文件传输和管理了。
总结
其他的就不赘述了,创建数据库并通过 phpMyAdmin 进行管理,然后我们可以创建 WordPress、Discuz、NextCloud 等 PHP 应用了。
PHP + ARM = 超高性价比的选择~