云服务器部署LNMP教程:2026年最新阿里云ECS使用指南

简介: 本文详解2026年阿里云ECS部署LNMP环境的两种方式:一键快捷部署(通过系统运维管理扩展程序,5分钟完成)和手动部署(支持Alibaba Cloud Linux/CentOS/Ubuntu,可深度定制与安全加固),涵盖Nginx、MySQL、PHP安装配置及连通性验证,适合新手入门与生产环境使用。(239字)

云服务器部署LNMP教程:2026年最新阿里云ECS使用指南,阿里云服务器如何部署安装LNMP程序环境?超简单,看完就能上手!阿小云整理阿里云官方关于LNMP的两种部署方式,一个是快捷部署,一个是手动部署。LNMP架构是一种流行的网站服务器解决方案,它结合了Linux操作系统、Nginx Web服务器、MySQL数据库和PHP编程语言。本文介绍部署LNMP环境的几种方式,以及各自的适用场景,您可以按需选择任意一种部署LNMP环境的方式。


本文是以云服务器ECS为例:https://www.aliyun.com/product/ecs  如下:

ecs.jpg


快速部署:扩展程序部署LNMP环境

本文介绍利用扩展程序快速部署LNMP环境的方法。您无需了解安装细节,因为系统运维管理提供的扩展程序将自动执行安装过程。

说明

如果需要批量安装,您可以登录系统运维管理控制台,左侧菜单选择服务器管理 > 扩展程序,选择LNMP一键安装

前提条件

  • 安全组入方向规则已放行80端口。具体操作,请参见添加安全组规则
  • 使用本功能时,您的实例需满足以下条件。
  • ECS实例必须处于运行中状态。
  • 实例已分配固定公网IP地址或绑定弹性公网IP(EIP)。如您不清楚如何开通公网,请参见开通公网
  • ECS实例已安装云助手,并且云助手状态为正常
  • 如果使用RAM用户,请根据以下自定义权限策略,为RAM用户配置最小必要权限,以确保遵循最小权限原则。
    自定义权限JSON

操作步骤

  1. 登录ECS控制台-实例,点击目标ECS实例的ID,打开其详情页面。
  2. ECS实例详情页面,选择定时与自动化任务 > 安装/卸载扩展程序 > 安装扩展程序

  3. 安装扩展程序对话框,要安装的扩展程序选择公共扩展程序,在下拉搜索框中找到并选择LNMP一键安装,然后单击下一步,按照界面提示完成操作。
    当任务状态为已完成时,说明LNMP已部署。
    说明
    MySQL root用户密码请查看扩展程序的任务详情,扩展信息内容。

  4. 在本地物理机上使用浏览器访问http://ECS实例公网IP/phpinfo.php,验证LNMP是否已成功安装。
    说明
    外部访问ECS实例,安全组入方向规则需要放行80端口。


手动部署:LNMP环境

在ECS实例上通过包管理器构建LNMP环境,支持 Alibaba Cloud Linux、CentOS 及 Ubuntu 多系统。采用手动部署方式,解决镜像环境难以定制配置文件的痛点,满足 WordPress、Magento 等动态网站对底层环境完全控制与安全加固的生产需求。

实施步骤

为保证流畅体验,建议ECS实例内存不低于2 GiB。

一、准备工作

配置公网IP与安全组以确保实例可被外部访问,并更新系统组件以修复潜在安全漏洞。

  1. 配置公网访问。
    确保ECS实例已分配公网IP或已绑定弹性公网IP(EIP),以允许公网访问。具体操作,请参见开通公网
  2. 添加安全组放行规则。
    在ECS实例关联的安全组中添加入方向规则,放行 TCP 协议的 80 端口(用于HTTP访问)。具体操作,请参见添加安全组规则
  3. 更新系统及软件包。


阿小云以Alibaba Cloud Linux 3 / CentOS 8操作系统为例,

  1. 登录ECS实例。
  1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。
  2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。
  1. 将系统已有的软件包列表和软件更新到最新版本。
sudo dnf update -y


二、安装并配置Nginx

添加Nginx官方源并安装。

