如何搭建lnmp虚拟机?新手入门步骤有哪些?

LNMP虚拟机搭建的核心方法是:在本地电脑上安装虚拟机软件,再在虚拟机中安装Linux系统,最后通过一键脚本或手动方式部署Nginx、MySQL、PHP环境。整个过程不需要额外购买服务器,适合新手练习和本地开发,下面我会按步骤拆解,从虚拟机选型到环境验证,每一步都给出可直接照做的命令和操作路径。

虚拟机软件怎么选?新手用哪个最省心

LNMP环境本身对虚拟机软件没有特殊要求,但不同软件在资源占用和操作难度上有明显差异,目前主流的选择是VMware Workstation和VirtualBox,两者都是免费或提供免费个人版,VMware界面更友好,但闭源;VirtualBox开源且轻量,但对显卡支持稍弱,如果你用的是Windows 10或11系统,也可以考虑Hyper-V,不过它默认不随系统启用,需要手动开启。

【2024年最新】[LNMP环境搭建]入行Linux必备,包含基础知识/安装/配置文件语法,0基础小白可学!
加载中
【2024年最新】[LNMP环境搭建]入行Linux必备,包含基础知识/安装/配置文件语法,0基础小白可学!

行业共识认为:新手优先选择VMware Workstation Player(免费版),因为它支持拖拽安装系统镜像,减少很多命令行操作,装好虚拟机软件后,还要准备一个Linux镜像文件,推荐使用CentOS 7.9或Ubuntu 22.04 LTS,这两个系统文档多、社区活跃,遇到报错容易搜到解决方案,CentOS 7.9更贴近传统服务器环境,Ubuntu则更新一些,建议根据你未来要部署的项目类型选择。

虚拟机软件安装要点:内存分配至少2GB,硬盘给20GB以上,网络模式选择NAT,NAT模式下虚拟机可以访问外网,又不干扰局域网其他设备,对新手最安全,处理器核心数给2个即可,不要贪多,否则会拖慢宿主机。

LNMP环境搭建前必须完成的三个准备步骤

很多新手跳过准备工作直接装环境,结果在编译阶段频繁报错,其实只要花十分钟完成下面三件事,后面会顺畅很多。

  • 更新系统源:输入yum update -y(CentOS)或apt update && apt upgrade -y(Ubuntu),让软件包列表保持最新
  • 安装编译工具:LNMP手动安装时需要gcc、make等工具,一键脚本会自动安装,但手动装建议提前执行yum groupinstall "Development Tools"或apt install build-essential
  • 关闭SELinux:CentOS系统必须执行setenforce 0并修改/etc/selinux/config中的SELINUX=disabled,否则Nginx和PHP-FPM经常出现权限拒绝的诡异问题

准备阶段最容易出错的是防火墙设置,如果你使用的是云服务器,需要去控制台放行80端口、443端口和MySQL的3306端口,但在虚拟机里,默认防火墙大概率是开启的,新手可以先执行

如何搭建lnmp虚拟机?新手入门步骤有哪些?

systemctl stop firewalld关闭防火墙,等环境跑通后再重新配置放行规则,这样省去排查时间。

LNMP一键脚本安装:最快拿到可用环境的路径

LNMP环境搭建有两种主流方式:一键脚本和手动编译,一键脚本适合追求效率的新手,整个过程约30分钟,全自动安装Nginx 1.24、MySQL 5.7和PHP 7.4,这里推荐使用国内常用的lnmp.org官方脚本,执行命令:

wget http://soft.vpser.net/lnmp/lnmp2.0.tar.gz
tar zxf lnmp2.0.tar.gz
cd lnmp2.0
./install.sh lnmp

脚本运行后会弹出选项界面,PHP版本选择7.4,MySQL版本选择5.7,内存分配选择默认即可,等待期间可以去泡杯茶,脚本会自动创建/home/wwwroot/default目录作为网站根目录,安装完成后访问虚拟机IP,如果看到LNMP默认欢迎页,说明环境已经可用。

脚本安装后的关键验证命令:

  • nginx -v 查看Nginx版本
  • mysql -uroot -p 登录MySQL
  • php -v 查看PHP版本
  • lnmp status 查看所有服务运行状态

如果脚本中途报错,大多数情况是网络问题导致依赖包下载失败,换个源重新执行脚本即可,注意脚本会占用较高CPU,虚拟机分配的内存如果小于1G,建议先增加内存再跑。

手动编译安装LNMP:深入理解每个组件的关联

如果你希望彻底掌握LNMP的目录结构和配置逻辑,手动编译是更扎实的路径,虽然步骤多,但每一步都有明确的目的,手动安装的顺序是:Nginx → MySQL → PHP,因为PHP需要调用MySQL的库文件,而Nginx需要能和PHP通信。

第一步:编译安装Nginx

先安装依赖:yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel,然后下载Nginx源码包:

wget http://nginx.org/download/nginx-1.24.0.tar.gz
tar zxf nginx-1.24.0.tar.gz
cd nginx-1.24.0
./configure --prefix=/usr/local/nginx --with-http_ssl_module
make && make install

