Ubuntu 18.04 安装 LEMP 堆栈教程
LEMP 堆栈是一组开源软件的组合,用于搭建强大的服务器环境。LEMP 代表 Linux(操作系统),Nginx(Web 服务器),MySQL/MariaDB(数据库管理系统),以及 PHP(服务器端脚本语言)。本教程将逐步引导您在 Ubuntu 18.04 上安装和配置 LEMP 堆栈。
第一步:更新系统包
在安装 LEMP 堆栈之前,首先需要确保系统的软件包处于最新状态。可以使用以下命令来更新系统:
sudo apt update
sudo apt upgrade -y
命令解释:
sudo apt update
:更新可用的软件包列表。sudo apt upgrade -y
:升级已安装的软件包,并自动回答“是”以进行确认。
第二步:安装 Nginx
Nginx 是 LEMP 堆栈中的 Web 服务器。通过以下命令安装 Nginx:
sudo apt install nginx -y
命令解释:
sudo apt install nginx -y
:安装 Nginx Web 服务器,并自动确认安装。
安装完成后,您可以使用以下命令检查 Nginx 服务的状态:
sudo systemctl status nginx
命令解释:
sudo systemctl status nginx
:检查 Nginx 服务的当前状态,确认其是否正常运行。
如果 Nginx 正常运行,您可以通过访问服务器的 IP 地址来测试 Nginx 是否安装成功。打开浏览器,输入服务器的 IP 地址,您应该看到 Nginx 的默认欢迎页面。
第三步:安装 MySQL 或 MariaDB
LEMP 堆栈的数据库部分通常使用 MySQL 或 MariaDB。两者之间可以根据个人喜好选择。以下步骤将以 MySQL 为例进行演示。
首先,安装 MySQL 服务器:
sudo apt install mysql-server -y
命令解释:
sudo apt install mysql-server -y
:安装 MySQL 数据库服务器,并自动确认安装。
安装完成后,运行 MySQL 安全配置脚本来增强数据库安全性:
sudo mysql_secure_installation
命令解释:
sudo mysql_secure_installation
:启动 MySQL 安全配置脚本,帮助设置 root 密码,删除匿名用户,禁止远程 root 登录,移除测试数据库,并重新加载权限表。
根据提示完成安全设置后,您可以使用以下命令登录到 MySQL:
sudo mysql -u root -p
命令解释:
sudo mysql -u root -p
:以 root 用户身份登录 MySQL,-p
参数提示输入密码。
第四步:安装 PHP
PHP 是 LEMP 堆栈中的服务器端脚本语言,用于处理动态内容。安装 PHP 以及必要的扩展:
sudo apt install php-fpm php-mysql -y
命令解释:
sudo apt install php-fpm php-mysql -y
:安装 PHP-FPM 处理器和用于连接 MySQL 的 PHP 模块。
安装完成后,需要配置 Nginx 以支持 PHP。打开 Nginx 配置文件:
sudo nano /etc/nginx/sites-available/default
在配置文件中,找到以下行并取消注释(去掉前面的 #
号):
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
代码解释:
location ~ \.php$
:匹配所有以.php
结尾的请求。include snippets/fastcgi-php.conf
:包含 PHP 的 FastCGI 配置。fastcgi_pass unix:/var/run/php/php7.2-fpm.sock
:指定 PHP-FPM 处理请求的套接字。
保存并退出编辑器后,重新启动 Nginx 使更改生效:
sudo systemctl restart nginx
命令解释:
sudo systemctl restart nginx
:重新启动 Nginx 以应用新配置。
第五步:验证 PHP 是否配置正确
为了验证 PHP 是否配置正确,可以创建一个测试文件。首先,在 Nginx 的根目录中创建一个 info.php
文件:
sudo nano /var/www/html/info.php
在文件中添加以下内容:
<?php
phpinfo();
?>
代码解释:
phpinfo()
:PHP 函数,输出当前的 PHP 配置信息。
保存并退出编辑器。然后在浏览器中访问 http://your_server_ip/info.php
,您应该看到一个 PHP 信息页面,显示 PHP 的详细配置信息。
第六步:配置防火墙
为了确保服务器的安全性,需要配置防火墙以允许必要的流量。使用以下命令来允许 HTTP 和 HTTPS 流量通过 UFW(Uncomplicated Firewall):
sudo ufw allow 'Nginx Full'
命令解释:
sudo ufw allow 'Nginx Full'
:允许 HTTP 和 HTTPS 流量通过防火墙。
确认 UFW 状态以确保规则已生效:
sudo ufw status
命令解释:
sudo ufw status
:显示当前防火墙状态及其规则。
第七步:优化 LEMP 堆栈性能
为了确保 LEMP 堆栈的最佳性能,可以进行一些基本的优化配置:
调整 PHP 配置:编辑 PHP 配置文件
/etc/php/7.2/fpm/php.ini
,修改以下参数以提高性能:memory_limit
:增加 PHP 使用的内存限制。upload_max_filesize
和post_max_size
:调整文件上传大小限制。
- 配置 MySQL:编辑 MySQL 配置文件
/etc/mysql/mysql.conf.d/mysqld.cnf
,增加缓存大小和连接数以提高数据库性能。 - 使用缓存:考虑使用 Nginx 缓存、PHP OPcache 或者 MySQL Query Cache 来减少服务器的负载。
原理解释表
步骤 | 解释 |
---|---|
系统更新 | 更新系统包确保最新的安全修复和功能。 |
安装 Nginx | Nginx 是 Web 服务器,负责处理 HTTP 请求。 |
安装 MySQL | MySQL 是数据库管理系统,存储和管理数据。 |
安装 PHP | PHP 解释服务器端脚本,用于生成动态内容。 |
配置 Nginx | 配置 Nginx 以支持 PHP 请求处理。 |
验证 PHP | 通过浏览器访问确认 PHP 安装成功。 |
配置防火墙 | 设置防火墙以确保服务器的安全性。 |
优化性能 | 调整配置以提高 LEMP 堆栈的整体性能。 |
结论
通过以上步骤,您已经成功在 Ubuntu 18.04 上安装并配置了 LEMP 堆栈。该堆栈为 Web 开发提供了一个高效且稳定的环境。通过进一步的优化和安全设置,您可以确保服务器在生产环境中的可靠性和安全性。