LAMP兩種編譯安裝模式
PHP5.3.3以上支援基於fast獨立伺服器
rpm -qf /etc/my.cnf
hwclock -s
apache
module
prefork:libphp5.so
worker,event:libphp5-zts.so
應用PHP模組的httpd配置檔案
vim /etc/httpd/conf.d/php.conf
<IfModule prefork.c>
LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
LoadModule php5_module modules/libphp5-zts.so
</IfModule>
AddHandler php5-script .php
AddType text/html .php
DirectoryIndex index.php
測試程式碼
vim index.php
<html>
<head>
<title> PHP Test Page</title>
</head>
<body>
<h1>modular php</h1>
<?php
phpinfo();
?>
</body>
</html>
注:index.php檔案不需要放在CGI目錄下
LAMP部署模式
apache + php
moodule
prefork:libphp5.so
worker ,event :libphp5-zts.so
CGI
fsatcgi
php-fpm:啟動為服務程式
php-mysql
$link=mysql_connect('127.0.0.1','root','mypass')
if ($link);
echo ""
else
echo ""
mysql_close()
編譯安裝LAMP之一:php modules模式
安裝mysql
http://blog.itpub.net/29620572/viewspace-1763687/
安裝http
依賴更高版本的apr和apr-util,apr全稱為apache portable runtime
httpd2.4需要apr1.4以上版本
yum install -y pcre-devel gcc* wget lrzsz openssl-devel
wget /> wget /> wget /> tar xf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/usr/local/apr
make && make install
cd
tar xf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
cd
tar xf httpd-2.4.16.tar.gz
cd httpd-2.4.16
./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --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-modules=most --enable-modules=most --enable-mpms-shared=all --with-event
make && make install
--enable-so :支援動態載入模組
--enable-rewrite :支援url重寫
--with-zlib :使用網路上的通用壓縮庫
--with-pcre :支援perl
--enable-modules :企業大多數或所有的module
安裝PHP
/> wget /> yum install -y *libxml2* bzip2-libs bzip2 bzip2-devel
tar xf php-5.4.44.tar.gz
cd php-5.4.44
./configure --prefix=/usr/local/php --with-mysql=/mysql --with-openssl --with-
mysqli=/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir
--with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-
apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d
--with-bz2 --enable-maintainer-zts
注:
1.這裡為了支援apache的worker或event這兩個MPM,編譯時使用了--enable-maintainer-zts選項
2.如果使用PHP5.3以上的版本,為了連線mysql資料庫,可以指定mysqlnd,這樣在本機就不需要先安裝mysql開發包
了。msqlnd從php5.3開始可用,可以編譯時繫結到它,並且5.4就是預設了。
#./configure --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd
make && make install
為php提供配置檔案
cp php.ini-production /etc/php.ini
編輯apache配置檔案httpd.conf,以apache支援php
vim /etc/httpd/httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.phps index.html
cd /usr/local/apache/htdocs
<?php
$link=mysql_connect('127.0.0.1','scott','tiger');
if ($link)
echo "Success...";
else
echo "failure...";
mysql_close();
phpinfo();
?>
配置PHP加速器
tar xf xcache-3.0.4.tar.gz
cd xcache-3.0.4
/usr/local/php/bin/phpize
./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
make && make install
注意:Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/
cp xcache.ini /etc/php.d/
vim /etc/php.d/xcache.ini
extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so
編譯安裝LAMP之一:php-fpm
同上,但安裝PHP時不同
./configure --prefix=/usr/local/php --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-libxml-dir=/usr --enable-xml --enable-sockets --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2
為php提供配置檔案
cp php.ini-production /etc/php.ini
配置php-fpm
為php-fpm提供init指令碼
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
為php-fpm提供配置檔案
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
編輯php-fpm的配置檔案
vim /usr/local/php/etc/php-fpm.conf
配置fpm的相關選項為你所需要的值,並啟用pid檔案
listen
pm.max_children=50
pm.start_servers=5
pm.min_spare_servers=2
pm.max_space_servers=8
pid=/usr/local/php/var/run/php-fpm.pid
配置
grep -i pid /etc/init.d/php-fpm
vim /usr/local/php/etc/php-fpm
pid=/usr/local/php/var/run/php-fpm.pid
vim /etc/httpd/httpd.conf
Listen 80
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
Include /etc/httpd24/extra/httpd-vhosts.conf
vim /etc/httpd24/extra/httpd-vhosts.conf
ProxyRequests off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/www/a.com/$1
注:
虛擬主機一定要配置Directory
ProxyRequests off:關閉正向代理
ProxyPassMatch:把所有.php結尾的檔案請求傳送到php-fpm至少需要知道執行的目錄和URI,
所以這裡直接在fcgi://127.0.0.1:9000後指明瞭這兩個引數,其他的引數的傳遞已經被mod_proxy_fcgi.so進行了封裝,不需要手工指定
rpm -qf /etc/my.cnf
hwclock -s
apache
module
prefork:libphp5.so
worker,event:libphp5-zts.so
應用PHP模組的httpd配置檔案
vim /etc/httpd/conf.d/php.conf
<IfModule prefork.c>
LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
LoadModule php5_module modules/libphp5-zts.so
</IfModule>
AddHandler php5-script .php
AddType text/html .php
DirectoryIndex index.php
測試程式碼
vim index.php
<html>
<head>
<title> PHP Test Page</title>
</head>
<body>
<h1>modular php</h1>
<?php
phpinfo();
?>
</body>
</html>
注:index.php檔案不需要放在CGI目錄下
LAMP部署模式
apache + php
moodule
prefork:libphp5.so
worker ,event :libphp5-zts.so
CGI
fsatcgi
php-fpm:啟動為服務程式
php-mysql
$link=mysql_connect('127.0.0.1','root','mypass')
if ($link);
echo ""
else
echo ""
mysql_close()
編譯安裝LAMP之一:php modules模式
安裝mysql
http://blog.itpub.net/29620572/viewspace-1763687/
安裝http
依賴更高版本的apr和apr-util,apr全稱為apache portable runtime
httpd2.4需要apr1.4以上版本
yum install -y pcre-devel gcc* wget lrzsz openssl-devel
wget /> wget /> wget /> tar xf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/usr/local/apr
make && make install
cd
tar xf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
cd
tar xf httpd-2.4.16.tar.gz
cd httpd-2.4.16
./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --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-modules=most --enable-modules=most --enable-mpms-shared=all --with-event
make && make install
--enable-so :支援動態載入模組
--enable-rewrite :支援url重寫
--with-zlib :使用網路上的通用壓縮庫
--with-pcre :支援perl
--enable-modules :企業大多數或所有的module
安裝PHP
/> wget /> yum install -y *libxml2* bzip2-libs bzip2 bzip2-devel
tar xf php-5.4.44.tar.gz
cd php-5.4.44
./configure --prefix=/usr/local/php --with-mysql=/mysql --with-openssl --with-
mysqli=/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir
--with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-
apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d
--with-bz2 --enable-maintainer-zts
注:
1.這裡為了支援apache的worker或event這兩個MPM,編譯時使用了--enable-maintainer-zts選項
2.如果使用PHP5.3以上的版本,為了連線mysql資料庫,可以指定mysqlnd,這樣在本機就不需要先安裝mysql開發包
了。msqlnd從php5.3開始可用,可以編譯時繫結到它,並且5.4就是預設了。
#./configure --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd
make && make install
為php提供配置檔案
cp php.ini-production /etc/php.ini
編輯apache配置檔案httpd.conf,以apache支援php
vim /etc/httpd/httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.phps index.html
cd /usr/local/apache/htdocs
<?php
$link=mysql_connect('127.0.0.1','scott','tiger');
if ($link)
echo "Success...";
else
echo "failure...";
mysql_close();
phpinfo();
?>
配置PHP加速器
tar xf xcache-3.0.4.tar.gz
cd xcache-3.0.4
/usr/local/php/bin/phpize
./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
make && make install
注意:Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/
cp xcache.ini /etc/php.d/
vim /etc/php.d/xcache.ini
extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so
編譯安裝LAMP之一:php-fpm
同上,但安裝PHP時不同
./configure --prefix=/usr/local/php --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-libxml-dir=/usr --enable-xml --enable-sockets --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2
為php提供配置檔案
cp php.ini-production /etc/php.ini
配置php-fpm
為php-fpm提供init指令碼
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
為php-fpm提供配置檔案
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
編輯php-fpm的配置檔案
vim /usr/local/php/etc/php-fpm.conf
配置fpm的相關選項為你所需要的值,並啟用pid檔案
listen
pm.max_children=50
pm.start_servers=5
pm.min_spare_servers=2
pm.max_space_servers=8
pid=/usr/local/php/var/run/php-fpm.pid
配置
grep -i pid /etc/init.d/php-fpm
vim /usr/local/php/etc/php-fpm
pid=/usr/local/php/var/run/php-fpm.pid
vim /etc/httpd/httpd.conf
Listen 80
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
Include /etc/httpd24/extra/httpd-vhosts.conf
vim /etc/httpd24/extra/httpd-vhosts.conf
ProxyRequests off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/www/a.com/$1
注:
虛擬主機一定要配置Directory
ProxyRequests off:關閉正向代理
ProxyPassMatch:把所有.php結尾的檔案請求傳送到php-fpm至少需要知道執行的目錄和URI,
所以這裡直接在fcgi://127.0.0.1:9000後指明瞭這兩個引數,其他的引數的傳遞已經被mod_proxy_fcgi.so進行了封裝,不需要手工指定
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29620572/viewspace-1781491/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 編譯安裝LAMP環境編譯LAMP
- LAMP原始碼編譯安裝LAMP原始碼編譯
- [LAMP]Php-5.3.29編譯安裝LAMPPHP編譯
- [LAMP]Mysql-5.6.28編譯安裝LAMPMySql編譯
- LAMP 編譯安裝基本步驟LAMP編譯
- 詳解LAMP原始碼編譯安裝LAMP原始碼編譯
- LAMP原始碼編譯安裝配置+wordpressLAMP原始碼編譯
- [LAMP]Apache-2.2.31編譯安裝LAMPApache編譯
- LAMP純原始碼編譯安裝日誌LAMP原始碼編譯
- 在Centos5.2下編譯安裝LAMPCentOS編譯LAMP
- LAMP全功能編譯安裝forCentOS6.3筆記(更新)LAMP編譯CentOS筆記
- Centos6.8下編譯安裝LAMP的操作記錄梳理CentOS編譯LAMP
- CentOS5.5下快速編譯安裝最新的LAMP環境CentOS編譯LAMP
- lamp編譯詳解LAMP編譯
- 原始碼編譯安裝 httpd2.4+MariaDB5.5+php5.4(LAMP)原始碼編譯httpdPHPLAMP
- lamp安裝LAMP
- Apache伺服器的編譯安裝和LAMP環境的構建Apache伺服器編譯LAMP
- ubuntu手動編譯lampUbuntu編譯LAMP
- yum安裝lampLAMP
- 編譯LAMP環境之PHP編譯LAMPPHP
- 編譯搭建LAMP伺服器編譯LAMP伺服器
- 編譯安裝zabbix編譯
- apache編譯安裝Apache編譯
- 編譯安裝nmon編譯
- swoole 編譯安裝編譯
- 編譯安裝Nginx編譯Nginx
- 編譯安裝mysql編譯MySql
- nginx編譯安裝Nginx編譯
- Griffin編譯安裝編譯
- 安裝編譯ffmpeg編譯
- LAMP原始碼安裝+wordpress安裝LAMP原始碼
- 原始碼安裝lamp原始碼LAMP
- LAMP:用yum安裝LAMP
- Shell編譯安裝nginx編譯Nginx
- centos PHP 編譯安裝CentOSPHP編譯
- httpd編譯安裝phphttpd編譯PHP
- PHP的編譯安裝PHP編譯
- Mysql 5.7.17 編譯安裝MySql編譯