文档首页> 常见问题> 如何搭建LNMP环境?

如何搭建LNMP环境?

发布时间:2025-04-24 10:56       

零基础也能学会!手把手教你搭建LNMP环境完整指南

LNMP(Linux + Nginx + MySQL + PHP)是当前最流行的Web服务器环境之一,以其高性能、低资源消耗著称。本文将采用Step-by-Step方式,带你从零开始完成LNMP环境的搭建,无论你是初学者还是有一定经验的开发者,都能轻松掌握。

准备工作

  • 一台安装有Linux系统的服务器(推荐使用CentOS 7/8或Ubuntu 18.04/20.04)
  • root或sudo权限
  • 稳定的网络连接
  • 至少1GB内存(建议2GB以上)
  • 10GB以上可用磁盘空间

详细安装步骤

第一步:系统更新

在开始安装前,确保系统是最新状态:

# CentOS/RHEL
sudo yum update -y

# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y

第二步:安装Nginx

Nginx作为高性能的Web服务器,是LNMP的核心组件:

# CentOS/RHEL
sudo yum install epel-release -y
sudo yum install nginx -y

# Ubuntu/Debian
sudo apt install nginx -y

启动并设置开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

验证安装:浏览器访问http://你的服务器IP,看到Nginx欢迎页说明成功。

第三步:安装MySQL/MariaDB

我们将安装MariaDB(MySQL的开源分支):

# CentOS/RHEL 7
sudo yum install mariadb-server mariadb -y

# CentOS/RHEL 8
sudo dnf install mariadb-server -y

# Ubuntu/Debian
sudo apt install mariadb-server -y

启动并设置安全选项:

sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation

按照提示设置root密码,移除测试数据库等。

第四步:安装PHP

安装PHP及其常用扩展:

# CentOS/RHEL 7
sudo yum install epel-release -y
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install yum-utils -y
sudo yum-config-manager --enable remi-php74
sudo yum install php php-fpm php-mysqlnd php-opcache php-gd php-mbstring php-curl -y

# Ubuntu/Debian
sudo apt install php-fpm php-mysql php-cli php-gd php-curl php-mbstring -y

验证PHP安装:

php -v

第五步:配置Nginx支持PHP

编辑Nginx默认配置文件:

sudo vi /etc/nginx/conf.d/default.conf

修改server部分配置如下:

server {
    listen       80;
    server_name  localhost;
    
    location / {
        root   /usr/share/nginx/html;
        index  index.php index.html index.htm;
    }
    
    location ~ \.php$ {
        root           /usr/share/nginx/html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

测试并重载配置:

sudo nginx -t
sudo systemctl restart nginx
sudo systemctl restart php-fpm

第六步:测试PHP解析

创建测试文件:

sudo vi /usr/share/nginx/html/info.php

添加以下内容:

浏览器访问http://你的服务器IP/info.php,应该看到PHP信息页面。

性能优化建议

  • Nginx优化:调整worker_processes为CPU核心数,启用gzip压缩
  • PHP优化:调整php-fpm进程数量,启用OPcache
  • MySQL优化:配置合适的缓存大小,使用索引优化查询
  • 安全加固:限制PHP函数执行,配置防火墙规则

常见问题解决

502 Bad Gateway错误

通常是因为php-fpm没有正常运行:

sudo systemctl status php-fpm
sudo systemctl restart php-fpm

PHP文件被下载而非执行

检查Nginx配置是否正确处理.php文件,特别是fastcgi_pass参数。

MySQL连接失败

确保MySQL服务运行正常,检查用户权限:

sudo systemctl status mariadb
mysql -u root -p

总结

通过以上步骤,你已经成功搭建了一个完整的LNMP环境。这个环境可以支持大多数PHP应用的运行,包括WordPress、Laravel等流行框架。建议进一步学习如何配置虚拟主机、SSL证书等进阶内容,让你的网站更加专业和安全。

记得定期更新系统组件,保持环境的安全性和稳定性。如果在搭建过程中遇到任何问题,欢迎在评论区留言讨论。