成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

FastCGI(PHP)-創(chuàng)新互聯(lián)

一、什么是FastCGI
FastCGI是一個(gè)可伸縮、高速在HTTP server和動(dòng)態(tài)腳本語(yǔ)言之間的一個(gè)通信接口.大多數(shù)的HTTP server都支持FastCGI,比如:Nginx Aapache lighttpd等..FastCGI被很多語(yǔ)言所支持。其中就有PHP.


二、Nginx+FastCGI運(yùn)行原理
(1)Nginx不支持對(duì)外程序的直接調(diào)用或者解析,所有的外包程序(包括PHP)都必須通過(guò)FastCGI來(lái)調(diào)用
(2)FastCGI接口在Linux下面可以(socket文件的方式存在,那么可以IP),
(3)為了調(diào)用CGI程序,還需要一個(gè)FastCGI的wrapper,當(dāng)Nginx發(fā)送CGI的請(qǐng)求給這個(gè)socket的時(shí)候。通過(guò)FastCGI接口wrapper接受到的請(qǐng)求,然后派生出一個(gè)新的線程,這個(gè)線程調(diào)用外部程序或者腳本讀卻返回?cái)?shù)據(jù).
   最后wrapper在將返回的數(shù)據(jù)通過(guò)FastCGI接口,沿著固定的socket傳遞給Nginx,最后返回給數(shù)據(jù)發(fā)送的客戶端.
   
Nginx-->發(fā)送一個(gè)CGI請(qǐng)求-->FastCGI(warpper)接收到這個(gè)請(qǐng)求--->派生出一個(gè)新的線程--->調(diào)用外部程序或者腳本返回?cái)?shù)據(jù)--->wrapper將數(shù)據(jù)沿著固定的socket傳遞給Nginx-->由Nginx在把這個(gè)數(shù)據(jù)返回給用戶.

三、PHP與PHP-FPM的安裝與優(yōu)化
   PHP-FPM也是第三方的FastCGI的進(jìn)程管理,它作為PHP補(bǔ)丁一起開(kāi)發(fā),編寫(xiě)的時(shí)候跟著一起編譯到PHP內(nèi)核當(dāng)中,PHP-FPM在處理高并發(fā)的方面非常的優(yōu)秀.它的一個(gè)有點(diǎn)呢:就是把動(dòng)態(tài)語(yǔ)言和HTTP server分離開(kāi)來(lái)(動(dòng)靜分離),Http server主要處理靜態(tài)請(qǐng)求,PHP-FPM處理動(dòng)態(tài)請(qǐng)求。
   所有呢 PHP/PHP-FPM 和Nginx經(jīng)常組合到一塊安裝到一臺(tái)機(jī)器上,以滿足業(yè)務(wù)需求.
   
 
四、首先安裝Mysql
(1)首先安裝Mysql數(shù)據(jù)庫(kù),PHP在編譯的時(shí)候需要mysql的一個(gè)配置
這樣PHP遠(yuǎn)程鏈接Mysql才有用
# cd /data/soft/
# tar xf mysql-5.1.49.tar.gz -C tmp/
# cd tmp/mysql-5.1.49/
#CONFOPTS=" \
--with-charset=utf8 \
--with-plugins=partition,federated,innobase,myisam \
--enable-static \
--enable-assembler \
--enable-thread-safe-client \
--with-client-ldflags=-all-static-ltinfo \
--with-mysqld-ldflags=-all-static-ltinfo \
--with-big-tables \
--with-mysqld-user=mysql \
--without-debug \
--without-ndb-debug \
--localstatedir=/usr/local/services/mysql-5.1.49/var \
--prefix=/usr/local/services/mysql-5.1.49 \
"
#./configure $CONFOPTS >/dev/null
# make >/dev/null && make install >/dev/null

 
五、安裝PHP的依賴(lài)庫(kù)
①libxml2-2.7.7.tar.gz
# cd /data/soft/
#tar xf libxml2-2.7.7.tar.gz –C tmp/
# cd tmp/libxml2-2.7.7/
#./configure --prefix=/usr/local/services >/dev/null
#make >/dev/null && make install >/dev/null

②curl-7.21.4.tar.gz
# cd /data/soft/
# tar xf curl-7.21.4.tar.gz -C tmp/
# cd tmp/curl-7.21.4/
#./configure --prefix=/usr/local/services >/dev/null
#make >/dev/null && make install >/dev/null

③jpegsrc.v8b.tar.gz
# cd /data/soft/
#tar xf jpegsrc.v8b.tar.gz –C tmp/
#cd tmp/jpeg-8b/
#./configure --prefix=/usr/local/services >/dev/null
#make >/dev/null && make install >/dev/null

④libpng-1.4.3.tar.gz
# cd /data/soft/
# tar xf libpng-1.4.3.tar.gz -C tmp/
# cd tmp/libpng-1.4.3/
#./configure --prefix=/usr/local/services >/dev/null
#make >/dev/null && make install >/dev/null

