从零搭建本地 LNMP 环境:远程部署与版本验证全记录
目录
一、前言
在 Web 开发和云计算学习中,LNMP(Linux+Nginx+MySQL+PHP)环境是最经典的技术栈之一。本次实验我们将在本地虚拟机中部署一套完整的 LNMP 环境,并通过远程连接工具完成版本信息验证,为后续 WordPress 等 Web 应用的搭建打好基础。
二、实验目标与环境说明
1. 实验目标
- 在本地 CentOS 7 虚拟机中部署 LNMP 环境
- 使用 Xshell/SecureCRT 远程连接主机
- 输出并验证 Linux、Nginx、MySQL、PHP 的版本信息
- 为后续 Web 应用部署准备稳定的基础环境
2. 实验环境
表格
| 组件 | 版本 / 说明 |
|---|---|
| 物理机系统 | Windows 10/11 |
| 虚拟化软件 | VMware Workstation Pro 16 |
| 虚拟机系统 | CentOS 7.9 x86_64(Minimal 最小化安装) |
| 远程工具 | Xshell 7 |
| LNMP 组件 | Linux 3.10 + Nginx 1.20 + MySQL 5.7 + PHP 7.4 |
三、第一步:CentOS 7 虚拟机初始化与远程连接配置
1. 虚拟机网络配置
- 打开 VMware,将虚拟机的网络适配器设置为 NAT 模式(VMnet8),确保物理机与虚拟机在同一网段。
- 启动虚拟机,登录系统后,查看网卡 IP 地址:
bash
运行
记录下虚拟机的 IP(例如ip addr show ens33192.168.137.128),用于后续远程连接。
2. 安装并启用 SSH 服务
CentOS 7 默认已安装 OpenSSH 服务,我们只需启动并设置开机自启:
bash
运行
# 查看SSH服务状态
systemctl status sshd
# 若未启动,执行以下命令
systemctl start sshd
systemctl enable sshd
# 关闭防火墙(实验环境,避免拦截SSH连接)
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
3. 使用 Xshell 远程连接
- 打开 Xshell,点击「新建会话」,输入虚拟机的 IP 地址,端口默认 22。
- 输入 CentOS 的用户名(默认 root)和密码,完成远程连接。
- 连接成功后,终端将显示虚拟机的命令行界面,后续所有操作都将在远程终端中完成。
四、第二步:LNMP 环境分步安装
1. 系统基础更新
bash
运行
yum -y update
yum install -y wget vim net-tools
2. 安装 Nginx
bash
运行
# 安装Nginx官方YUM源
yum install -y https://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
# 安装Nginx
yum install -y nginx
# 启动并设置开机自启
systemctl start nginx
systemctl enable nginx
# 验证安装
nginx -v
3. 安装 MySQL(MariaDB)
CentOS 7 默认的 YUM 源中,MySQL 已被 MariaDB 替代,我们可以直接安装 MariaDB:
bash
运行
# 安装MariaDB服务端和客户端
yum install -y mariadb-server mariadb
# 启动并设置开机自启
systemctl start mariadb
systemctl enable mariadb
# 初始化数据库(设置root密码、删除匿名用户)
mysql_secure_installation
# 验证安装
mysql -V
4. 安装 PHP 7.4
CentOS 7 默认的 PHP 版本为 5.4,无法满足现代 Web 应用的需求,我们需要通过 Remi 源安装 PHP 7.4:
bash
运行
# 安装EPEL和Remi源
yum install -y epel-release
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
# 启用PHP 7.4源
yum-config-manager --enable remi-php74
# 安装PHP及常用扩展
yum install -y php php-fpm php-mysqlnd php-gd php-mbstring php-xml php-xmlrpc php-json
# 启动PHP-FPM并设置开机自启
systemctl start php-fpm
systemctl enable php-fpm
# 验证安装
php -v
五、第三步:版本信息验证与截图
远程连接成功后,依次执行以下命令,获取 LNMP 各组件的版本信息:
1. Linux 内核版本
bash
运行
uname -a
输出示例:
plaintext
Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
2. Nginx 版本
bash
运行
nginx -v
输出示例:
plaintext
nginx version: nginx/1.20.1
3. MySQL/MariaDB 版本
bash
运行
mysql -V
输出示例:
plaintext
mysql Ver 15.1 Distrib 5.5.68-MariaDB, for Linux (x86_64) using readline 5.1
4. PHP 版本
bash
运行
php -v
输出示例:
plaintext
PHP 7.4.33 (cli) (built: Nov 1 2022 12:37:31) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
5. 合并截图
将以上四个命令的执行结果截图,合并为一张图片(可使用画图工具拼接),作为实验提交材料。
六、实验常见问题与避坑指南
1. Xshell 无法连接虚拟机
- 检查虚拟机的 IP 地址是否正确:
ip addr - 确认虚拟机的防火墙和 SELinux 已关闭:
systemctl status firewalld - 验证 VMware 的 VMnet8 网络是否正常,尝试 ping 虚拟机 IP:
ping 192.168.137.128
2. Nginx 启动失败
- 检查 80 端口是否被占用:
netstat -tulnp | grep 80 - 查看 Nginx 错误日志:
/var/log/nginx/error.log
3. PHP 无法连接 MySQL
- 确认
php-mysqlnd扩展已安装:php -m | grep mysql - 检查 MySQL 用户权限是否配置正确,允许本地连接。
七、扩展:验证 LNMP 环境运行状态
为了进一步验证 LNMP 环境是否正常工作,我们可以创建一个简单的 PHP 探针文件:
bash
运行
# 创建探针文件
echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/info.php
# 配置Nginx支持PHP解析(修改配置文件)
vi /etc/nginx/conf.d/default.conf
添加以下配置:
nginx
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
重启 Nginx 服务:
bash
运行
systemctl restart nginx
在物理机浏览器中访问 http://虚拟机IP/info.php,若能看到 PHP 信息页面,说明 LNMP 环境已正常运行。
八、实验总结
本次实验我们完成了本地 LNMP 环境的部署与验证,主要掌握了以下技能:
- 虚拟机网络配置与 SSH 远程连接方法
- LNMP 各组件的分步安装与版本验证
- 基础的 Linux 系统服务管理命令
- 实验截图与报告整理规范
LNMP 环境是 Web 开发和云计算学习的基石,本次搭建的环境不仅能满足课程实验的要求,也为后续 WordPress、Discuz 等 Web 应用的部署打下了坚实的基础。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)