LNMP环境搭建需依次完成系统准备、Nginx安装配置、MySQL/MariaDB初始化、PHP及FPM部署,并按nginx→数据库→php-fpm顺序启动服务,最后用phpinfo()验证。

LNMP(Linux + Nginx + MySQL + PHP)是部署动态网站最常用的开源技术栈之一。它轻量、高效、稳定,特别适合中小型 Web 应用和 WordPress、Typecho 等 CMS 的运行。搭建过程不难,但环节多、依赖杂,稍有疏忽就容易卡在某个服务启动或配置环节。
一、系统准备与基础环境检查
推荐使用 CentOS 7/8 或 Ubuntu 20.04/22.04 等长期支持版本。安装前先确认系统已更新并关闭防火墙(或放行对应端口):
- 执行 sudo apt update && sudo apt upgrade -y(Ubuntu/Debian)或 sudo yum update -y(CentOS 7)
- 临时停用防火墙:sudo ufw disable(Ubuntu)或 sudo systemctl stop firewalld(CentOS)
- 检查 SELinux 状态(CentOS):sestatus,如为 enforcing,建议设为 permissive:sudo setenforce 0
二、Nginx 安装与基本配置
Nginx 作为反向代理和静态资源服务器,需优先安装。推荐使用官方源或包管理器安装,避免手动编译带来的兼容问题:
- Ubuntu:运行 sudo apt install nginx,启动后访问 http://你的IP 应显示欢迎页
- CentOS 7:先添加 EPEL 源:sudo yum install epel-release,再执行 sudo yum install nginx
- 关键配置文件路径:/etc/nginx/nginx.conf(主配置)和 /etc/nginx/conf.d/default.conf(站点配置)
- PHP 支持需在 server 块中添加 fastcgi_pass 配置,指向 PHP-FPM 监听地址(通常是 127.0.0.1:9000 或 unix:/run/php/php8.1-fpm.sock)
三、MySQL(或 MariaDB)安装与安全初始化
MySQL 是主流选择,但 CentOS 8+ 默认用 MariaDB 替代;Ubuntu 22.04 默认也提供 MySQL 8.x。安装后必须运行安全脚本:
立即学习“PHP免费学习笔记(深入)”;
- Ubuntu 安装 MySQL:sudo apt install mysql-server,然后立即执行 sudo mysql_secure_installation
- CentOS 安装 MariaDB:sudo yum install mariadb-server mariadb,启动后同样运行 sudo mysql_secure_installation
- 登录验证:sudo mysql -u root -p,输入设置的密码,成功即表示数据库就绪
- 创建网站专用数据库和用户(示例):
CREATE DATABASE mysite CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'mysite_user'@'localhost' IDENTIFIED BY 'StrongPass123';
GRANT ALL PRIVILEGES ON mysite.* TO 'mysite_user'@'localhost';
FLUSH PRIVILEGES;
四、PHP 及扩展安装与 FPM 配置
PHP 版本建议选 7.4 或 8.1+(避开已停止维护的 7.2/7.3),同时安装常用扩展(如 mysqli、pdo_mysql、gd、curl、opcache):
- Ubuntu 22.04:sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip
- CentOS 7:启用 Remi 源后安装 PHP 8.1:sudo yum install php81-php-fpm php81-php-mysqlnd php81-php-gd php81-php-mbstring …
- 确认 PHP-FPM 正在运行:sudo systemctl start php8.1-fpm(Ubuntu)或 sudo systemctl start php81-php-fpm(CentOS)
- 检查监听方式:编辑 /etc/php/8.1/fpm/pool.d/www.conf(Ubuntu)或对应路径,确认 listen = /run/php/php8.1-fpm.sock 或 listen = 127.0.0.1:9000,与 Nginx 配置保持一致
基本上就这些。四个服务装完后,按顺序启动并设为开机自启:nginx → mysql/mariadb → php-fpm。最后放一个简单 test.php 到网站根目录(如 /var/www/html/test.php),内容为 ,浏览器访问即可验证整套环境是否跑通。不复杂但容易忽略细节,尤其是权限、端口、socket 路径和扩展缺失这几处。
以上就是Linux LNMP环境搭建说明_Linux NginxMySQLPHP完整教程的详细内容,更多请关注php中文网其它相关文章!