返回 导航

其他

hangge.com

Nginx+PHP7环境搭建教程(CentOS系统)

作者:hangge | 2020-12-30 08:10
    我之前写过一篇文章介绍如何在 Linux 下搭建一个 PHP 环境(点击查看),当时使用的是 Apache 来提供 web 服务。我们也可以改用 Nginx + PHP 的组合(工作原理是 Nginx php 相关的请求转到 PHP 环境中处理)。因为 Nginx 有着超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,下面也是如何搭建一个 Nginx + PHP 环境。

1,安装 Nginx

具体步骤参考我之前写的文章:Nginx的安装配置教程(CentOS系统)

2,安装 PHP

(1)这里我们以安装 PHP7.3 为例,首先执行如下命令安装 EPEL 源及源管理工具:
yum install epel-release yum-utils

(2)接着执行如下命令安装 REMI 源:
Remi 软件源:主要提供最新版的 PHP 软件包和其他一些 PHP 扩展工具包,它是针对 Fedora RHEL 系分支变体 (包括:RHELCentOSOracle Linux 等等) 要安装 PHP,推荐使用 Remi 软件源。Remi PHP 的支持和更新都很积极,可以在第一时间获得新版本的支持。
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm  

(3)然后执行如下命令安装 PHP7.3 及扩展:
yum install -y php73-php-fpm php73-php-cli php73-php-bcmath php73-php-gd php73-php-json php73-php-mbstring php73-php-mcrypt php73-php-mysqlnd php73-php-opcache php73-php-pdo php73-php-pecl-crypto php73-php-pecl-mcrypt php73-php-pecl-geoip php73-php-pecl-swoole php73-php-recode php73-php-snmp php73-php-soap php73-php-xmll

(4)安装完毕后执行如下命令可以查看 PHP 版本:
php73 -v

(5)我们可以执行如下命令将 php73 链接到系统环境变量中,就可以使用 php -v 了:
ln -s /opt/remi/php73/root/usr/bin/php /usr/bin/php

(6)然后执行如下命令启动 php-fpm,并且将其设置为开机自启动:
systemctl enable php73-php-fpm
systemctl start php73-php-fpm
  • 下面是其他几个常用命令:
systemctl restart php73-php-fpm  //重启
systemctl stop php73-php-fpm  //关闭
systemctl status php73-php-fpm  //检查状态

3,配置 PHP

(1)编辑 php.ini 文件:
vi /etc/opt/remi/php73/php.ini
  • 找到 memory_limit 一行,将其改成 512M

  • 然后将 cgi.fix_pathinfo 前面的注释(;)去掉,并将值设置为 0

(2)因为我们运行的是 nginx 而不是 apache,编辑 www.conf 文件:
vi /etc/opt/remi/php73/php-fpm.d/www.conf
  • 然后将 user group 的值都改成 nginx

4,配置 Nginx

(1)首先我们创建 nginx 用户:
groupadd nginx
useradd -g nginx nginx

(2)接着编辑 nginx 配置文件:
vi /usr/local/nginx/conf/nginx.conf

(3)修改如下三处地方,修改保存后重启 Nginx 服务。
  • 首先去掉 user 注解,将其值改成 nginx

  • 接着修改 location 块,追加 index.php nginx 服务器默认支持 index.php 为首页:

  • 最后找到 PHP 的配置部分,将其注释去掉,并将其内容改成如下配置:
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;
}

(4)最后测试一下,在 /usr/local/nginx/html 目录下新建一个 test.php 文件,内容如下:
<?php phpinfo();?>

(5)使用浏览器访问该页面,如果显示如下内容则说明 nginx php 环境搭建成功:
评论

全部评论(0)

回到顶部