安装完成后启动Nginx:/usr/local/nginx/sbin/nginx,这时在虚拟机浏览器里访问127.0.0.1,能看到”Welcome to nginx!”页面。

第二步:编译安装MySQL

如何搭建lnmp虚拟机?新手入门步骤有哪些?

MySQL编译耗时较长,建议先下载二进制免编译包,相比源码编译,免编译包只需解压并初始化数据库即可,更适合新手,下载MySQL 5.7的generic版本后:

groupadd mysql
useradd -r -g mysql mysql
tar zxf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.44 /usr/local/mysql
cd /usr/local/mysql
mkdir data
chown -R mysql:mysql /usr/local/mysql
./bin/mysqld --initialize-insecure --user=mysql

这里的--initialize-insecure会生成空密码root账户,方便首次登录,启动MySQL:./bin/mysqld_safe &,然后执行./bin/mysql -uroot进入控制台,再用ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';设置新密码。

第三步:编译安装PHP-FPM

PHP需要启用的扩展较多,新手容易漏装,建议在configure阶段加上--enable-fpm --with-mysqli --with-pdo-mysql三个核心参数,完整步骤:

wget https://www.php.net/distributions/php-7.4.33.tar.gz
tar zxf php-7.4.33.tar.gz
cd php-7.4.33
./configure --prefix=/usr/local/php --enable-fpm --with-mysqli --with-pdo-mysql
make && make install
cp php.ini-production /usr/local/php/lib/php.ini

然后复制PHP-FPM配置文件:cp /usr/local/php/etc/php-fpm.conf.default php-fpm.conf,再修改php-fpm.d/www.conf中的user和group为nginx运行用户。

手动安装完成后,还需要在Nginx配置文件中加入PHP解析规则,打开/usr/local/nginx/conf/nginx.conf,在server块中添加:

location ~ .php$ {
    root /home/wwwroot/default;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

修改后重启Nginx,在网站根目录创建index.php文件写入<?php phpinfo(); ?>,浏览器看到PHP信息页即成功。

LNMP虚拟机搭建后必做的五件安全与优化事

环境能跑起来只是开始,真正影响使用体验的是后续配置,下面五件事是每个搭建LNMP虚拟机的新手都应该完成的。

  • 修改SSH默认端口:把/etc/ssh/sshd_config中的Port从22改为高位端口,比如2222,重启sshd服务
  • 禁用MySQL root远程登录:执行

    如何搭建lnmp虚拟机?新手入门步骤有哪些?

    DELETE FROM mysql.user WHERE Host='%' AND User='root';

  • 开启Nginx Gzip压缩:在nginx.conf中解开gzip on;的注释,能减少30%以上传输体积
  • 设置PHP时区:修改php.ini中的date.timezone = Asia/Shanghai
  • 定期清理日志文件:Nginx日志默认存放在/usr/local/nginx/logs,时间长了会膨胀,可配置logrotate轮转

这里特别提醒,如果你在虚拟机里安装了宝塔面板或LNMP一键脚本,它们会生成默认站点页面,这些页面会暴露当前环境版本信息,有一定安全隐患,建议手动删除/home/wwwroot/default下的.user.ini和index.html内容,或者替换成自己的项目文件。

Q&A:lnmp虚拟机搭建常见问题速查

问:lnmp一键脚本安装和手动编译哪个更适合新手?
如果目标是快速跑通业务代码,一键脚本省时省力,脚本已经处理好权限和依赖,手动编译能让你理解每个组件的安装位置和配置方式,但排错难度大,新手容易卡在编译报错上,根据自身需求选择,先脚本后手动是一种常见的学习路径。

问:虚拟机里搭建LNMP和云服务器搭建有什么区别?
虚拟机完全运行在你的电脑上,不占额外费用,适合日常开发和压测,云服务器有公网IP,能让别人访问,但产生费用,两者的安装命令几乎完全一样,差别只在于网络配置和防火墙规则,本地虚拟机调试好的代码可以无缝迁移到云服务器,这也是推荐新手用虚拟机练手的原因。

问:搭建完成后访问网站一直显示默认页,是什么原因?
最常见的原因是网站根目录下的index.html优先级高于index.php,在Nginx配置中,index index.html index.php;这句的顺序决定了先加载哪个文件,把顺序改为index index.php index.html;,并删除默认的index.html文件再重启Nginx即可。

LNMP虚拟机搭建本质上就是把Linux系统、Nginx、MySQL和PHP这四个组件正确连接起来,无论用一键脚本还是手动编译,核心都在于配置文件之间的关联关系,跟着步骤走到最后,你会发现自己不仅装好了一套环境,更对网站运行的底层逻辑有了清晰认知,这套技能在后续部署任何Web项目时都会持续发挥作用。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/622630.html

赞 (0)
虚拟机克隆后如何改主机名IP和MAC?,具体步骤有哪些?
上一篇 2026年9月4日 19:23
cm域名和org域名到底有何区别,哪个更适合我?
下一篇 2026年9月4日 19:32

相关推荐

  • 服务器忽略客户端消息或客户端忽略服务器是怎么回事,如何解决?

    服务器忽略客户端的消息与客户端忽略服务器,本质是通信双方状态失配,通常由超时配置不一致、网络异常或协议不匹配引发, 解决的核心在于统一超时参数、引入心跳机制并确保状态同步,以下从原因、排查、对比到方案逐一拆解,服务器忽略客户端的消息常见原因分析服务器拒绝响应客户端请求原因:网络超时当服务器繁忙或网络延迟较高时……

    2026年8月3日
    900
  • 中分布式数据库系统应用如何实现,怎么用

    分布式数据库系统是数据库系统从集中式向分布式演进的必然结果,它通过数据分片、多副本复制和分布式一致性协议,在保证数据可靠性的同时,实现了近乎无限的横向扩展能力,已成为支撑互联网、金融、物联网等场景的核心基础设施,分布式数据库应用场景有哪些?典型场景详解电商秒杀与高并发场景电商大促期间,流量峰值可达平时的数十倍……

    2026年8月3日
    1900
  • 备案域名需要什么材料?域名备案需要准备哪些信息?

    域名备案需要准备的材料分为身份证明、主体资质、网站信息和接入商核验四类,个人备案与企业备案所需清单不同,但核心流程都是通过云服务商提交并等待管局审核,域名备案需要准备哪些信息:先别急着填表,把这几样东西备齐很多朋友第一次做网站,听到“备案”两个字就头大,其实域名备案没那么神秘,它就像给网站办一个“身份证”,材料……

    2026年9月2日
    800
  • ace网络编程教程难吗?ace网络编程教程零基础

    Ace网络编程教程的核心在于掌握基于ACE框架的高性能网络通信开发,通过封装底层Socket API并提供Reactor模式实现,能显著提升C++网络应用的并发处理能力与代码可维护性,为什么选择ACE框架进行网络开发在2026年的技术选型中,许多开发者面临原生Socket编程复杂度高、跨平台兼容性差以及高并发场……

    2026年7月3日
    1900
  • 香港服务器走什么线路快?CN2线路为什么速度最快?

    香港服务器访问速度最快、延迟最低的线路,首推CN2 GIA(全球互联网接入)直连线路,其次是CN2 GT线路,再次是优化后的BGP多线线路,对于追求极致速度的大陆用户而言,CN2 GIA是当之无愧的“黄金线路”,它能提供类似国内服务器般的低延迟体验,平均ping值通常控制在10ms-20ms之间,且晚高峰网络拥……

    2026年3月5日
    12100
  • 防CC攻击怎么办,CC攻击的防御方法有哪些?

    防CC攻击最有效的办法是组合使用高防IP、Web应用防火墙、服务器端请求频率限制与验证码机制,没有单一方案能100%防御,需要根据网站流量和攻击特征灵活调整,网站防CC攻击怎么设置?快速诊断与基础配置快速诊断CC攻击当网站突然响应变慢、带宽异常跑满、服务器CPU或内存飙升,或者数据库连接数暴增时,很可能已经遭受……

    2026年8月3日
    400
  • 网站安全检测怎么选,CodeArts Inspector租用和购买区别?

    租用与购买CodeArts Inspector,选型核心看检测频率、数据合规和预算模式如果您是常态化安全巡检、有数据私有化要求或长期使用需求,直接购买包周期套餐更划算;如果只是项目上线前的一次性评估或短期等保测评,租用按需模式则更灵活, 前者就像请了个长期坐诊的医生,后者更像按次预约的专家门诊,接下来我们从价格……

    2026年9月1日
    600
  • HTML图片底部怎么设置?图片底部对齐代码

    在HTML布局中,让图片底部对齐或添加说明文字,最稳妥的方式是使用Flexbox或Grid布局配合vertical-align属性,而非传统的浮动或绝对定位,这样能确保在不同屏幕尺寸下排版依然稳固,很多开发者在处理图文混排时,经常遇到图片底部留白过大、文字无法紧贴图片底部,或者图片在容器内垂直居中导致视觉重心偏……

    2026年6月10日
    2900
  • 庄河网吧有哪些服务器,庄河网吧服务器配置怎么选?

    庄河网吧通常没有对外公开的游戏区服,真正说的是局域网里的无盘服务器、游戏更新服务器、计费服务器、影视服务器和监控存储服务器, 主流方案是无盘服务器,品牌以戴尔、惠普、联想、超微为主,配置按机位、游戏更新量和预算决定,庄河网吧有哪些服务器?先分清五类角色庄河网吧的“服务器”不是单指一台机器,不同规模会把多台合并成……

    2026年10月6日
    200
  • 视频网站服务器带宽配置建议,视频网站需要多少带宽?

    视频网站服务器带宽配置直接决定了用户体验与运营成本,核心结论在于:必须依据并发人数、视频码率及传输协议进行精准测算,并采用“弹性带宽+高性能服务器+CDN加速”的组合架构,盲目追求高配会导致资源浪费,配置不足则引发卡顿流失,科学的配置方案是平衡性能与成本的关键, 带宽需求的核心测算逻辑带宽配置不是预估,而是基于……

    2026年3月6日
    13600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注