Home > Backend Development > PHP Problem > Detailed explanation of apache php fpm installation method

Detailed explanation of apache php fpm installation method

藏色散人
Release: 2023-03-05 08:28:01
Original
2384 people have browsed it

apache php fpm的安装方法:首先安装“php5.6 fast-cgi”模式;然后配置apache;接着添加对php页面的支持;最后开启url rewrite及虚拟主机即可。

Detailed explanation of apache php fpm installation method

推荐:《PHP视频教程

apache 安装配置 以及php-fpm结合apache配置

解决依赖关系

下载apr  apr-util:http://apr.apache.org/download.cgi

编译安装apr:

 ./configure --prefix=/usr/local/apr
    make && make install
Copy after login

编译安装apr-util:

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr 
    make && make install
Copy after login

编译apache2.4.2:

[root@martin httpd-2.4.20]#  ./configure --prefix=/usr/local/apache2.4.2 \
    --sysconfdir=/etc/httpd   \
    --enable-so   \
    --enable--ssl   \
    --enable-cgi   \
    --enable-rewrite   \
    --with-zlib  \
    --with-pcre  \
    --with-apr=/usr/local/apr  \
    --with-apr-util=/usr/local/apr-util  \
    --enable-modeles=most  \
    --enable-mpms-shared=all  \
    --with-mpm=event
Copy after login

参数详解:

--prefix:#安装路径
    --sysconfdir:#指定配置文件路径
    --enable-so:#DSO兼容,DSO=Dynamic Shared Object,动态共享对象,可实现模块动态生效
    --enable-ssl:#支持SSL/TLS,可实现https访问 需已安装openssl-devel
    --enable-cgi:#支持CGI脚本(默认对非线程的MPM模式开启)
    --enable-rewrite:#启用Rewrite功能,URL重写
    --enable-deflate:#支持压缩功能
    --with-zlib:#使用指定的zlib库,不指定路径会自动寻找
    --with-pcre:#使用指定的PCRE库,不指定路径会自动寻找 需已安装pcre-devel
    --with-apr:#指定apr安装路径
    --with-apr-util:#指定apr-util安装路径
    --enable-mpms-shared:#支持动态加载的MPM模块,可选参数:all
    --with-mpm:#设置默认启用的MPM模式,{prefork|worker|event}
    --enable-modules:#支持动态启用的模块,可选参数:all,most,few,reallyall
    #编译之前可使用./configure --help查看各项参数
Copy after login
[root@martin local]# make && make install
    [root@martin local]# cd /usr/local
    [root@martin local]# ln -sv apache2.4.2/ apache
Copy after login

导入环境变量:

[root@martin local]#  vim /etc/profile.d/httpd.sh
    export PATH=/usr/local/apache/bin:$PATH
    [root@martin local]# . /etc/profile.d/httpd.sh
Copy after login

编译配置查看:

启动文件:

#!/bin/bash
    #
    # httpd        Startup script for the Apache HTTP Server
    #
    # chkconfig: - 85 15
    # description: The Apache HTTP Server is an efficient and extensible  \
    #              server implementing the current HTTP standards.
Copy after login

开机启动:

chmod +x /etc/rc.d/init.d/httpd
    chkconfig --add httpd
    chkconfig httpd on
Copy after login

安装php5.6 fast-cgi模式:

依赖:

php-configure-apache:

./configure  --prefix=/usr/local/phpfpm  \
    --with-config-file-path=/etc \
    --with-config-file-scan-dir=/etc/php.d \
     --with-mysql=mysqlnd  \
    --with-pdo-mysql=mysqlnd  \
    --with-mysqli=mysqlnd  \
    --with-iconv-dir   \
    --with-freetype-dir   \
    --with-jpeg-dir  \
    --with-png-dir  \
    --with-zlib \
    --with-libxml-dir  \
    --enable-xml  \
    --disable-rpath  \
    --enable-bcmath  \
    --enable-shmop  \
    --enable-sysvsem  \
    --enable-inline-optimization  \
    --with-curl  \
    --enable-mbregex  \
    --enable-fpm  \
    --enable-mbstring  \
    --with-mcrypt  \
    --with-gd  \
    --enable-gd-native-ttf  \
    --with-openssl  \
    --with-mhash  \
    --enable-pcntl  \
    --enable-sockets  \
    --with-xmlrpc  \
    --enable-zip  \
    --enable-soap  \
    --enable-short-tags   \
    --enable-static  \
    --with-xsl  \
    --with-fpm-user=apache  \
    --with-fpm-group=apache  \
    --enable-ftp
Copy after login
[root@marvin php-5.6.19]#make && make install
    [root@marvin php-5.6.19]# cp php.ini-development /etc/php.ini
    [root@marvin php-5.6.19]# cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
    [root@marvin php-5.6.19]# chmod +x /etc/rc.d/init.d/php-fpm 
    [root@marvin php-5.6.19]# chkconfig --add php-fpm
    [root@marvin php-5.6.19]# chkconfig php-fpm on
Copy after login
[root@marvin etc]# cd  /usr/local/phpfpm/etc
    [root@marvin phpfpm]# cp php-fpm.conf.default php-fpm.conf
    [root@marvin phpfpm]# vim php-fpm.conf
    pm.max_children = 50
    pm.start_servers = 5
    pm.min_spare_servers = 2
    pm.max_spare_servers = 8
    pid = /usr/local/phpfpm/var/run/php-fpm.pid
Copy after login

配置apache

在Apache httpd 2.4以后已经专门有一个模块针对FastCGI的实现,此模块为mod_proxy_fcgi.so,它其实是作为mod_proxy.so模块的扩充,因此,这两个模块都要加载:

LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
Copy after login

添加对php页面的支持

 AddType application/x-httpd-php .php
     AddType application/x-httpd-php-source .phps
Copy after login

开启url rewrite:

开启防止启动警告

开启虚拟主机:

虚拟主机:

<VirtualHost *:80>
        DocumentRoot  "/www/web/forum"
        ServerName www.forum.com
      ProxyRequests Off
      ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/www/web/forum/$1
        <Directory "/www/web/forum">
            Options none
            AllowOverride none
            Require all granted
        </Directory>
    </VirtualHost>
Copy after login

The above is the detailed content of Detailed explanation of apache php fpm installation method. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template