Home Knowledge base Skyline Cloud 如何在 Ubuntu 24.04 上安装 LEMP 环境(Nginx、MySQL、PHP) KNOWLEDGE BASE

如何在 Ubuntu 24.04 上安装 LEMP 环境(Nginx、MySQL、PHP)

一份清晰的分步指南,教你在 Ubuntu 24.04 LTS 上安装并配置可用于生产环境的 LEMP 环境——Nginx、MySQL 与 PHP-FPM,并附带经过验证的服务器配置块和 PHP 测试页面。

如何在 Ubuntu 24.04 上安装 LEMP 环境(Nginx、MySQL、PHP)

一份清晰的分步指南,教你在 Ubuntu 24.04 LTS 上安装并配置可用于生产环境的 LEMP 环境——Nginx、MySQL 与 PHP-FPM,并附带经过验证的服务器配置块和 PHP 测试页面。

简介

LEMP 环境是一组用于运行动态 Web 应用的开源软件。这个名称是 Linux、ENginx(读作 "Engine-X")、MySQL 与 PHP 的首字母缩写。它支撑着互联网上很大一部分站点,包括 WordPress、Laravel 和 Magento 站点。

在本教程中,你将在 Ubuntu 24.04 LTS 上安装并配置一套完整的 LEMP 环境:以 Nginx 作为 Web 服务器,以 MySQL 作为数据库,并使用 PHP-FPM 处理动态内容。完成后,你将拥有一个可正常运行、能够提供 PHP 页面的服务器配置块。

本指南适用于任何 Ubuntu 24.04 服务器。如果你是在沙特境内的 Skyline Cloud VPS 或云服务器上运行,你还将获得境内数据驻留、PDPL/NCA 合规对齐,以及本地阿拉伯语支持。

前置条件

开始之前,你应当具备:

  • 一台 Ubuntu 24.04 服务器,并拥有一个具备 sudo 权限的非 root 用户。
  • 一个基础防火墙(UFW)——下文将介绍。
  • (可选)一个通过 A 记录指向服务器公网 IP 的域名。

如果你还没有服务器,可以在 Skyline Cloud 上几分钟内创建一台。

第 1 步——更新软件包索引

请始终从更新软件包索引开始,以确保安装的是最新版本:

sudo apt update
sudo apt upgrade -y

第 2 步——安装 Nginx

安装 Nginx Web 服务器:

sudo apt install nginx -y

如果 UFW 处于启用状态,请放行 HTTP 和 HTTPS 流量。Nginx Full 配置文件会同时开放 80 和 443 端口:

sudo ufw allow 'Nginx Full'
sudo ufw status

验证 Nginx 是否正在运行:

systemctl status nginx

在浏览器中访问 http://your_server_ip——你应当会看到默认的 Welcome to nginx! 页面。

第 3 步——安装 MySQL

安装 MySQL 数据库服务器:

sudo apt install mysql-server -y

MySQL 会自动启动。接下来,运行安全脚本以移除不安全的默认设置:

sudo mysql_secure_installation

系统会提示你配置 VALIDATE PASSWORD 组件、移除匿名用户、禁止 root 远程登录,以及删除测试数据库。请对这些加固步骤回答 Y

在全新安装的 Ubuntu 上,MySQL 的 root 用户通过 auth_socket 插件进行身份验证,因此你可以在 shell 中无需密码即可连接:

sudo mysql

最佳实践是创建一个专用的应用程序用户,而不是使用 root。在 MySQL 提示符下:

CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'a_strong_password';
CREATE DATABASE appdb;
GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

第 4 步——安装 PHP

与 Apache 不同,Nginx 没有内置的 PHP 处理器。你需要安装 PHP-FPM(FastCGI 进程管理器)和 MySQL 扩展:

sudo apt install php-fpm php-mysql -y

Ubuntu 24.04 默认搭载 PHP 8.3。确认版本和 FPM 服务名称:

php -v
systemctl status php8.3-fpm

请记下套接字路径 /run/php/php8.3-fpm.sock——你将在 Nginx 配置中引用它。

第 5 步——配置 Nginx 使用 PHP-FPM

为你的站点创建一个网站根目录和一个服务器配置块。请将 your_domain 替换为你的域名或服务器 IP。

sudo mkdir -p /var/www/your_domain
sudo chown -R $USER:$USER /var/www/your_domain

创建服务器配置块文件:

sudo nano /etc/nginx/sites-available/your_domain

添加以下配置:

server {
    listen 80;
    server_name your_domain www.your_domain;
    root /var/www/your_domain;

    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

通过将该文件链接到 sites-enabled 来启用站点,然后移除默认站点以免冲突:

sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
sudo unlink /etc/nginx/sites-enabled/default

测试配置是否存在语法错误,然后重新加载:

sudo nginx -t
sudo systemctl reload nginx

第 6 步——测试 PHP 处理

在网站根目录中创建一个 PHP 测试文件:

nano /var/www/your_domain/info.php

添加以下内容:

<?php
phpinfo();

在浏览器中访问 http://your_domain/info.php。你应当会看到一个详细的 PHP 信息页面,这表明 Nginx 已正确地将请求传递给 PHP-FPM。

完成后请立即删除该文件——它会暴露可被攻击者利用的服务器详细信息:

sudo rm /var/www/your_domain/info.php

第 7 步——使用 HTTPS 加强安全(推荐)

对于任何公开站点,你都应当通过 HTTPS 提供流量。如果你的域名已指向服务器,请安装 Certbot 并获取一份免费的 Let's Encrypt 证书:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your_domain -d www.your_domain

Certbot 会编辑你的服务器配置块、安装证书,并设置自动续期。你可以通过 systemctl status certbot.timer 来验证续期定时器。对于需要组织验证型(OV)或通配符证书的商业站点,请参阅 Skyline 的托管 SSL 方案。

服务一览

组件 软件包 服务 默认端口 / 套接字
Web 服务器 nginx nginx 80 / 443
数据库 mysql-server mysql 3306(localhost)
PHP 处理器 php-fpm php8.3-fpm /run/php/php8.3-fpm.sock

结语

现在你已经在 Ubuntu 24.04 上拥有了一套可正常运行的 LEMP 环境——Nginx 负责处理请求,PHP-FPM 负责处理动态代码,MySQL 负责存储数据,并在 UFW 和 HTTPS 的保护之下运行。从这里开始,你可以将 WordPress、Laravel 应用或任何 PHP 项目部署到 /var/www/your_domain 中。

如果你不想自己管理操作系统,托管平台或企业邮箱托管可以为你分担这部分工作。要了解 VPS 规格、价格以及更广泛的产品系列,请访问 VPS 与云服务器中心。

准备好部署了吗?立即在 Skyline Cloud 上启动一台境内云服务器,让你的 LEMP 环境在几分钟内上线。

SKYLINE Engineering

@skyline

The engineering team at SKYLINE Industrial Solutions. We publish field-tested guides drawn from real KSA and GCC deployments.

See author profile
SKYLINE engineering services

Need this implemented for you?

Reading is free — building it right takes a team. SKYLINE engineers ship Skyline Cloud for Aramco vendors, banks, hospitals and government agencies across Saudi Arabia. Talk to us before you start.

Aramco Approved Contractor ISO 9001 · ISO 27001 SAMA CSF aligned NCA ECC ready 247+ KSA clients

Comments

0 total · 0 threads
Be the first to leave a comment.