#添加Nginx官方源
sudo tee /etc/yum.repos.d/nginx.repo <<-'EOF'
[nginx-stable]
name=nginx stable repo
baseurl=https://nginx.org/packages/centos/8/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
EOF
#安装Nginx
sudo dnf -y install nginx
  1. 启动并设置开机自启。
enable --now参数会同时完成启动服务和设置开机自启两个操作。
sudo systemctl enable --now nginx
  1. 验证Nginx服务。
    执行curl http://127.0.0.1,如果终端输出了Nginx的欢迎页HTML代码,说明安装成功。

三、安装并加固MySQL

  1. 安装并启动MySQL。
# Alibaba Cloud Linux 3 需要安装compat-openssl10以兼容旧版OpenSSL
if [ -f /etc/os-release ]; then
    . /etc/os-release
    if [ "$ID" = "alinux" ] && [ "$VERSION_ID" = "3" ]; then
        sudo yum install -y compat-openssl10
    fi
fi
# 添加MySQL 8.4的YUM仓库
sudo rpm -Uvh https://repo.mysql.com/mysql84-community-release-el8-1.noarch.rpm
# 安装MySQL服务
sudo dnf install -y mysql-server

启动并设置开机自启。

sudo systemctl enable --now mysqld
  1. 设置安全加固。MySQL默认配置存在安全风险(如允许匿名登录、允许root远程登录),需运行其自带的安全加固脚本。
  1. 获取初始root密码。
    仅适用于Alibaba Cloud Linux/CentOS(Ubuntu默认使用免密登录),获取的密码用于后续步骤重置密码。
# 从日志中提取并显示临时密码
sudo grep 'temporary password' /var/log/mysqld.log
  1. 运行加固脚本。执行命令 sudo mysql_secure_installation,并根据提示完成以下建议配置:
  1. 重置root账号密码:使用上一步获取的临时密码登录并设置新密码。
建议设置一个包含大小写字母、数字和特殊符号,且长度不低于12位的强密码。
  1. 移除匿名用户:输入Y。
  2. 禁止root远程登录:输入Y。
  3. 删除测试库:输入 Y。
  4. 重载权限表:输入 Y。


四、安装并配置PHP

安装PHP、PHP-FPM(用于处理Web请求)以及连接MySQL的扩展组件。


# 添加PHP源
cat > /etc/yum.repos.d/remi.repo << 'EOF'
[remi]
name=Remi\'s RPM Repository for Enterprise Linux 8 - x86_64
baseurl=https://rpms.remirepo.net/enterprise/8/remi/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://rpms.remirepo.net/RPM-GPG-KEY-remi2024
[remi-safe]
name=Remi Safe Repository
baseurl=https://rpms.remirepo.net/enterprise/8/safe/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://rpms.remirepo.net/RPM-GPG-KEY-remi2024
EOF
# 导入 GPG Key
rpm --import https://rpms.remirepo.net/RPM-GPG-KEY-remi2024
# 安装工具并启用模块
dnf install -y yum-utils
# 安装 PHP
dnf install -y php php-fpm php-mysqlnd


  1. 添加PHP源并安装。
  2. 启动并设置PHP-FPM开机自启。
sudo systemctl enable --now php-fpm

五、配置Nginx支持PHP解析

默认情况下,Nginx 仅能处理静态网页(如 HTML、图片)。为支持动态网站(如WordPress),需配置Nginx将.php文件的请求转发至PHP-FPM进行处理。否则,访问PHP页面时会出现文件被直接下载或无法显示的问题。

备份Nginx配置文件。

sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak

获取PHP服务的通信地址。

Nginx通过该通信地址将PHP请求转发至PHP-FPM进行处理。

PHP_FPM_LISTEN=$(sudo sed -n 's/^\s*listen\s*=\s*//p' /etc/php-fpm.d/www.conf | head -n 1)
echo "$PHP_FPM_LISTEN"

配置Nginx转发规则,将.php请求正确转发至PHP服务。

