LNMP 环境搭建完整指南
LNMP(Linux + Nginx + MySQL + PHP)是目前最流行的Web服务器技术栈,广泛用于WordPress、Laravel等PHP应用的部署。本文以CentOS为例,介绍从零搭建生产级LNMP环境的完整步骤。
一、环境准备与系统优化
在开始安装之前,先做好系统基础配置:更新系统(yum update -y);安装基础工具(wget、curl、vim、git);关闭SELinux避免权限问题;配置系统时区为Asia/Shanghai;优化系统文件描述符限制(ulimit -n 65535)。
二、安装并配置Nginx
添加Nginx官方源后安装最新稳定版Nginx,开启并设置开机自启。核心配置优化:worker_processes设为auto,worker_connections设为10240,开启sendfile和tcp_nopush,关闭server_tokens隐藏版本号。
三、安装MySQL 8.0
使用MySQL官方源安装8.0版本:添加MySQL官方rpm源,安装mysql-community-server,启动服务后使用临时密码登录并执行mysql_secure_installation进行安全初始化。创建独立的应用账号,遵循最小权限原则,应用连接使用独立账号而非root。
四、安装PHP 8.1及扩展
通过Remi源安装PHP 8.1,安装常用扩展:php-mysql、php-gd、php-xml、php-mbstring、php-curl、php-zip、php-redis、php-opcache。PHP-FPM关键配置:pm.max_children根据内存设置(约每进程30MB),max_requests设为500防止内存泄漏,request_terminate_timeout设为300。
五、Nginx与PHP-FPM整合配置
配置Nginx server块处理PHP请求:设置root目录和index文件;配置location处理PHP(fastcgi_pass 127.0.0.1:9000);配置URL重写(try_files支持伪静态);静态文件设置30天缓存;禁止访问隐藏文件。配置完成后执行nginx -t验证,通过后reload使配置生效。
六、SSL证书配置
使用Let’s Encrypt免费证书配置HTTPS:安装certbot和python3-certbot-nginx;执行certbot –nginx自动申请并配置证书;配置HTTP到HTTPS的强制跳转;设置cron每日执行certbot renew实现自动续签,证书有效期90天,续签完全自动化。
七、PHP性能调优
关键php.ini配置:upload_max_filesize=64M,post_max_size=64M,max_execution_time=300,memory_limit=256M。开启OPcache大幅提升PHP性能:opcache.enable=1,opcache.memory_consumption=128,opcache.max_accelerated_files=4000,生产环境关闭文件变更检测(validate_timestamps=0)。
八、总结
一套标准的LNMP环境搭建完成后,可以流畅运行WordPress、Laravel、ThinkPHP等主流PHP应用。建议在此基础上进一步配置Redis缓存、消息队列,并接入云监控,构建完整的生产环境。LNMP环境搭建完成后,记得做好防火墙配置和定期系统更新。