CentOS下通过yum搭建lnmp(单版本PHP)

createh52周前 (06-10)技术教程14

lnmp即 Linux + Nginx + Mysql + PHP,本文以 CentOS 7.x 为例介绍如何通过 yum 的方式搭建完整的 lnmp 环境。

实现目标

1、通过 yum 方式安装 nginx、mysql 8.0、php 7.4

2、安装 php 模块,部署网站,实现运行 php ,读取数据库

安装相应软件

1、安装 nginx 并部署网站

参考下方教程选择 yum 方式安装 nginx ,并且建立一个虚拟主机站点。

CentOS安装nginx与部署网站

2、安装 php 7.4

参考下方教程选择 yum 方式安装 php 。

CentOS下安装指定版本的PHP

3、安装 mysql 8.0 且完成修改 mysql root 初始密码操作

参考下方教程选择 yum 方式安装 mysql 。

CentOS下安装mysql

配置 nginx 实现支持 PHP 程序

1、安装php 组件 php-fpm

yum -y install php-fpm

2、(方式一:端口式)修改 php-fpm 及 nginx 配置,使其可以运行 php

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、(方式二:套接字)修改 php-fpm 及 nginx 配置,使其可以运行 php

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

4、建立 php 文件,输入域名测试是否正常运行 php 程序

# 建立php测试文件
vim /home/wwwroot/www.abc.com/phpinfo.php

# 输入以下内容并保存
<?php
phpinfo();
>

# 在浏览器输入域名进行测试

安装 php 组件 php-mysqli

如需连接 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 模块等。

相关文章

CentOS、Nginx、PHP、MySQL的安装和配置记录

安装LNMP安装wget工具(可选) yum install -y wget下载Nginx wget http://www.atomicorp.com/installers/ato...

Linux(CentOS )手动搭建LNMP(Linux+Nginx+Mysql+PHP)坏境

CentOS 搭建LNMP(Linux+Nginx+Mysql+PHP)坏境由于网上各种版本新旧不一,而且Linux版本也不尽相同,所以自己写一遍根据官网的提示自己手动搭建过程。看官方文档很重要,永远...

Centos安装php高版本

PHP(超文本预处理器)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的...

旧手机运行Centos8并安装配置宝塔面板

文|酷安zz1812 已授权正文一.先进入zerotermux 安装linux发行版朋友的图选择 发行版本,之后一切默认即可,这边选择centos8喝杯茶等待安装———安装完成后无需启动直接下一步二....

PHP 之 Laravel 框架安装及相关开源软件

Laravel 被称为简洁、优雅的PHP开发框架,但第一次接触此框架的人有不少都卡在了安装上,其实在 Linux 下只需要很简单的几步就可以搞定,这里我们以 CentOS 下 PHP + Nginx...