在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