LNMP环境搭建:高效Web服务器指南
一、LNMP 简介
1.1 LNMP 是一种常见的 Web 服务器环境组合,由以下四个开源软件组成:
- L:Linux,操作系统
- N:Nginx,高性能的 Web 服务器和反向代理服务器
- M:MySQL/MariaDB,关系型数据库管理系统
- P:PHP/Python/Perl,服务器端脚本语言
1.2 LNMP 工作原理
- Nginx 作为 Web 服务器接收客户端请求,如果是静态资源(如 HTML、CSS、JS),则直接返回。
- 动态请求(如 PHP 文件)通过 FastCGI 协议传递给 PHP-FPM(PHP FastCGI 进程管理器)处理。
- PHP 脚本执行时,可能调用 MySQL/MariaDB 进行数据查询或存储。
- 处理完成后,PHP 将结果返回给 Nginx,再由 Nginx 发送给客户端。
1.3 LNMP 的优势
- 高性能:Nginx 采用事件驱动架构,能高效处理高并发请求。
- 低资源占用:相比传统的 LAMP(Apache + MySQL + PHP),LNMP 占用更少内存和 CPU。
- 灵活性:支持 PHP、Python、Perl 等多种后端语言。
- 易于扩展:Nginx 可作为反向代理,轻松实现负载均衡和缓存优化。
1.4 适用场景
- 个人博客、企业官网
- 高并发 Web 应用
- 需要轻量级、高效率的服务器环境
LNMP 是构建现代 Web 应用的流行选择,尤其适合需要高性能和低资源消耗的项目。
二、LNMP 环境搭建指南
2.1 安装 Nginx
更新系统软件包并安装 Nginx:
sudo yum update
sudo yum -y install nginx
启动 Nginx 并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
验证 Nginx 是否运行:
sudo systemctl status nginx
2.2 安装 MySQL
安装 MySQL 服务器:
sudo yum install mysql-server
运行安全脚本以加固 MySQL:
sudo mysql_secure_installation
启动 MySQL 并设置开机自启:
sudo systemctl start mysql
sudo systemctl enable mysql
2.3 安装 PHP
安装 PHP 及常用扩展:
sudo yum install php-fpm php-mysql
配置 Nginx 使用 PHP-FPM。编辑 Nginx 默认站点配置文件:
sudo vim /etc/nginx/nginx.conf
在 server
块中添加以下内容:
location ~ \.php$ { #连接phproot /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;}
重启 Nginx 使配置生效:
sudo systemctl restart nginx
2.4 测试 PHP
创建测试文件以验证 PHP 是否正常工作:
sudo vim /var/www/html/info.php
写入以下内容:
<?php phpinfo(); ?>
通过浏览器访问 http://服务器IP/info.php
,应显示 PHP 信息页面。
2.5 配置防火墙
允许 HTTP 和 HTTPS 流量:
sudo yum allow 'Nginx Full'
2.6 常见问题解决
若访问 PHP 文件出现 502 错误,检查 PHP-FPM 是否运行:
sudo systemctl status php7.4-fpm
确保 Nginx 配置中的 PHP 版本与实际安装版本一致。