lnmp即 Linux + Nginx + Mysql + PHP,本文以 CentOS 7.x 为例介绍如何通过 yum 的方式搭建完整的 lnmp 环境。
1、通过 yum 方式安装 nginx、mysql 8.0、php 7.4
2、安装 php 模块,部署网站,实现运行 php ,读取数据库
参考下方教程选择 yum 方式安装 nginx ,并且建立一个虚拟主机站点。
如何在CentOS7.x中安装nginx并部署html静态网站?可用yum及编译安装,推荐yum
参考下方教程选择 yum 方式安装 php 。
CentOS下如何安装指定版本的PHP?yum和编译安装哪个方便?
参考下方教程选择 yum 方式安装 mysql 。
CentOS下原生态安装mysql,推荐yum
yum -y install php-fpm
2.1、修改 php-fpm 配置
# 编辑
vim /etc/php-fpm.d/www.conf
# 将 apache 改为 nginx(约24,26行)
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
2.2、修改 nginx 虚拟主机站点配置支持运行 PHP(如 www.abc.com.conf)
# 站点主目录(省略部分内容)
root /home/wwwroot/www.abc.com;
# 以上为示例配置,在 root 节点下添加以下内容(关键)
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;
}
3.1、修改 php-fpm 配置
# 编辑
vim /etc/php-fpm.d/www.conf
# 将 apache 改为 nginx(约24,26行)
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
# 注销原配置(约38行),前面加分号 ; 注销
;listen = 127.0.0.1:9000
# 添加以下配置
listen = /run/php-fpm/php74-fpm.sock
# 配置权限(约51行),去掉面前分号,将0660修改为0666
listen.mode = 0666
3.2、修改 nginx 虚拟主机站点配置支持运行 PHP(如 www.abc.com.conf)
# 站点主目录(省略部分内容)
root /home/wwwroot/www.abc.com;
# 以上为示例配置,在 root 节点下添加以下内容(关键)
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/php74-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
3.3、重启服务并设置权限
# 重启 php-fpm
systemctl restart php-fpm.service
# 重启 nginx
systemctl restart nginx.service
# 套接字文件权限(如权限报错可设置)
chmod 666 /run/php-fpm/php74-fpm.sock
# 建立php测试文件
vim /home/wwwroot/www.abc.com/phpinfo.php
# 输入以下内容并保存
<?php
phpinfo();
>
# 在浏览器输入域名进行测试
如需连接 mysql 进行数据库读写操作,大部分 php 框架都需组件 mysqli ,可通过以下命令安装
yum -y install php-mysqli
# 开机自启动 php-fpm
systemctl enable php-fpm
# 开机自启动 nginx
systemctl enable nginx
# 开机自启动 mysql
systemctl enable mysqld
1、如需安装其它组件,通过 yum 进行安装即可,格式如下
# 格式
yum install php-模块名
# 示例
yum install php-pdo
2、通过 phpmyadmin 管理数据库可能会报 Error during session start; 错误,通过以下命令设置 session 目录相应权限
chown -R nginx:nginx /var/lib/php/session
3、每次修改 php-fpm 或 nginx 及虚拟主机站点配置文件后,需重启 php-fpm 及 nginx 才能生效。
# 重启 php-fpm
systemctl restart php-fpm.service
# 重启 nginx
systemctl restart nginx.service
通过以上方式即可搭建 lnmp 运行环境,示例中多为默认参数及配置,可在实际使用中根据情况进行调整,如添加更改账号及用户组、更改相关路径、安装 php 模块等。