久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

CentOS6.2(64位)服務(wù)器環(huán)境配置:第三篇源碼編譯PHP5.4

 昵稱(chēng)12067353 2013-04-24

繼前面兩篇《Centos6.2_(64位)服務(wù)器環(huán)境配置:第一篇源碼編譯Mysql》和《Centos6.2_(64位)服務(wù)器環(huán)境配置:第二篇源碼編譯Nginx》之后,,把PHP部分也寫(xiě)寫(xiě),這篇主要還是針對(duì)編譯安裝過(guò)程中遇到的一些奇怪問(wèn)題詳解吧,,其它安裝都差不多的,。

在 開(kāi)始之前,先把關(guān)于libmcrypt庫(kù)的問(wèn)題再說(shuō)說(shuō),,我也是在安裝過(guò)程遇到的,,因?yàn)樵疽詾閥um可以安裝好一切依賴(lài)包的,但在Centos6.2 64位環(huán)境下就是這么奇怪,,yum安裝上的libmcrypt始終都在編譯過(guò)程提示缺少一個(gè).h文件,,為此差點(diǎn)碰傷了頭。經(jīng)過(guò)過(guò)多試驗(yàn),,總算把 libmcrypt這塊先弄好了,,否則到了PHP的安裝環(huán)境是做不來(lái)的。

安裝PHP5.4.13要做的相關(guān)準(zhǔn)備工作有除了下載PHP5.4.13的源碼包之外,,還需要下載Libmcrypt,,mcrypt和mhash,后面兩個(gè)為第一個(gè)的依賴(lài)包,,而Libmcrypt又是PHP的相關(guān)依賴(lài)包,,首先要把這一小部分安裝好。

PHP5.4.13 源碼下載地址 http://cn./get/php-5.4.13.tar.gz/from/cn2./mirror

Libmcrypt( libmcrypt-2.5.8.tar.gz ): http:///project/showfiles.php?group_id=87941&package_id=91774&release_id=487459

http://downloads./project/mcrypt/Libmcrypt/Production/libmcrypt-2.5.7.tar.gz?r=http%3A%2F%2F%2Fprojects%2Fmcrypt%2Ffiles%2FLibmcrypt%2FProduction%2F&ts=1364009948&use_mirror=nchc

 

mcrypt( mcrypt-2.6.8.tar.gz ): http:///project/showfiles.php?group_id=87941&package_id=91948&release_id=642101

 

mhash( mhash-0.9.9.9.tar.gz ): http:///project/showfiles.php?group_id=4286&package_id=4300&release_id=645636

以上幾個(gè)就是對(duì)應(yīng)文件的下載鏈接,,直接wget即可,。

1、先安裝Libmcrypt

#www. ,以/apps/setup為安裝文件存放目錄

#tar -zxvf libmcrypt-2.5.8.tar.gz

#cd libmcrypt-2.5.8

#./configure

#make & make install

說(shuō)明:libmcript默認(rèn)安裝在/usr/local/lib

2.安裝mhash

#tar -zxvf mhash-0.9.9.9.tar.gz

#cd mhash-0.9.9.9

#./configure

#make & make install

3.安裝mcrypt

#tar -zxvf mcrypt-2.6.8.tar.gz

#cd mcrypt-2.6.8

 

#LD_LIBRARY_PATH=/usr/local/lib ./configure

#make & make install

說(shuō) 明:由于在配置Mcrypt時(shí),,會(huì)找不到libmcrypt的鏈接庫(kù),,導(dǎo)致無(wú)法編譯,需要手動(dòng)指定 libmcrypt:LD_LIBRARY_PATH=/usr/local/lib ,。而且實(shí)驗(yàn)證明,,經(jīng)過(guò)以上安裝之后,可解決configure: error: mcrypt.h not found. Please reinstall libmcrypt.問(wèn)題,。

以下一段是PHP的安裝配置參數(shù),,也是比較常用的,對(duì)于安裝路徑參數(shù)可以自行調(diào)整。

./configure --prefix=/apps/php5.4 \

--with-config-file-path=/apps/php5.4/etc \

--with-mysql=/apps/mysql \

--with-mysqli=/apps/mysql/bin/mysql_config \

--with-mysql-sock=/tmp/mysql.sock \

--with-gd \

--with-iconv \

--with-zlib \

--enable-xml \

--enable-magic-quotes \

--enable-safe-mode \

--enable-bcmath \

--enable-shmop \

--enable-sysvsem \

--enable-inline-appsimization \

--with-curlwrappers \

--enable-mbregex \

--enable-fpm \

--with-fpm-user=www \

--with-fpm-group=www \

--enable-mbstring \

--enable-ftp \

--enable-gd-native-ttf \

--enable-pcntl \

--enable-sockets \

--with-xmlrpc \

--enable-zip \

--enable-soap \

--without-pear \

--with-gettext \

--enable-session \

--with-mcrypt \

--with-curl

細(xì)心的朋友可能已經(jīng)發(fā)現(xiàn)參數(shù)里有兩個(gè)www的參數(shù),,這個(gè)就是前邊安裝Nginx的時(shí)候添加的用戶(hù)和用戶(hù)組,,因?yàn)镹ginx負(fù)責(zé)前端,PHP是后端,,所以使用同一組賬號(hào)就方便對(duì)目錄的權(quán)限設(shè)置,。

配置完畢之后,就可以執(zhí)行

