手动部署LNMP环境(Ubuntu 20)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 本教程介绍如何在Ubuntu 20.04操作系统的ECS实例上搭建一套Nginx、MySQL和PHP应用的开发环境。

手动部署LNMP环境(Ubuntu 20)

1.  创建实验资源

开始实验之前,您需要先创建实验相关资源。

  1. 在实验室页面,单击创建资源
  2. (可选)在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如IP地址、用户信息等)。

说明:资源创建过程需要1~3分钟。

2.  准备工作

  1. 执行如下命令,检查防火墙当前状态。
sudo ufw status

返回结果如下,您可查看到当前防火墙的状态。

说明:

  • 如果防火墙状态为Status: inactive,则表示防火墙为关闭状态。
  • 如果防火墙状态为Status: active,则表示防火墙为开启状态。

  1. 关闭防火墙。如果防火墙为关闭状态可以忽略此步骤。

如果您的防火墙为开启状态,需要执行如下命令,关闭防火墙并关闭开机自启动防火墙。

sudo ufw disable

3.  安装Nginx服务

Nginx是一个高性能的HTTP和反向代理web服务器。本步骤将指导您如何在ECS实例上安装Nginx服务。

  1. 执行如下命令,更新Ubuntu系统内的软件包。
sudo apt update
  1. 执行如下命令,安装Nginx。
sudo apt -y install nginx
  1. 执行如下命令,查看Nginx版本。
sudo nginx -v

返回如下结果,您可以查看到Nginx的版本信息为1.18.0。同时也表示Nginx已成功安装。

4.  安装MySQL

MySQL是一个关系型数据库管理系统。本步骤将指导您如何在ECS实例上安装MySQL。

  1. 执行如下命令,安装MySQ。
sudo apt -y install mysql-server
  1. 执行如下命令,查看MySQL版本。
sudo mysql -V

返回结果如下所示,您可以查看到MySQL的版本为8.0.29。同时也表示MySQL已成功安装。

5.  安装PHP

PHP是一种广泛使用的通用开源脚本语言,适合于Web网站开发,它可以嵌入HTML中。本步骤将指导您如何在ECS实例上安装PHP服务。

  1. 执行如下命令,安装PHP。
sudo apt -y install php-fpm
  1. 执行如下命令,查看PHP版本。
sudo php -v

返回如下结果,您可以查看到PHP版本为7.4.3,同时也表示PHP已成功安装。

6.  配置Nginx服务

本步骤将指导您如何修改Nginx默认的配置文件,添加Nginx对PHP的支持。

  1. 打开Nginx默认的配置文件。
sudo vim /etc/nginx/sites-enabled/default
  1. 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键,保存并退出文件。

  1. 运行以下命令,重启Nginx服务。
sudo systemctl restart nginx.service

7.  配置MySQL

本步骤将指导您如何对MySQL进行安全性配置和测试登录MySQL数据库。

  1. 设置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
  1. 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键,重新加载授权表。

返回结果如下,表示配置完成。

  1. 执行如下命令,登录MySQL。
sudo mysql -uroot -p
  1. 输入您的root用户新密码并按Enter键。

返回结果如下,表示您已成功登录MySQL数据库。

  1. 执行如下命令,退出MySQL数据库。
exit

8.  配置PHP

本步骤将指导您如何创建PHP测试页面并访问测试页面。

  1. 执行如下命令,在Nginx网站根目录中,新建phpinfo.php文件。
sudo vi /var/www/html/phpinfo.php
  1. i进入编辑模式,添加以下配置信息。

说明:phpinfo()函数会展示PHP的所有配置信息。

<?php echo phpinfo(); ?>
  1. Esc退出编辑模式,然后输入:wq并按Enter键,保存并退出文件。
  2. 执行如下命令,启动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

相关文章
|
2月前
|
Ubuntu 测试技术 网络安全
Ubuntu系统下部署flatpress轻量级博客系统
【10月更文挑战第3天】Ubuntu系统下部署flatpress轻量级博客系统
54 3
Ubuntu系统下部署flatpress轻量级博客系统
|
2月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
503 3
|
2月前
|
Ubuntu
Ubuntu学习笔记(七):ubuntu下jupyter指定虚拟环境
本文介绍了如何在Ubuntu系统下使用Anaconda和Jupyter Notebook指定并切换不同的虚拟环境。
108 0
Ubuntu学习笔记(七):ubuntu下jupyter指定虚拟环境
|
2月前
|
Ubuntu API Python
Chat-TTS chat-tts-ui 实机部署上手测试!Ubuntu服务器实机 2070Super*2 8GB部署全流程
Chat-TTS chat-tts-ui 实机部署上手测试!Ubuntu服务器实机 2070Super*2 8GB部署全流程
75 1
|
2月前
|
Kubernetes 网络安全 容器
基于Ubuntu-22.04安装K8s-v1.28.2实验(一)部署K8s
基于Ubuntu-22.04安装K8s-v1.28.2实验(一)部署K8s
321 2
|
3月前
|
存储 关系型数据库 文件存储
Ubuntu22.04LTS基于cephadm快速部署Ceph Reef(18.2.X)集群
这篇文章是关于如何在Ubuntu 22.04LTS上使用cephadm工具快速部署Ceph Reef(18.2.X)存储集群的详细教程,包括ceph的基本概念、集群的搭建步骤、集群管理以及测试集群可用性等内容。
692 8
Ubuntu22.04LTS基于cephadm快速部署Ceph Reef(18.2.X)集群
|
3月前
|
Ubuntu 应用服务中间件 网络安全
Ubuntu 22.04环境下为Odoo开启80端口的方法
通过以上步骤,你应该能够在Ubuntu 22.04环境下为Odoo开启80端口。访问你的域名时,Nginx会将请求代理到Odoo,允许你通过80端口访问Odoo应用。
115 1
|
3月前
|
Ubuntu 开发工具 git
在Ubuntu上部署BOA服务器的步骤
部署BOA服务器是一个涉及多个步骤的过程,包括系统更新、安装依赖、下载和编译源代码、配置服务器以及启动和验证。遵循上述步骤,可以在Ubuntu系统上成功部署BOA服务器,为开发和测试提供一个轻量级的Web服务器环境。
85 0
|
3月前
|
存储 Ubuntu 网络安全
在Ubuntu系统下通过Caddy实现LXD的安装与部署
通过上述步骤,您可以在Ubuntu系统下通过Caddy实现LXD的安装与部署。这种方法不仅可以提高容器管理的效率,还可以借助Caddy的自动SSL管理功能提升安全性。
60 0
|
关系型数据库 MySQL 应用服务中间件
手动部署LNMP环境(Alibaba Cloud Linux 2)
本场景带您体验如何在Alibaba Cloud Linux 2.1903 LTS 64位操作系统的云服务器上搭建LNMP环境。
下一篇
DataWorks