⑤freetype-2.4.1.tar.gz
# cd /data/soft/
# tar xf freetype-2.4.1.tar.gz -C tmp/
# cd tmp/freetype-2.4.1/
#./configure --prefix=/usr/local/services >/dev/null
#make >/dev/null && make install >/dev/null

⑥libevent-2.0.10-stable.tar.gz
# cd /data/soft/
# tar xf libevent-2.0.10-stable.tar.gz –C tmp/
# cd tmp/libevent-2.0.10-stable/
#./configure --prefix=/usr/local/services --disable-debug-mode >/dev/null
#make >/dev/null && make install >/dev/null

⑦re2c-0.13.5.tar.gz
# cd /data/soft/
# tar xf re2c-0.13.5.tar.gz -C tmp/
# cd tmp/re2c-0.13.5/
#./configure --prefix=/usr/local/services >/dev/null
#make >/dev/null && make install >/dev/null

⑧l(xiāng)ibmcrypt-2.5.8.tar.gz
# cd /data/soft/
# tar xf libmcrypt-2.5.8.tar.bz2 -C tmp/
# cd tmp/libmcrypt-2.5.8/
#./configure --prefix=/usr/local/services >/dev/null
#make >/dev/null && make install >/dev/null
# cd libltdl/
# ./configure --prefix=/usr/local/services --enable-ltdl-install >/dev/null
#make >/dev/null && make install >/dev/null

六、安裝PHP的依賴(lài)庫(kù)
wget http://php.net/distributions/php-5.3.13.tar.gz
php-5.3.13.tar.gz
# cd /data/soft/
# tar xf php-5.3.13.tar.gz -C tmp/
#cd tmp/php-5.3.13/
#CONFOPTS="
--enable-zend-multibyte \
--enable-mbstring \
--enable-sockets \
--enable-pdo \
--enable-zip \
--enable-fpm \
--with-gd \
--with-fpm-user=user_00 \
--with-fpm-group=user_00 \
--with-zlib \
--with-config-file-path=/usr/local/services/php-5.3.13/etc \
--with-libxml-dir=/usr/local/services \
--with-curl=/usr/local/services \
--with-png-dir=/usr/local/services \
--with-jpeg-dir=/usr/local/services \
--with-freetype-dir=/usr/local/services \
--with-mysql=/usr/local/services/mysql \
--with-pdo-mysql=/usr/local/services/mysql \
--with-mysqli=/usr/local/services/mysql/bin/mysql_config \
--prefix=/usr/local/services/php-5.3.13 \
"
# ./configure $CONFOPTS
# make >/dev/null && make install >/dev/null
編譯錯(cuò)誤解決:
/var/lib/mysql/mysql.sock
configure: error: Cannot find libmysqlclient under /usr.
Note that the MySQL client library is not bundled anymore!
解決方法:
cp -rp /usr/lib64/mysql/libmysqlclient.so.16.0.0 /usr/lib/libmysqlclient.so





七、安裝PHP的擴(kuò)展模塊
①eaccelerator-0.9.6.1.tar.bz2
# cd /data/soft/
#tar xf eaccelerator-0.9.6.1.tar.bz2 -C tmp/
#cd tmp/eaccelerator-0.9.6.1/
#/usr/local/services/php-5.3.13/bin/phpize 
#./configure --prefix=/usr/local/services/eaccelerator-0.9.6.1 --enable-eaccelerator --with-php-config=/usr/local/services/php-5.3.13/bin/php-config > /dev/null
#make >/dev/null && make install >/dev/null
#mkdir /tmp/eaccelerator
#chmod 777 /tmp/eaccelerator

②memcached-1.4.13.tar.gz
(服務(wù)器端要前安裝,下面的編譯擴(kuò)展模塊要用到)
# cd /data/soft/
#tar xf memcached-1.4.13.tar.gz -C tmp/
# cd tmp/memcached-1.4.13/
#./configure --enable-64bit --with-libevent=/usr/local/services --prefix=/usr/local/services/memcached-1.4.13 >/dev/null
# make >/dev/null && make install >/dev/null

③libmemcached-0.48.tar.gz
# cd /data/soft/
#tar xf libmemcached-0.48.tar.gz -C tmp/
#cd tmp/libmemcached-0.48/
#CONFOPTS="
--disable-libinnodb 
--without-libinnodb-prefix 
--with-libevent-prefix=/usr/local/services 
--with-memcached=/usr/local/services/memcached-1.4.13/bin/memcached 
--prefix=/usr/local/services 
"
#./configure $CONFOPTS >/dev/null
#make >/dev/null && make install >/dev/null

④igbinary-1.0.2.tgz
# cd /data/soft/
# tar xf igbinary-1.0.2.tar.gz -C tmp/
#cd tmp/igbinary-1.0.2/
#/usr/local/services/php-5.3.13/bin/phpize
#./configure --enable-igbinary --with-php-config=/usr/local/services/php-5.3.13/bin/php-config >/dev/null
#make >/dev/null && make install >/dev/null

