LAMP环境是常用的Web开发环境之一,其中LAMP分别代表Linux、Apache、MySQL和PHP。本文将介绍如何在Ubuntu操作系统的ECS实例内部署LAMP环境。
前提条件
- 已创建ECS实例并为实例分配公网IP地址。具体操作,请参见使用向导创建实例。
本文示例步骤中,使用以下配置的ECS实例。实际操作时,建议您保持操作系统版本一致,避免因操作系统版本问题导致的命令执行报错。
- 实例规格:ecs.c6.large
- 操作系统:公共镜像Ubuntu 20.04 64位
- 网络类型:专有网络VPC
- IP地址:公网IP
- 已在实例安全组的入方向添加安全组规则并放行22、80端口。具体操作请参见添加安全组规则。
背景信息
本文适用于熟悉Linux操作系统,初次使用阿里云进行建站的个人用户。在示例步骤中使用了以下版本的软件。操作时,请您以实际软件版本为准。
- Apache:2.4.41
- MySQL:8.0.29
- PHP:7.4.3
步骤一:准备工作
- 远程连接需要部署LAMP环境的ECS实例。
- 关闭系统内部防火墙。
- 运行以下命令,检查防火墙当前状态。
- 如果防火墙状态为Status: inactive,则表示防火墙为关闭状态。
- 如果防火墙状态为Status: active,则表示防火墙为开启状态。
- 可选:关闭防火墙。
如果您的防火墙为开启状态,需要运行以下命令,关闭防火墙并关闭开机自启动防火墙。
sudo ufw disable
说明 如果您想重新开启防火墙并开启开机自启动防火墙,请运行sudo ufw enable命令。
步骤二:安装Apache
- 运行以下命令,更新Ubuntu系统内的软件包。
- 运行以下命令,安装Apache。
sudo apt-get -y install apache2
- 运行以下命令,查看Apache版本。
返回结果如下所示,表示Apache已成功安装,Apache的版本为2.4.41。
Server version: Apache/2.4.41 (Ubuntu)
Server built: 2022-01-05T14:49:56
- 运行以下命令,启动Apache服务并设置服务开机自启动。
sudo systemctl start apache2
- 在本地Windows主机或其他具备公网访问能力的主机中,通过浏览器访问
http://<ECS实例公网IP地址>
。如果您访问到如下Apache默认首页信息,则表示Apache服务处于正常运行状态。

步骤三:安装并配置MySQL
- 安装MySQL。
- 运行以下命令,安装MySQL。
sudo apt -y install mysql-server
- 运行以下命令,查看MySQL版本。
返回结果类似如下所示,表示MySQL已成功安装,MySQL的版本为8.0.29。
mysql Ver 8.0.29-0ubuntu0.20.04.3 for Linux on x86_64 ((Ubuntu))
- 运行以下命令,启动MySQL服务。
sudo systemctl start mysql
- 配置MySQL。
- 运行以下命令,进入MySQL。
- 运行以下命令,设置root用户密码。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mynewpassword';
本示例中密码以
Mysql@1234
为例,示例命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'Mysql@1234';
- 运行以下命令,退出MySQL数据库。
- 运行以下命令,对MySQL进行安全性配置。
sudo mysql_secure_installation
- 根据命令行提示,依次完成以下配置项。
- 输入root用户的密码。本示例中输入
Mysql@1234
。root@iZbp19jsi7s0g7m4zgc****:~# sudo mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root:
说明 在输入密码时,系统为了最大限度的保证数据安全,命令行将不做任何回显。您只需要输入正确的密码信息,然后按Enter键即可。
- 输入Y,更改root用户密码。
Change the password for root ? ((Press y|Y for Yes, any other key for No) : Y
- 输入root用户密码。
New password:
Re-enter new password:
Estimated strength of the password: 100
- 输入Y,确认使用已设置的密码。
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
- 输入Y删除MySQL自带的匿名用户。
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
- 输入Y,禁止MySQL的root用户的远程登录权限。
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
- 输入Y,移除test数据库。
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) :
- 输入Y,重新加载授权表。
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
当命令行回显All done!时,表示配置完成。
- 测试登录MySQL数据库。
- 运行以下命令,登录MySQL数据库。
- 在命令行回显的Enter password:后输入已设置的数据库密码。
说明 在输入密码时,系统为了最大限度的保证数据安全,命令行将不做任何回显。您只需要输入正确的密码信息,然后按Enter键即可。
成功登录MySQL数据库后,命令行信息如下所示。
root@iZbp19jsi7s0g7m4zgc****:~# sudo mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 15
Server version: 8.0.29-0ubuntu0.20.04.3 (Ubuntu)
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
- 运行以下命令,退出MySQL数据库。
步骤四:安装PHP
- 运行以下命令,安装PHP。
sudo apt -y install php-fpm
sudo apt -y install libapache2-mod-php
- 运行以下命令,查看PHP版本。
返回结果类似如下所示,表示PHP已成功安装,PHP的版本为7.4.3。
PHP 7.4.3 (cli) (built: Nov 25 2021 23:16:22) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
步骤五:创建并访问测试网页
- 在Apache网站根目录中,创建测试网页。
- 运行以下命令,查看Apache网站根目录的路径信息。
sudo cat /etc/apache2/sites-available/000-default.conf
命令行返回结果中的DocumentRoot /var/www/html一行,即表示网站根目录为/var/www/html。
- 运行以下命令,在网站根目录创建测试网页,并把
phpinfo()
函数添加至网页内容中。phpinfo()
函数会展示PHP的所有配置信息。
sudo echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php
- 运行以下命令,重启Apache服务。
sudo systemctl restart apache2
- 在本地Windows主机或其他具备公网访问能力的主机中,通过浏览器访问
http://<ECS实例公网IP地址>/phpinfo.php
。访问结果如下图所示,成功查看到PHP配置信息页面,表示LAMP环境部署成功。

后续步骤
成功搭建LAMP环境后,建议您删除
phpinfo.php测试文件,消除数据泄露风险。
rm -rf <网站根目录>/phpinfo.php
本教程中网站根目录为
/var/www/html
,则需要运行以下命令删除测试文件。
rm -rf /var/www/html/phpinfo.php