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

安装编译工具和依赖软件包:
- yum y install gcc gccc++ pcredevel openssl openssldevel zlibdevel ncursesdevel cmake bison libxml2devel libpngdevel
2、安装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 nginx
3、安装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 phpfpm
5、配置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 nginx
6、测试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