⑤memcache-3.0.5.tgz 
# cd /data/soft/
# tar xf memcache-3.0.5.tgz -C tmp/
#cd tmp/memcache-3.0.5/
#/usr/local/services/php-5.3.13/bin/phpize
#CONFOPTS=" \
--enable-memcache \
--with-php-config=/usr/local/services/php-5.3.13/bin/php-config \
"
#./configure $CONFOPTS >/dev/null
#make >/dev/null && make install >/dev/null

⑥memcached-1.0.2.tgz(注意安裝的順序,igbinary-1.1.1.tgz是依賴(lài)庫(kù))
# cd /data/soft/
# tar xf memcached-1.0.2.tgz -C tmp/
# cd  tmp/memcached-1.0.2/
#/usr/local/services/php-5.3.13/bin/phpize
#CONFOPTS=" \
--enable-memcached \
--enable-memcached-igbinary \
--enable-memcached-json \
--with-libmemcached-dir=/usr/local/services \
--with-php-config=/usr/local/services/php-5.3.13/bin/php-config \
--prefix=/usr/local/services \
"
#./configure $CONFOPTS >/dev/null
#make >/dev/null && make install >/dev/null

⑦owlient-phpredis-2.1.1-1-g90ecd17.tar.gz
# cd /data/soft/
#tar xf owlient-phpredis-2.1.1-1-g90ecd17.tar.gz -C tmp/
# cd tmp/owlient-phpredis-90ecd17/
#/usr/local/services/php-5.3.13/bin/phpize 
#./configure --with-php-config=/usr/local/services/php-5.3.13/bin/php-config >/dev/null
#make >/dev/null && make install >/dev/null



九、拷貝配置文件:
# cd /usr/local/services/php-5.3.13/etc
# cp php-fpm.conf.default php-fpm.conf
# cp /soft/php/php-5.3.13/php.ini-production php.ini

1.PHP配置文件優(yōu)化與調(diào)整
1.在php-fpm.conf 里面調(diào)整.
;listen = 127.0.0.1:9000
listen = /tmp/php-cgi.tuge.sock   #以socke的方式訪問(wèn).注視掉.ip端口的方式.

; Default Value: log/php-fpm.log
error_log = /data/php_log/tuge.php.error  #根據(jù)不同的項(xiàng)目名.定義不同的.sock 和日志.

# 調(diào)整進(jìn)程數(shù)量
pm.max_children:靜態(tài)方式下開(kāi)啟的php-fpm進(jìn)程數(shù)量。
pm.start_servers:動(dòng)態(tài)方式下的起始php-fpm進(jìn)程數(shù)量。
pm.min_spare_servers:動(dòng)態(tài)方式下的最小php-fpm進(jìn)程數(shù)量。
pm.max_spare_servers:動(dòng)態(tài)方式下的大php-fpm進(jìn)程數(shù)量。


2.在php.ini 加入擴(kuò)展模塊.
在尾部添加:
[eaccelerator]
zend_extension="/usr/local/services/php-5.3.13/lib/php/extensions/no-debug-non-zts-20090626/eaccelerator.so
"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

擴(kuò)展模塊增加
extension = memcached.so
extension = redis.so
extension = memcache.so
extension = igbinary.so



十、啟動(dòng)PHP-FPM
#cd  ../sbin
#./php-fpm


十一、Nginx配置文件調(diào)整
#vim /usr/local/services/nginx-0.8.55/conf/vhost/vhost.zhangyi.com

                #可以指定多個(gè)localtion進(jìn)行不同的指令處理,這里是指定php的sock
        location ~ \.php$ {
            fastcgi_pass   unix:/tmp/php-cgi.zhangyi.sock;    #修改這里
            fastcgi_index  index.php;
            include        fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param SERVER_NAME $http_host;
            fastcgi_ignore_client_abort on;
        }


十二、重啟Nginux
#cd  /usr/local/services/nginx-0.8.55/sbin
#./nginx -s reload



十三、測(cè)試
#cd /data/www
#mv index.html index.php
#vim index.php

<?php
    phpinfo();
?>

在firefox瀏覽器上登錄

目前創(chuàng)新互聯(lián)建站已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、華容網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)頁(yè)題目:FastCGI(PHP)-創(chuàng)新互聯(lián)
當(dāng)前地址:http://jinyejixie.com/article44/csdiee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google商城網(wǎng)站、企業(yè)網(wǎng)站制作、靜態(tài)網(wǎng)站、關(guān)鍵詞優(yōu)化微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
印江| 宜阳县| 东台市| 栖霞市| 德惠市| 华宁县| 嘉善县| 田阳县| 平定县| 南漳县| 南漳县| 义马市| 湘乡市| 遵义县| 永胜县| 宁陕县| 曲水县| 岳阳市| 射阳县| 新宾| 泸水县| 横山县| 彭州市| 湖口县| 瓦房店市| 通河县| 大连市| 兴安县| 旌德县| 比如县| 亳州市| 普宁市| 和龙市| 景洪市| 正蓝旗| 卫辉市| 萨嘎县| 南宫市| 昌都县| 汽车| 南通市|