#make & make install進(jìn)行安裝了,,這個(gè)環(huán)節(jié)要花費(fèi)的時(shí)候比較長(zhǎng),,可能是自己的機(jī)器配置不太高吧(2核4G內(nèi)存),足足make了將近20分鐘,。最近還可以對(duì)所有 功能模塊進(jìn)行測(cè)試,,這個(gè)更長(zhǎng)時(shí)間了,30分鐘以上,,這一步不是必須的,,只是閑著蛋痛的時(shí)候玩的。

編譯安裝完畢,,還需要一些設(shè)置:

#cp php.ini-production   /apps/php5.4/etc/php.ini //復(fù)制php配置文件到安裝目錄

#rm -rf /etc/php.ini   //刪除系統(tǒng)自帶配置文件

#ln -s /apps/php5.4/etc/php.ini /etc/php.ini    //添加軟鏈接

#cp /apps/php5.4/etc/php-fpm.conf.default   /apps/php5.4/etc/php-fpm.conf      //拷貝模板文件為php-fpm配置文件

#vi apps/php5.4/etc/php-fpm.conf

pid = /tmp/php-fpm.pid    //取消前面的分號(hào)

經(jīng)過(guò)以上操作,PHP-FPM已經(jīng)可以運(yùn)行了,,但是這樣不宵完美,,因?yàn)閜hp-fpm本身沒(méi)提供方便用戶(hù)啟動(dòng)或者重啟的腳本,要自己弄一個(gè),,內(nèi)容如下:

#!/bin/bash

# www.free920.com

# create by gesion<[email protected]>

# php-fpm - This shell script takes care of starting and stopping php-fpm.#

# chkconfig: - 60 50

# description: php-fpm is a php-cgi service.

# processname: php-fpm

# config: /etc/php-fpm.ini

php_fpm_path="/apps/php5.4/sbin/php-fpm"

php_fpm_conf="/apps/php5.4/etc/php-fpm.conf"

php_fpm_pid="/tmp/php-fpm.pid"

# Source function library.

. /etc/rc.d/init.d/functions

# Source networking configuration.

. /etc/sysconfig/network

# Check that networking is up.

[ ${NETWORKING} = "no" ] && exit 0

[ -x $php_fpm_path ] || exit 0

RETVAL=0

prog="php-fpm"

# Start daemons.

start() {

     if [ ! -s $php_fpm_pid ]; then

        rm -f $php_fpm_pid

    fi

    if [ -e $php_fpm_pid -a ! -z $php_fpm_pid ]; then

        echo $"$prog already running..."

        exit 1

    fi

    if [ -e $php_fpm_conf ]; then

        echo -n $"Starting $prog: "

        $php_fpm_path -y $php_fpm_conf &

        RETVAL=$?

        [ $RETVAL -eq 0 ] && success $"$prog"

        echo

        [ $RETVAL -eq 0 ] && return $RETVAL

        pid created $php_fpm_pid

        if [ -n "$try" ]; then

            RETVAL=1

        else

            RETVAL=0

        fi

    else

        RETVAL=1

    fi

    return $RETVAL

}

# Stop daemons.

stop() {

    echo -n $"Stopping $prog: "

    killproc $php_fpm_path -TERM

    RETVAL=$?

    pid removed $php_fpm_pid

    if [ -n "$try" ]; then

        RETVAL=1

        failure

    else

        RETVAL=0

        success

    fi

    echo

    [ $RETVAL = 0 ] && rm -f $php_fpm_pid

    return $RETVAL

}

pid () {

    try=0

    while test $try -lt 35; do

        case "$1" in

            'created')

                if [ -f "$2" ]; then

                    try=""

                    break

                fi

                ;;

            'removed')

                if [ ! -f "$2" ]; then

                    try=""

                    break

                fi

                ;;

        esac

        try=$(expr $try + 1)

        sleep 1

    done

}

# See how we were called.

case "$1" in

    start)

        start

        ;;

    stop)

        stop

        ;;

    restart)

        stop

        start

        ;;

    status)

         status $prog

         RETVAL=$?

         ;;

    *)

        echo $"Usage: $0 {start|stop|restart|status}"

        exit 1

esac

exit $RETVAL

------------------------分隔線--------

以上內(nèi)容保存到/etc/init.d/php-fpm,,并加入執(zhí)行權(quán)限,chkconfig php-fpm on 加入開(kāi)機(jī)自動(dòng)啟動(dòng),。

雖然此腳本也是轉(zhuǎn)載網(wǎng)友的,,經(jīng)過(guò)昨天的遭遇發(fā)現(xiàn)此腳本還有個(gè)不完美的地方,如果由于服務(wù)器意外重啟或者其它原因產(chǎn)生一個(gè)空的pid文件,,那么就會(huì)造成啟動(dòng)失敗,,所以在啟動(dòng)命令執(zhí)行之前檢查pid文件是否為空,空的就把它刪除,,這樣方可正常,。

至此就已經(jīng)介紹完了。我相信對(duì)于很多剛接觸Linux的朋友通過(guò)閱讀三篇簡(jiǎn)單的教程就可以輕松配置一臺(tái)具體PHP+Mysql+Nginx的Web服務(wù)器,。

原創(chuàng)文章,,歡迎轉(zhuǎn)載,但請(qǐng)注明出處:我愛(ài)共享(http://www./tech/site/368847.shtml

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶(hù)發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多