阿里云服务器如何部署安装LNMP程序环境?超简单,看完就能上手!

简介: 本文详解阿里云ECS部署LNMP环境的两种方式:一是通过系统运维管理控制台“一键安装”扩展程序,快速完成部署;二是手动安装Linux+Nginx+MySQL+PHP,支持Alibaba Cloud Linux/CentOS/Ubuntu,满足WordPress等对配置与安全的定制化需求。含完整步骤、命令及验证方法。

阿里云服务器如何部署安装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服务。

根据上一步的输出结果,将下方命令中的 <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://<ECS公网IP>/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. 创建数据库连接测试文件。将下面命令中的 <YourPassword> 替换为上一步设置的用户密码后再执行。
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://<ECS公网IP>/test.php。当页面显示数据库连接成功!表示测试通过。
  • 清理测试文件:该脚本内包含明文的数据库账号密码,测试通过后必须立即删除,防止凭据泄露。


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

相关文章
|
21天前
|
人工智能 自然语言处理 Shell
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
本教程指导用户在开源AI助手Clawdbot中集成阿里云百炼API,涵盖安装Clawdbot、获取百炼API Key、配置环境变量与模型参数、验证调用等完整流程,支持Qwen3-max thinking (Qwen3-Max-2026-01-23)/Qwen - Plus等主流模型,助力本地化智能自动化。
32538 122
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
|
16天前
|
人工智能 安全 机器人
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
OpenClaw(原Clawdbot)是一款开源本地AI助手,支持钉钉、飞书等多平台接入。本教程手把手指导Linux下部署与钉钉机器人对接,涵盖环境配置、模型选择(如Qwen)、权限设置及调试,助你快速打造私有、安全、高权限的专属AI助理。(239字)
6913 20
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
|
15天前
|
人工智能 机器人 Linux
OpenClaw(Clawdbot、Moltbot)汉化版部署教程指南(零门槛)
OpenClaw作为2026年GitHub上增长最快的开源项目之一,一周内Stars从7800飙升至12万+,其核心优势在于打破传统聊天机器人的局限,能真正执行读写文件、运行脚本、浏览器自动化等实操任务。但原版全英文界面对中文用户存在上手门槛,汉化版通过覆盖命令行(CLI)与网页控制台(Dashboard)核心模块,解决了语言障碍,同时保持与官方版本的实时同步,确保新功能最快1小时内可用。本文将详细拆解汉化版OpenClaw的搭建流程,涵盖本地安装、Docker部署、服务器远程访问等场景,同时提供环境适配、问题排查与国内应用集成方案,助力中文用户高效搭建专属AI助手。
4879 12
|
17天前
|
人工智能 机器人 Linux
保姆级 OpenClaw (原 Clawdbot)飞书对接教程 手把手教你搭建 AI 助手
OpenClaw(原Clawdbot)是一款开源本地AI智能体,支持飞书等多平台对接。本教程手把手教你Linux下部署,实现数据私有、系统控制、网页浏览与代码编写,全程保姆级操作,240字内搞定专属AI助手搭建!
5720 21
保姆级 OpenClaw (原 Clawdbot)飞书对接教程 手把手教你搭建 AI 助手
|
17天前
|
存储 人工智能 机器人
OpenClaw是什么?阿里云OpenClaw(原Clawdbot/Moltbot)一键部署官方教程参考
OpenClaw是什么?OpenClaw(原Clawdbot/Moltbot)是一款实用的个人AI助理,能够24小时响应指令并执行任务,如处理文件、查询信息、自动化协同等。阿里云推出的OpenClaw一键部署方案,简化了复杂配置流程,用户无需专业技术储备,即可快速在轻量应用服务器上启用该服务,打造专属AI助理。本文将详细拆解部署全流程、进阶功能配置及常见问题解决方案,确保不改变原意且无营销表述。
6324 6
|
19天前
|
人工智能 JavaScript 应用服务中间件
零门槛部署本地AI助手:Windows系统Moltbot(Clawdbot)保姆级教程
Moltbot(原Clawdbot)是一款功能全面的智能体AI助手,不仅能通过聊天互动响应需求,还具备“动手”和“跑腿”能力——“手”可读写本地文件、执行代码、操控命令行,“脚”能联网搜索、访问网页并分析内容,“大脑”则可接入Qwen、OpenAI等云端API,或利用本地GPU运行模型。本教程专为Windows系统用户打造,从环境搭建到问题排查,详细拆解全流程,即使无技术基础也能顺利部署本地AI助理。
7787 17

热门文章

最新文章