在CentOS系统上搭建LNMP环境,即Linux、Nginx、MySQL/MariaDB和PHP的组合,是一个常见且强大的网站服务器架构,以下是详细的步骤:
1、准备工作

安装编译工具和依赖软件包:
yum y install gcc gccc++ pcredevel openssl openssldevel zlibdevel ncursesdevel cmake bison libxml2devel libpngdevel2、安装Nginx
添加Nginx的YUM源:
vi /etc/yum.repos.d/nginx.repo在文件中添加以下内容:
[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1安装Nginx:
yum install y nginx启动Nginx并设置开机自启动:

systemctl start nginx
systemctl enable nginx3、安装MySQL
添加MySQL的YUM源:
vi /etc/yum.repos.d/mysqlcommunity.repo在文件中添加以下内容:
[mysql57community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql5.7community/el/7/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpmgpg/RPMGPGKEYmysql安装MySQL:
yum install y mysqlcommunityserver启动MySQL并设置开机自启动:
systemctl start mysqld
systemctl enable mysqld进行MySQL安全配置:

mysql_secure_installation按提示完成安全配置。
4、安装PHP
添加Remi源:
wget http://rpms.remirepo.net/enterprise/remirelease7.rpm
rpm Uvh remirelease7.rpm
yum install y epelrelease
yum clean all
yum makecache安装PHP及相关模块:
yum install y php phpfpm phpcommon phpopcache phpmcrypt phpmbstring phpxml phpgd phpmysql phppdo phppeclzip phppecljson phppeclmemcached phppear phppeclredis启动PHPFPM并设置开机自启动:
systemctl start phpfpm
systemctl enable phpfpm5、配置Nginx支持PHP
编辑Nginx配置文件:
vi /etc/nginx/conf.d/default.conf 找到location /块,修改为:
location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
}添加处理PHP请求的配置:
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/phpfpm/phpfpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}重启Nginx服务:
systemctl restart nginx6、测试LNMP环境
创建测试PHP文件:
vi /usr/share/nginx/html/info.php添加以下内容:
<?php
phpinfo();
?>访问测试页面:在浏览器中输入服务器IP地址或域名,加上/info.php,如http://your_server_ip/info.php,如果看到PHP信息页面,说明LNMP环境搭建成功。
FAQs
1、为什么建议使用yum安装而不是编译安装?
答案:yum安装更加方便快捷,不需要手动解决依赖问题,也避免了编译过程中可能出现的错误,而编译安装虽然可以自定义参数和路径,但过程相对复杂,容易出错,对于大多数用户来说,yum安装是更好的选择。
2、如何检查Nginx、MySQL和PHP是否安装成功?
答案:可以通过以下命令检查:
# 检查Nginx版本
nginx v
# 检查MySQL版本
mysql version
# 检查PHP版本
php v 