在阿里云轻量应用服务器(Lightweight Application Server)上配置 PHP 和 MySQL,最推荐且高效的方式是使用宝塔面板(BT Panel)或LNMP 镜像。这两种方式能极大简化安装过程,避免手动编译的复杂操作。
以下是两种主流方案的详细步骤:
方案一:使用 LNMP 镜像(最简单,适合新手)
阿里云轻量应用服务器提供了一键部署的“镜像”功能,这是最快的方法。
-
重置/重装系统
- 登录阿里云控制台,进入【轻量应用服务器】列表。
- 找到你的服务器实例,点击右侧的 【更多】 -> 【重装系统】。
- 在镜像选择页面,切换到 【应用镜像】 标签页。
- 搜索并选择 "LNMP" 相关的镜像(通常命名为
LNMP (PHP 8.x + MySQL 5.7/8.0))。 - 设置 root 密码(建议与宝塔面板初始密码一致),点击确认重装。
-
查看初始信息
- 重装完成后,在实例详情页的 “基本信息” 中,会显示该镜像自动生成的 root 密码、MySQL 密码 和 phpMyAdmin 访问地址(如果有)。
- 记下这些信息,稍后登录时备用。
-
验证环境
- 通过 SSH 工具(如 Xshell、PuTTY 或终端)连接服务器:
ssh root@<服务器IP>。 - 输入密码登录。
- 检查服务状态:
systemctl status nginx systemctl status mysql systemctl status php-fpm - 如果状态均为
active (running),说明环境已就绪。
- 通过 SSH 工具(如 Xshell、PuTTY 或终端)连接服务器:
方案二:使用宝塔面板(图形化管理,推荐)
如果你希望有可视化的管理界面来管理文件、数据库和网站,宝塔面板是最佳选择。
第一步:安装宝塔面板
-
SSH 登录服务器:使用 root 用户登录你的轻量应用服务器。
-
执行安装命令:
复制以下命令并粘贴到终端回车(根据需求选择版本,这里以 CentOS/Ubuntu 为例):CentOS:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484becUbuntu/Debian:
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec(注:
ed8484bec是宝塔的默认安全令牌,用于防止误操作) -
获取面板地址:
安装完成后,终端会输出一行类似这样的信息:
访问地址:http://<服务器IP>:8888 用户名:xxx 密码:xxx
请复制这三项信息保存好。
第二步:配置 Web 环境
- 登录面板:在浏览器打开上述地址,输入账号密码登录。
- 安装软件栈:
- 进入左侧菜单的 【软件商店】。
- 找到 Nginx、MySQL 和 PHP 模块。
- 点击 【安装】,建议选择 Nginx + MySQL 5.7/8.0 + PHP 8.1/8.2(根据你的项目需求选择版本)。
- 等待安装完成。
第三步:创建数据库与网站
- 创建网站:
- 点击左侧 【网站】 -> 【添加站点】。
- 输入域名(如果是测试,可以直接填 IP 或 localhost),选择根目录(如
/www/wwwroot/yourdomain)。 - 勾选是否开启 SSL(暂时可忽略,后续再配)。
- 创建数据库:
- 点击左侧 【数据库】 -> 【添加】。
- 输入数据库名、用户名、密码(务必记牢)。
- 点击确定,宝塔会自动为你生成一个
mysql客户端入口。
- 配置 PHP 版本:
- 在 【网站】 列表中,点击刚创建的网站对应的 【设置】。
- 选择 【PHP 版本】,切换到你刚才安装的版本(如 PHP 8.1)。
- 点击 【安装扩展】,根据需要勾选
pdo_mysql,mbstring,fileinfo等常用扩展。
关键配置与防火墙设置
无论使用哪种方案,必须确保阿里云的安全组允许了相关端口,否则无法访问。
-
配置安全组:
- 登录阿里云控制台 -> 【轻量应用服务器】 -> 点击实例 ID。
- 找到 【安全组】 标签页,点击 【配置规则】。
- 确保以下端口已放行(协议选 TCP,授权对象设为
0.0.0.0/0):- 80 (HTTP)
- 443 (HTTPS,如需 SSL)
- 8888 (宝塔面板管理端,仅方案二需要)
- 3306 (MySQL,强烈建议不直接开放给公网,仅内网或特定 IP 访问,防止被爆破)
-
修改 MySQL 远程访问(可选):
- 默认情况下 MySQL 只允许本地连接 (
localhost)。 - 如果需要从外部连接(如 Navicat),需登录 MySQL 修改权限:
USE mysql; UPDATE user SET host = '%' WHERE user = 'root'; FLUSH PRIVILEGES; - 注意:生产环境不建议将 MySQL 端口对全网开放,建议使用 SSH 隧道或内网连接。
- 默认情况下 MySQL 只允许本地连接 (
常见问题排查
- 502 Bad Gateway:通常是 Nginx 未启动或 PHP-FPM 进程挂了。检查日志
/var/log/nginx/error.log。 - 无法连接数据库:检查代码中的数据库密码是否与宝塔/镜像生成的密码一致;检查安全组是否放行了 3306(如果尝试直连)。
- 中文乱码:确保数据库字符集设置为
utf8mb4,并在代码中设置charset=utf8mb4。
建议:如果你是初次接触 Linux 服务器,方案一(LNMP 镜像) 是最快上手的路径;如果你需要长期维护多个网站或进行精细化配置,方案二(宝塔面板) 会更省力。
云小栈