CentOS配置apache和php-fpm

上一篇写的Ubuntu22.04如何配置apache和php-fpm,详见Ubuntu22.04如何配置apache和php-fpm
本篇记录下CentOS如何配置apache和php-fpm。

php-fpm的安装

安装apache、php、php-fpm时需要注意顺序,一般先安装apache。

apt install httpd

安装完apache之后,如果先安装php,之后会默认将php作为apache的模块使用,因此可以先安装php-fpm,再安装php。

apt install php-fpm
apt install php

apache配置文件

先进入/etc/httpd/目录下,这是apache的配置文件目录。
在这里插入图片描述
先进入conf.d目录,查看php.conf文件里是否默认有这么一段,意思是如果apache不使用mod_php5模块也不使用mod_php7模块,那么代理生效,代理到php-fpm。
在这里插入图片描述
php.conf的文件内容如下:

#
# The following lines prevent .user.ini files from being viewed by Web clients.
#
<Files ".user.ini">
    Require all denied
</Files>

#
# Allow php to handle Multiviews
#
AddType text/html .php

#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php

#
# Redirect to local php-fpm (no mod_php in default configuration)
#
<IfModule !mod_php5.c>
  <IfModule !mod_php7.c>
    # Enable http authorization headers
    SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1

    <FilesMatch \.(php|phar)$>
        SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost"
    </FilesMatch>
  </IfModule>
</IfModule>

#
# mod_php is deprecated as FPM is now used by default with httpd in event mode
# mod_php is only used when explicitly enabled or httpd switch to prefork mode
#
# mod_php options
#
<IfModule  mod_php7.c>
    #
    # Cause the PHP interpreter to handle files with a .php extension.
    #
    <FilesMatch \.(php|phar)$>
        SetHandler application/x-httpd-php
    </FilesMatch>

    #
    # Uncomment the following lines to allow PHP to pretty-print .phps
    # files as PHP source code:
    #
    #<FilesMatch \.phps$>
    #    SetHandler application/x-httpd-php-source
    #</FilesMatch>

    #
    # Apache specific PHP configuration options
    # those can be override in each configured vhost
    #
    php_value session.save_handler "files"
    php_value session.save_path    "/var/lib/php/session"
    php_value soap.wsdl_cache_dir  "/var/lib/php/wsdlcache"

    #php_value opcache.file_cache   "/var/lib/php/opcache"
</IfModule>

再进入conf.modules.d目录,修改*-php.conf,把php模块禁掉。
在这里插入图片描述
在LoadModule php7_module modules/libphp7.so前加上#。
在这里插入图片描述
重启apache和php-fpm生效。

systemctl restart httpd
systemctl restart php-fpm

php配置文件

php配置文件的在/etc/php.ini。无论php是作为apache的模块运行还是使用php-fpm,对应的配置文件都是/etc/php.ini。

php-fpm配置文件

php-fpm的相关配置文件有俩,一个是/etc/php-fpm.conf,另一个是/etc/php-fpm.d/www.conf。
php-fpm.conf用默认的就行。
www.conf要注意下面这行,如果是listen = 127.0.0.1:9000,改成:listen = /run/php-fpm/www.sock
在这里插入图片描述
www.conf最底下有些与php.ini一样名字的配置参数,如果没注释掉,以www.conf里的配置为主,比如php.ini里默认的session目录是/tmp,www.conf里的session目录是
/var/lib/php/session,如果用到了php的session功能,记得改/var/lib/php/session的目录权限,否则php的session功能用不了。
在这里插入图片描述
重启php-fpm生效。

systemctl restart php-fpm
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