CentOS下通过yum搭建完整lnmp环境(安装单版本PHP)

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 ,并且建立一个虚拟主机站点。

如何在CentOS7.x中安装nginx并部署html静态网站?可用yum及编译安装,推荐yum

2、安装 php 7.4

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

CentOS下如何安装指定版本的PHP?yum和编译安装哪个方便?

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

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

CentOS下原生态安装mysql,推荐yum

配置 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,php,linux,服务器,运维,nginx)