根据上一步的输出结果,将下方命令中的 替换为实际的通信地址后执行:

  • 若输出为文件路径(如 /run/php-fpm/www.sock):使用的通信方式为Unix Socket(仅限本地通信,性能更好且更安全),PHP通信地址格式为unix:文件路径,例如 unix:/run/php-fpm/www.sock
  • 若输出为 IP:端口(如 127.0.0.1:9000):通信方式为TCP(支持跨主机通信,适用于PHP-FPM与Nginx分离部署的场景),可以直接作为PHP通信地址。
sudo tee /etc/nginx/conf.d/default.conf <<-'EOF'
server {
    listen       80;
    server_name  localhost;
    root /usr/share/nginx/html;
    # 设置默认首页文件
    index index.php index.html index.htm;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    # 将.php请求转发给PHP-FPM
    location ~ \.php$ {
        fastcgi_pass   <PHP通信地址>;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}
EOF

检查配置文件。

sudo nginx -t
  • 如果返回结果中包含关键字 successful,表示配置正确,可执行下一步。
  • 如果返回结果中包含 failed,表示配置错误。请检查命令中的路径是否替换正确,或执行以下命令从备份中恢复配置文件:
sudo mv /etc/nginx/conf.d/default.conf.bak /etc/nginx/conf.d/default.conf

重启Nginx使配置生效。

sudo systemctl restart nginx

六、验证LNMP环境

创建测试文件,验证Nginx能否解析PHP,以及PHP能否连接到MySQL数据库,以确保LNMP各组件协同工作正常。

验证Nginx解析。

  1. 创建测试文件:生成一个包含phpinfo() 函数的文件,用于输出当前PHP环境的详细配置。
echo "<?php phpinfo(); ?>" | sudo tee /usr/share/nginx/html/phpinfo.php
  1. 浏览器验证:访问 http:///phpinfo.php
  • 成功标志:页面正常渲染并展示PHP环境配置信息。
  • 失败标志:显示 "File not found" 或直接下载了文件。
  1. 清理测试文件:验证成功后,必须删除该文件phpinfo页面包含敏感信息,暴露于公网会带来安全风险。

验证PHP与MySQL的连通性。创建一个PHP脚本,用于测试PHP能否通过mysqlnd扩展连接到数据库。

  1. 创建数据库和用户。
    使用root账户登录MySQL(输入步骤三中设置的root账号密码)。
sudo mysql -u root -p
  1. mysql>提示符下执行以下命令,创建名为 webapp 的库和 webuser 用户,并授予其对该数据库的所有权限。
CREATE DATABASE webapp;
/* 将<YourPassword>替换为一个强密码。*/
CREATE USER 'webuser'@'localhost' IDENTIFIED BY '<YourPassword>';
GRANT ALL PRIVILEGES ON webapp.* TO 'webuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
  1. 创建数据库连接测试文件。将下面命令中的 替换为上一步设置的用户密码后再执行。
sudo tee /usr/share/nginx/html/test.php <<-'EOF'
<?php
$servername = "localhost";
$username = "webuser";
$password = "<YourPassword>";
$dbname = "webapp";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
    die("数据库连接失败: " . $conn->connect_error);
}
echo "数据库连接成功!";
?>
EOF
  • 浏览器验证:访问 http:///test.php。当页面显示数据库连接成功!表示测试通过。
  • 清理测试文件:该脚本内包含明文的数据库账号密码,测试通过后必须立即删除,防止凭据泄露。


更多关于阿里云服务器实践教程,请移步到阿里云服务器ECS官方页面查看:https://www.aliyun.com/product/ecs

