手动部署LNMP环境(Ubuntu 20)
1. 创建实验资源
开始实验之前,您需要先创建实验相关资源。
- 在实验室页面,单击创建资源。
- (可选)在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如IP地址、用户信息等)。
说明:资源创建过程需要1~3分钟。
2. 准备工作
- 执行如下命令,检查防火墙当前状态。
sudo ufw status
返回结果如下,您可查看到当前防火墙的状态。
说明:
- 如果防火墙状态为Status: inactive,则表示防火墙为关闭状态。
- 如果防火墙状态为Status: active,则表示防火墙为开启状态。
- 关闭防火墙。如果防火墙为关闭状态可以忽略此步骤。
如果您的防火墙为开启状态,需要执行如下命令,关闭防火墙并关闭开机自启动防火墙。
sudo ufw disable
3. 安装Nginx服务
Nginx是一个高性能的HTTP和反向代理web服务器。本步骤将指导您如何在ECS实例上安装Nginx服务。
- 执行如下命令,更新Ubuntu系统内的软件包。
sudo apt update
- 执行如下命令,安装Nginx。
sudo apt -y install nginx
- 执行如下命令,查看Nginx版本。
sudo nginx -v
返回如下结果,您可以查看到Nginx的版本信息为1.18.0。同时也表示Nginx已成功安装。
4. 安装MySQL
MySQL是一个关系型数据库管理系统。本步骤将指导您如何在ECS实例上安装MySQL。
- 执行如下命令,安装MySQ。
sudo apt -y install mysql-server
- 执行如下命令,查看MySQL版本。
sudo mysql -V
返回结果如下所示,您可以查看到MySQL的版本为8.0.29。同时也表示MySQL已成功安装。
5. 安装PHP
PHP是一种广泛使用的通用开源脚本语言,适合于Web网站开发,它可以嵌入HTML中。本步骤将指导您如何在ECS实例上安装PHP服务。
- 执行如下命令,安装PHP。
sudo apt -y install php-fpm
- 执行如下命令,查看PHP版本。
sudo php -v
返回如下结果,您可以查看到PHP版本为7.4.3,同时也表示PHP已成功安装。
6. 配置Nginx服务
本步骤将指导您如何修改Nginx默认的配置文件,添加Nginx对PHP的支持。
- 打开Nginx默认的配置文件。
sudo vim /etc/nginx/sites-enabled/default
- 按i进入编辑模式,修改Nginx配置文件。
a.在server{}内,找到index开头的配置行,在该行中添加index.php。
b.在server{}内找到location ~ \.php$ {},去除以下配置行的注释符号#。
location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; }
c.按Esc退出编辑模式,然后输入:wq并按Enter键,保存并退出文件。
- 运行以下命令,重启Nginx服务。
sudo systemctl restart nginx.service
7. 配置MySQL
本步骤将指导您如何对MySQL进行安全性配置和测试登录MySQL数据库。
- 设置MySQL的root用户的初始密码。
a.执行如下命令,进入MySQL。
sudo mysql
b.执行如下SQL语句,设置MySQL的root初始密码为Password123。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'Password123';
c.执行如下命令,退出MySQL数据库。
exit
- MySQL安全性配置。
a.执行如下命令,对MySQL进行安全性配置。
sudo mysql_secure_installation
b.输入MySQL的root密码Password123。
c.输入Y使用MySQL自带的密码安全校验工具。
d.输入Y更改MySQL的root密码。
e.设置密码强度。
本教程中,输入0使用较安全的LOW等级。您可以根据实际业务需求选择适用的密码强度,建议您使用较高的密码强度,增强对数据安全的保护。
f.输入root用户的新密码并按下Enter键,例如密码输入为123456789。
说明:在输入密码时,系统为了最大限度的保证数据安全,命令行将不做任何回显。您只需要输入正确的密码信息,然后按Enter键即可。
g.再次输入root用户的新密码并按下Enter键。
h.输入Y并按下Enter键,确认使用已设置的密码。
i.输入Y并按下Enter键,删除匿名用户。
j.输入Y并按下Enter键,禁止root账号远程登录。
k.输入Y并按下Enter键,删除test库以及用户对test库的访问权限。
l.输入Y并按下Enter键,重新加载授权表。
返回结果如下,表示配置完成。
- 执行如下命令,登录MySQL。
sudo mysql -uroot -p
- 输入您的root用户新密码并按Enter键。
返回结果如下,表示您已成功登录MySQL数据库。
- 执行如下命令,退出MySQL数据库。
exit
8. 配置PHP
本步骤将指导您如何创建PHP测试页面并访问测试页面。
- 执行如下命令,在Nginx网站根目录中,新建phpinfo.php文件。
sudo vi /var/www/html/phpinfo.php
- 按i进入编辑模式,添加以下配置信息。
说明:phpinfo()函数会展示PHP的所有配置信息。
<?php echo phpinfo(); ?>
- 按Esc退出编辑模式,然后输入:wq并按Enter键,保存并退出文件。
- 执行如下命令,启动PHP。
sudo systemctl start php7.4-fpm
9. 测试访问PHP配置信息页面
在您的本机浏览器中打开新页签,在地址栏中,访问http://<ECS公网地址>/phpinfo.php。
说明:您需要将<ECS公网地址>替换为您ECS实例的公网IP。
返回如下页面,您可以查看到PHP配置信息页面,表示LNMP环境部署成功。
10. 后续步骤
成功搭建LNMP环境后,建议您删除phpinfo.php测试文件,消除数据泄露风险。
rm -rf <网站根目录>/phpinfo.php
本教程中网站根目录为/var/www/html,则需要运行如下命令删除测试文件。
rm -rf /var/www/html/phpinfo.php
实验链接:https://developer.aliyun.com/adc/scenario/ac45dde1f21d4f5b8d0c8f2788e71df8