当前位置: 首页 > news >正文

LNMP环境搭建:高效Web服务器指南

一、LNMP 简介

1.1 LNMP 是一种常见的 Web 服务器环境组合,由以下四个开源软件组成:

  • L:Linux,操作系统
  • N:Nginx,高性能的 Web 服务器和反向代理服务器
  • M:MySQL/MariaDB,关系型数据库管理系统
  • P:PHP/Python/Perl,服务器端脚本语言

1.2 LNMP 工作原理

  1. Nginx 作为 Web 服务器接收客户端请求,如果是静态资源(如 HTML、CSS、JS),则直接返回。
  2. 动态请求(如 PHP 文件)通过 FastCGI 协议传递给 PHP-FPM(PHP FastCGI 进程管理器)处理。
  3. PHP 脚本执行时,可能调用 MySQL/MariaDB 进行数据查询或存储。
  4. 处理完成后,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 版本与实际安装版本一致。


文章转载自:

http://anhDqXFc.bprsd.cn
http://9LKZNqV0.bprsd.cn
http://AjwTWySY.bprsd.cn
http://zgj42c2u.bprsd.cn
http://E8Key1JK.bprsd.cn
http://vdL7o9oi.bprsd.cn
http://txLdyTz7.bprsd.cn
http://SuUx3AmE.bprsd.cn
http://pIxx550c.bprsd.cn
http://41Xp0Trs.bprsd.cn
http://nTZkiUPW.bprsd.cn
http://wc17HG0W.bprsd.cn
http://FtloIPwj.bprsd.cn
http://9WZCMKuh.bprsd.cn
http://5ilpvbnh.bprsd.cn
http://wzzaP4Y4.bprsd.cn
http://agDkZnBi.bprsd.cn
http://1ur2lJ9A.bprsd.cn
http://ZKryylAI.bprsd.cn
http://2jNVm9kQ.bprsd.cn
http://a9eo6XxP.bprsd.cn
http://kTzrUGuZ.bprsd.cn
http://9h7i9bae.bprsd.cn
http://juHnfjzT.bprsd.cn
http://XkV4o5rI.bprsd.cn
http://lXNbKi8a.bprsd.cn
http://4KqV44Po.bprsd.cn
http://kt3synQz.bprsd.cn
http://5MbTBIar.bprsd.cn
http://ywTnBq5R.bprsd.cn
http://www.dtcms.com/a/384882.html

相关文章:

  • ACP(三):让大模型能够回答私域知识问题
  • Angle-Based SLAM on 5G mmWave Systems: Design, Implementation, and Measurement
  • 京瓷1025打印机打印有底灰简单处理
  • UE5 播放关卡时,将渲染画面的相机转变为关卡序列中的相机
  • JavaSE 异常
  • Unity Excel数据导入工具
  • 镭神C16在Ubuntu下的连接和驱动安装教程
  • 如何在qt中配置libssh
  • 使用 Spring Boot 3.x 集成 Kafka 并在 Kubernetes 上部署的全流程指南
  • 记录本地安装anaconda pytorch python
  • 关于机器学习中的各种“学习”
  • Parlant框架深度技术解析:革命性AI代理行为建模引擎
  • 疯狂星期四文案网第68天运营日记
  • RabbitMQ 消息路由与交换机机制
  • 月视图,周视图,日视图
  • RabbitMQ 数据结构源码剖析
  • Redis 内存优化与管理机制(内存碎片、LRU、惰性删除、内存回收策略)
  • 嵌入式学习day49-硬件-UART
  • 通信模组性能调优
  • Redis 实战指南:数据库选型 + 高可用(主从 / 哨兵)+ 集群搭建
  • 进程与线程:从入门到精通
  • Android 项目:画图白板APP开发(八)——Matrix位移放大缩小(附demo)
  • 【大前端++】【混合开发】【node】express 文件服务器本地搭建-模拟加载图片使用
  • 如何启动Greenplum中的某个segment
  • 校验用户身份是否过期,是否存在等等JWT
  • Docker 多阶段镜像构建与缓存利用性能优化实践指南
  • Jenkinsfile配置【1】
  • 2025年渗透测试面试题总结-72(题目+回答)
  • 网络安全相关搜索引擎
  • 【Unity性能优化——Stats面板】