目录
相关文章
|
监控 网络协议 物联网
你知道什么是物联网MQTT么?
你知道什么是物联网MQTT么?
1164 0
|
人工智能 安全 Unix
Linux常用命令笔记大全(建议收藏!!)
Linux常用命令笔记大全(建议收藏!!)
667 0
|
23天前
|
人工智能 Linux API
喂饭级教程:OpenClaw(大龙虾)云端/本地部署+五大应用场景+配置阿里云百炼Coding Plan及常见问题解答
2026年,开源AI智能体OpenClaw(曾用名ClawdBot、MoltBot,因Logo酷似小龙虾被网友亲切称为“大龙虾”)以“行动式AI”的鲜明定位爆红全网。它打破了传统“对话式AI”仅能答疑的局限,通过极简的Pi引擎架构与丰富的Skills生态,让非技术用户也能轻松拥有7×24小时运行的“个人AI员工”,覆盖个人办公、企业协作、开发运维、生活效率、创新应用五大核心场景。
1129 5
|
20天前
|
人工智能 JavaScript API
OpenClaw(龙虾AI)免费部署使用指南:阿里云/本地秒级部署+3大免费模型API(无限量Token替代方案)
2026年,OpenClaw的普及让越来越多用户感受到AI Agent的高效,但“模型Token太贵”的抱怨也随之而来——高频使用下,Token消耗速度远超预期,不少用户刚体验到便利就被账单劝退。其实,免费模型API平台早已遍地开花,从阿里云百炼的90天免费额度,到OpenRouter的永久免费模型,再到国内平台的新用户专属福利,零成本使用OpenClaw并非难事。
2439 1
|
4月前
|
人工智能 Rust 运维
这个神器让你白嫖ClaudeOpus 4.5,Gemini 3!还能接Claude Code等任意平台
加我进AI讨论学习群,公众号右下角“联系方式”文末有老金的 开源知识库地址·全免费
8424 21
|
Cloud Native 数据挖掘 Linux
Alibaba Cloud Linux和CentOS有什么区别?
阿里云服务器Linux操作系统Alibaba Cloud Linux和CentOS有什么区别?
3607 0
Alibaba Cloud Linux和CentOS有什么区别?
|
域名解析 监控 网络协议
使用nginx配置一个ip对应多个域名
使用nginx配置一个ip对应多个域名
2313 1
使用nginx配置一个ip对应多个域名
|
2月前
|
存储 弹性计算 运维
2026年阿里云ECS云服务器部署OpenClaw(Clawdbot)+配置百炼 API 步骤流程
OpenClaw(原Clawdbot/Moltbot)作为阿里云生态下的开源AI自动化代理工具,凭借自然语言交互、全场景任务自动化、插件化扩展的核心能力,已成为个人办公提效、企业轻量化数字化转型的核心工具。2026年阿里云ECS云服务器针对OpenClaw推出“一键部署”方案,将原本需要手动配置环境、安装依赖、调试参数的复杂流程,简化为可视化表单配置+自动化执行,即使是零基础的技术新手,也能在10分钟内完成从ECS实例创建到OpenClaw服务可用的全流程。本文将详细拆解阿里云ECS云服务器一键部署OpenClaw的完整步骤,包含配置要点、代码命令、功能验证与运维技巧,覆盖从新手入门到企业级应
491 8
|
12天前
|
人工智能 自然语言处理 安全
零基础小白必看|阿里云秒级部署OpenClaw(Clawdbot),无缝接入MiniMax M2.5大模型全指南
2026年,AI智能体技术快速普及,OpenClaw(曾用名Clawdbot、Moltbot)作为轻量化开源AI自动化助手,凭借“自然语言驱动、多工具协同、零编程门槛”的核心优势,成为个人与轻量团队解锁自动化办公、代码开发、多场景任务处理的首选工具。它无需复杂操作,仅需输入口语化指令,就能自动完成文档整理、网页抓取、代码生成、定时任务、跨平台同步等重复性工作,堪称“7×24小时不下线的私人AI助理”,彻底解放双手、提升效率。
370 1
|
14天前
|
人工智能 Linux API
OpenClaw+MiniMax M2.7集成流程:本地/阿里云端部署、大模型配置与复杂任务执行教程
MiniMax M2.7是2026年面向AI Agent场景深度优化的文本大模型,在指令遵循、长程任务、代码能力与多Skill协同上实现显著突破,成为适配OpenClaw(小龙虾)的高性价比国产模型选择。其核心优势集中在Agentic能力强化,可稳定支撑浏览器自动化、API调用、联网检索、办公文档处理、子Agent调度等复合任务,在复杂自动化场景中表现接近海外头部模型,成本仅为高端模型的零头,适合长期挂载OpenClaw执行稳定任务。
1886 2

热门文章

最新文章