linux下PHP5.3.5+nginx源碼安裝

先裝php5.3.5

'./configure' '--prefix=/home/php535' '--enable-xml' '--enable-fpm' '--with-curl'

這裏最重要的是--enable-fpm。fastcgi已經在php5.3.5的core中了,不必再configure時--enable-fastcgi了。老版本的需要加,比如5.2

make && make install

這都是順利的,然後就不知怎麼啓,誤以爲phppath/sbin/php-fpm就行了,可是一直起不來,報錯:failed to post process the configuration。baidu了一個週末,還是不明白。覺得我已在etc下寫了php-fpm.conf了呀,又以phppath/sbin/php-fpm -y etc/php-fpm.conf起,依然起不來。想了N久,覺得它這裏指的conf文件應該php.ini,於是從源碼中把php.ini找到,拷了過來,依然起不來.......

在php社區中逛時,發現有人提到的init.d.php-fpm。於是從源碼中把它拷過來, phppath/init.d.php-fpm start。就起來了。。。

這都哪兒跟哪兒啊。

 

nginx其實已裝了,只是光能解析html,於是改了nginx.conf文件

        location ~ /.php$ {
        #    root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi.conf;
        }

把這段加上,寫了個index.php,果然可以解析了。。。。

 ps:init.d.php-fpm start這個如果重新運行了時,一定nginx也要重新啓一下,否則,雖然php-fpm與nginx通信的端口起來了,但nginx所listen的端口仍然沒有起來


其實,nginx支持平滑重啓,不必停止服務的,這也是它廣受好評的原因。具體的命令就是kill -HUP `cat yourpath/nginx/logs/nginx.pid`

但這個重啓,並不好,在nginx.conf有問題時(也許是新加了模塊時),並未真正重啓,還是用nginx/sbin/nginx -c nginx.conf吧。當然停止用nginx/sbin/nginx  -s stop

還是覺得,只是上網找別人寫的例子,不夠。尤其有的人寫的太短,根本沒說明白怎麼樣一步一步地修改,安裝,有些人寫的太長,扯來扯去的,找不出骨架。

 

我寫的也不好。。。。所以寫個技術文檔,不是個容易的活。。。

發佈了30 篇原創文章 · 獲贊 3 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章