目录

一、前言

二、实验目标与环境说明

1. 实验目标

2. 实验环境

三、第一步:CentOS 7 虚拟机初始化与远程连接配置

1. 虚拟机网络配置

2. 安装并启用 SSH 服务

3. 使用 Xshell 远程连接

四、第二步:LNMP 环境分步安装

1. 系统基础更新

2. 安装 Nginx

3. 安装 MySQL(MariaDB)

4. 安装 PHP 7.4

五、第三步:版本信息验证与截图

1. Linux 内核版本

2. Nginx 版本

3. MySQL/MariaDB 版本

4. PHP 版本

5. 合并截图

六、实验常见问题与避坑指南

1. Xshell 无法连接虚拟机

2. Nginx 启动失败

3. PHP 无法连接 MySQL

七、扩展:验证 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. 虚拟机网络配置

  1. 打开 VMware,将虚拟机的网络适配器设置为 NAT 模式(VMnet8),确保物理机与虚拟机在同一网段。
  2. 启动虚拟机,登录系统后,查看网卡 IP 地址:

    bash

    运行

    ip addr show ens33
    
    记录下虚拟机的 IP(例如 192.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 远程连接

  1. 打开 Xshell,点击「新建会话」,输入虚拟机的 IP 地址,端口默认 22。
  2. 输入 CentOS 的用户名(默认 root)和密码,完成远程连接。
  3. 连接成功后,终端将显示虚拟机的命令行界面,后续所有操作都将在远程终端中完成。

四、第二步: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 环境的部署与验证,主要掌握了以下技能:

  1. 虚拟机网络配置与 SSH 远程连接方法
  2. LNMP 各组件的分步安装与版本验证
  3. 基础的 Linux 系统服务管理命令
  4. 实验截图与报告整理规范

LNMP 环境是 Web 开发和云计算学习的基石,本次搭建的环境不仅能满足课程实验的要求,也为后续 WordPress、Discuz 等 Web 应用的部署打下了坚实的基础。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