部署LAMP-LAMP平台集成
一、平臺(tái)集成
單個(gè)軟件是無(wú)法直接完成我們發(fā)布PHP站點(diǎn)的既定任務(wù)的,需要我們通過(guò)多個(gè)軟件的通力合作才可以完成,所以我們需要將多個(gè)軟件關(guān)聯(lián)起來(lái),讓彼此各司其職,各干其活。一起完成我們的工作。
linux:系統(tǒng)軟件,應(yīng)用軟件平臺(tái)
apache:接受用戶請(qǐng)求,處理靜態(tài)數(shù)據(jù),響應(yīng)用戶請(qǐng)求
php:處理用戶的PHP請(qǐng)求
mysql:存儲(chǔ)數(shù)據(jù)
二、平臺(tái)集成方法
- PHP作為模塊
- PHP作為服務(wù)
1.PHP作為模塊
這種方式是歷史最悠久的關(guān)聯(lián)方法,PHP模塊默認(rèn)出于休眠狀態(tài),和apache是上下級(jí)關(guān)系。apache接受了用戶PHP請(qǐng)求后去喚醒PHP模塊,PHP模塊再去處理請(qǐng)求。
2.PHP作為服務(wù)
這種是apache2.4新增功能,PHP是一個(gè)服務(wù),常駐內(nèi)存。和apache是平級(jí)關(guān)系,apache接受了用戶請(qǐng)求直接通過(guò)socket或tcp/ip的方式發(fā)送給PHP服務(wù),PHP服務(wù)直接處理。如果是在同一臺(tái)機(jī)器安裝了apache和php建議使用socket方式關(guān)聯(lián),系統(tǒng)開(kāi)銷最小,并發(fā)更大。
三、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編譯的時(shí)候需要加上—with-apxs2=/usr/local/apache2/bin/apxs語(yǔ)句,意思是通過(guò)apache的apxs命令將PHP生成為一個(gè)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作為服務(wù)
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)設(shè)置虛擬主機(jī) 關(guān)聯(lián)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 #設(shè)置UNIX socket 權(quán)限 listen.owner = www listen.group = www listen.mode = 0660 3)設(shè)置虛擬主機(jī) 關(guān)聯(lián)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/"五、測(cè)試頁(yè)面
1)生成測(cè)試頁(yè)面
echo “<?php phpinfo(); ?>” /DR/phpinfo.php
2)測(cè)試
打開(kāi)瀏覽器輸入
http://ip或者域名/phpinfo.php
總結(jié)
以上是生活随笔為你收集整理的部署LAMP-LAMP平台集成的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: PHP安装指南
- 下一篇: 部署LAMP-WordPress站点上线