CentOS LNMP环境配置指南
在Linux服务器环境中,LNMP(Linux + Nginx + MySQL + PHP)是一套高效、稳定的Web服务组合,本文将以CentOS系统为例,详细介绍如何从零开始搭建LNMP环境,涵盖安装、配置及优化步骤,确保服务器满足生产需求。

**一、准备工作
1、系统更新
操作前需确保系统处于最新状态:
- yum update -y
2、安装必要工具
安装编译依赖及常用工具:
- yum install -y wget curl vim gcc make openssl-devel pcre-devel zlib-devel
3、关闭防火墙与SELinux(测试环境可选)
临时关闭防火墙:

- systemctl stop firewalld && systemctl disable firewalld
临时禁用SELinux:
- setenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
**二、安装Nginx
1、添加Nginx官方源
CentOS默认仓库的Nginx版本较旧,建议使用官方源:
- vi /etc/yum.repos.d/nginx.repo
输入以下内容:
- [nginx-stable]
- name=nginx stable repo
- baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
- gpgcheck=1
- enabled=1
- gpgkey=https://nginx.org/keys/nginx_signing.key
2、安装并启动Nginx
- yum install -y nginx
- systemctl start nginx && systemctl enable nginx
访问服务器IP,若显示“Welcome to Nginx”页面,则安装成功。

**三、安装MySQL
1、添加MySQL社区源
下载MySQL官方Yum源:
- wget https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm
- rpm -ivh mysql80-community-release-el7-6.noarch.rpm
2、安装MySQL服务
- yum install -y mysql-community-server
- systemctl start mysqld && systemctl enable mysqld
3、安全配置
获取初始密码:
- grep 'temporary password' /var/log/mysqld.log
运行安全脚本:
- mysql_secure_installation
按提示设置新密码、移除匿名用户、禁用远程root登录等。
**四、安装PHP
1、添加Remi仓库
CentOS默认PHP版本较低,Remi源提供多版本支持:
- yum install -y epel-release
- rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-7.rpm
2、安装PHP 8.x及扩展
- yum install -y yum-utils
- yum-config-manager --enable remi-php80
- yum install -y php php-fpm php-mysqlnd php-opcache php-gd php-curl php-mbstring
3、配置PHP-FPM
修改/etc/php-fpm.d/www.conf
:
- user = nginx
- group = nginx
- listen = /run/php-fpm/www.sock
- listen.owner = nginx
- listen.group = nginx
重启服务:
- systemctl start php-fpm && systemctl enable php-fpm
**五、配置Nginx支持PHP
1、创建站点配置文件
编辑/etc/nginx/conf.d/default.conf
,修改server
段:
- server {
- listen 80;
- server_name _;
- root /usr/share/nginx/html;
- index index.php index.html;
- location / {
- try_files $uri $uri/ /index.php?$args;
- }
- location ~ \.php$ {
- fastcgi_pass unix:/run/php-fpm/www.sock;
- fastcgi_index index.php;
- include fastcgi_params;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- }
- }
2、测试并重启Nginx
- nginx -t
- systemctl restart nginx
在/usr/share/nginx/html
目录下创建info.php
为<?php phpinfo(); ?>
,访问http://服务器IP/info.php
,若显示PHP信息页则配置成功。
**六、优化与安全建议
1、性能调优
Nginx:调整worker_processes
为CPU核心数,启用Gzip压缩。
PHP-FPM:根据内存调整pm.max_children
,启用OPcache加速。
MySQL:配置innodb_buffer_pool_size
为物理内存的70%。
2、安全加固
- 为MySQL创建独立应用账号,限制权限。
- 定期备份数据库及网站文件。
- 启用HTTPS,使用Let's Encrypt免费证书。
个人观点
LNMP环境凭借其轻量、高效的特点,已成为中小型项目的首选方案,配置过程中需注重细节,例如权限管理、服务依赖关系等,建议初次部署后通过压力测试工具(如apache Bench)验证性能,并根据实际业务需求调整参数,若追求自动化,可结合Ansible或Shell脚本实现一键部署,进一步提升运维效率。