zoukankan      html  css  js  c++  java
  • 部署LAMP-LAMP平台集成

    一、平台集成

    单个软件是无法直接完成我们发布PHP站点的既定任务的,需要我们通过多个软件的通力合作才可以完成,所以我们需要将多个软件关联起来,让彼此各司其职,各干其活。一起完成我们的工作。

    linux:系统软件,应用软件平台

    apache:接受用户请求,处理静态数据,响应用户请求

    php:处理用户的PHP请求

    mysql:存储数据

    二、平台集成方法

    • PHP作为模块
    • PHP作为服务

    1.PHP作为模块

    这种方式是历史最悠久的关联方法,PHP模块默认出于休眠状态,和apache是上下级关系。apache接受了用户PHP请求后去唤醒PHP模块,PHP模块再去处理请求。

    2.PHP作为服务

    这种是apache2.4新增功能,PHP是一个服务,常驻内存。和apache是平级关系,apache接受了用户请求直接通过socket或tcp/ip的方式发送给PHP服务,PHP服务直接处理。如果是在同一台机器安装了apache和php建议使用socket方式关联,系统开销最小,并发更大。

    三、PHP作为模块

    [root@apache_251 php-7.3.4]# ./configure —prefix=/usr/local/php —with-config-file-path=/usr/local/php/etc —with-mysqli=mysqlnd —enable-pdo —with-pdo-mysql=mysqlnd —with-iconv-dir=/usr/local/ —enable-fpm —with-fpm-user=www —with-fpm-group=www —with-pcre-regex —with-zlib —with-bz2 —enable-calendar —disable-phar —with-curl —enable-dba —with-libxml-dir —enable-ftp —with-gd —with-jpeg-dir —with-png-dir —with-zlib-dir —with-freetype-dir —enable-gd-jis-conv —with-mhash —enable-mbstring —enable-opcache=yes —enable-pcntl —enable-xml —disable-rpath —enable-shmop —enable-sockets —enable-zip —enable-bcmath —with-snmp —disable-ipv6 —with-gettext —disable-rpath —disable-debug —enable-embedded-mysqli —with-mysql-sock=/usr/local/mysql/ —with-apxs2=/usr/local/apache2/bin/apxs
    
    在PHP编译的时候需要加上—with-apxs2=/usr/local/apache2/bin/apxs语句,意思是通过apache的apxs命令将PHP生成为一个apache模块。
    
    配置方法
    
    apache修改主配置文件,添加以下行
    Include conf/extra/php.conf
    [root@apache_251 conf]# cat extra/php.conf
    LoadModule php7_module modules/libphp7.so
    AddType application/x-httpd-php .php
    DocumentRoot "/usr/local/apache/htdocs/web1"
    <directory "="" usr="" local="" apache="" htdocs="" web1"="">
    <directory "="" usr="" local="" apache="" htdocs="" web1"=""> Options Indexes FollowSymLinks
    <directory "="" usr="" local="" apache="" htdocs="" web1"=""> AllowOverride None
    <directory "="" usr="" local="" apache="" htdocs="" web1"=""> Require all granted
    DirectoryIndex index.php index.html
    

    四、PHP作为服务

    tcp sock 模式

    1)修改apache子配置文件
    apache修改主配置文件,添加以下行
    Include conf/extra/php-fpm.conf
    [root@apache_251 conf]# cat extra/php-fpm.conf
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
    2)设置虚拟主机 关联php
    DocumentRoot "/usr/local/apache/htdocs/web1"
    <directory "="" usr="" local="" apache="" htdocs="" web1"="">
    <directory "="" usr="" local="" apache="" htdocs="" web1"=""> Options Indexes FollowSymLinks
    <directory "="" usr="" local="" apache="" htdocs="" web1"=""> AllowOverride None
    <directory "="" usr="" local="" apache="" htdocs="" web1"=""> Require all granted
    DirectoryIndex index.php index.html
    SetHandler "proxy:fcgi://127.0.0.1:9000"

    unix sock模式

    1)apache修改主配置文件,添加以下行
    Include conf/extra/php-fpm.conf
    [root@apache_251 conf]# cat extra/php-fpm.conf
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
    2)修改PHP-FPM配置文件
    [root@apache_251 extra]# egrep "^listen" /usr/local/php/etc/php-fpm.d/www.conf
    listen = /usr/local/php/etc/php-fpm.socket
    listen.backlog = 511
    #设置UNIX socket 权限
    listen.owner = www
    listen.group = www
    listen.mode = 0660
    3)设置虚拟主机 关联php-fpm
    DocumentRoot "/usr/local/apache/htdocs/web1"
    <filesmatch ".php$"="">
    <filesmatch ".php$"=""> # Unix sockets require 2.4.7 or later
    <filesmatch ".php$"=""> SetHandler "proxy:unix:/usr/local/php/etc/php-fpm.socket|fcgi://localhost/"

    五、测试页面

    1)生成测试页面

    echo “<?php phpinfo(); ?>” /DR/phpinfo.php

    2)测试

    打开浏览器输入

    http://ip或者域名/phpinfo.php

  • 相关阅读:
    transition的属性变化
    transition过渡动画
    增删改查的45道题
    4月18 数据库的CRUD操作
    php 中输入输出提交
    4月12 php练习
    3月29 表单以及正则表达式
    3月27 隐藏导航
    3月26 document的练习
    3月25 JavaScript 练习题
  • 原文地址:https://www.cnblogs.com/wenyule/p/12939841.html
Copyright © 2011-2022 走看看