在CentOS 7.x系统上通过YUM方式搭建LNMP(Linux + Nginx + MariADB/MySQL + php)环境,是一种常见的网站服务器架构,以下是详细的搭建步骤:
一、安装Nginx

1、创建Nginx软件库:
- sudo vi /etc/yum.repos.d/nginx.repo
写入以下内容:
- [nginx]
- name=nginx repo
- baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
- gpgcheck=0
- enabled=1
保存并退出。
2、安装Nginx:
- sudo yum install y nginx
3、配置Nginx:编辑默认的配置文件default.conf
:
- sudo vim /etc/nginx/conf.d/default.conf
替换为以下内容:

- server {
- listen 80;
- server_name localhost;
- root /usr/share/nginx/html;
- index index.php index.html index.htm;
- error_page 404 /404.html;
- location = /404.html {
- internal;
- }
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- internal;
- }
- location ~ \.php$ {
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- include fastcgi_params;
- }
- }
保存并退出。
4、启动和设置开机自启动Nginx:
- sudo systemctl start nginx
- sudo systemctl enable nginx
二、安装MariaDB
1、检查是否已安装MariaDB:
- rpm qa | grep mariadb
如果已安装,执行以下命令移除:
- sudo yum remove y mariadblibs
2、创建MariaDB软件库:

- sudo vi /etc/yum.repos.d/MariaDB.repo
写入以下内容:
- [mariadb]
- name = MariaDB
- baseurl = https://mirrors.cloud.tencent.com/mariadb/yum/10.4/centos7amd64
- gpgkey=https://mirrors.cloud.tencent.com/mariadb/yum/RPMGPGKEYMariaDB
- gpgcheck=1
保存并退出。
3、安装MariaDB:
- sudo yum install y MariaDBserver MariaDBclient
4、启动和设置开机自启动MariaDB:
- sudo systemctl start mariadb
- sudo systemctl enable mariadb
5、修改MariaDB密码(首次安装需要设置root密码):
- sudo mysql_secure_installation
根据提示进行设置。
三、安装PHP及必要模块
1、添加EPEL和Webtatic仓库:
- sudo yum install y epelrelease
- sudo rpm Uvh https://mirror.webtatic.com/yum/el7/webtaticrelease.rpm
2、安装PHP及其模块:
- sudo yum install y php74w php74wmysqlnd php74wfpm php74wmbstring php74wxml php74wldap php74wopcache php74wjson php74wcli php74wcommon php74wdevel php74wgd php74wpeclzip php74wbcmath php74wsoap curl curldevel
3、配置PHPFPM:编辑www.conf
文件:
- sudo vim /etc/phpfpm.d/www.conf
确保以下配置项被正确设置:
- user = nginx
- group = nginx
- ;listen = 127.0.0.1:9000
- listen = /run/phpfpm/php74fpm.sock
- listen.owner = nginx
- listen.group = nginx
- listen.mode = 0666
- pm = dynamic
- pm.max_children = 50
- pm.start_servers = 5
- pm.min_spare_servers = 5
- pm.max_spare_servers = 35
- pm.max_requests = 500
保存并退出。
4、启动和设置开机自启动PHPFPM:
- sudo systemctl start phpfpm
- sudo systemctl enable phpfpm
四、测试LNMP环境
1、创建测试PHP文件:在Nginx默认根目录下创建一个PHP文件:
- sudo vim /usr/share/nginx/html/info.php
写入以下内容:
- <?php phpinfo(); ?>
保存并退出。
2、重启Nginx:
- sudo systemctl restart nginx
3、访问测试页面:打开浏览器,访问http://<你的服务器IP>,如果看到PHP信息页面,说明LNMP环境搭建成功。
五、FAQs问答环节
1、如何更改PHP版本?
如果需要安装其他版本的PHP,可以通过添加相应的Webtatic仓库来安装不同版本的PHP,安装PHP 7.3:
- sudo yum install y https://mirror.webtatic.com/yum/el7/latest.repo
- sudo yum install y php73w php73wfpm php73wmysqlnd php73wmbstring
然后按照上述步骤配置PHPFPM即可。
2、如何处理“Error during session start; please check your PHP and/or webserver log file and configure your PHP and/or webserver accordingly.”错误?
这个错误通常是由于session目录权限不足引起的,可以通过以下命令修改session目录权限:
- sudo chown R nginx:nginx /var/lib/php/session
- sudo chmod R 1733 /var/lib/php/session