Linux下安裝php,並配置到nginx

來源:互聯網
上載者:User
1、 下載
libxml2-2.6.32.tar.gz http://download.csdn.net/detail/netlong339/1351852
php-5.3.16.tar.gz http://download.csdn.net/detail/aiyunbreak/5366061
2、建立目標檔案夾
mkdir /usr/local/php
也就是說等下安裝的php要安裝到這個檔案夾裡面
3、解壓:
將下載好的檔案放在伺服器上的某個位置:比如/root/xiebin
①先安裝libxml,解壓libxml2-2.6.32.tar.gz,
tar -zxvf libxml2-2.6.32.tar.gz

cd /root/xiebin/libxml2-2.6.32
執行: ./configure
執行:make
執行:make install
②在安裝php,解壓tar -zxvf php-5.3.16.tar.gz
cd /root/xiebin/php-5.3.16

執行:./configure --prefix=/usr/local/php --with-libxml-dir=/usr/local/libxml2 --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-libevent-dir=libevent

這裡超級重要,php5.3以後支援php-fpm啟動,如果這裡沒有配置好,就會導致後面無法啟動php【apache作為伺服器的話,無所謂,但我們現在是nginx】

./configure --prefix=/usr/local/php --with-libxml-dir=/usr/local/libxml2 --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-libevent-dir=libevent

執行:make
執行:make install
4、設定檔
①ini檔案:將安裝檔案中的php.ini-development拷貝到/usr/local/php/lib下
cp /root/xiebin/php-5.3.16/php.ini-development /usr/local/php/lib
將檔案重新命名成php.ini;我用的工具是WinScp,可以直接F2重新命名,所以我一般先是拷貝,在F2命名
直接cp的時候被提示not find 這樣的
②php-fpm檔案:php自5.3以後將php-fpm整合過來了,這個很重要!!!下面需要啟動php的時候用到。
將php-fpm.conf.default重新命名成php-fpm.conf,即去掉.default
修改php-fpm中的配置:122行 將www換成root
140行 user=root
group=root
5、啟動php:實際上是啟動php-fpm
/usr/local/php/etc/php-fpm
這裡你會遇到一個問題:please specify user and group other than root
FPM initialzation failed
報錯了,提示運行php-fpm運行使用者和組只能選擇其它的除了root以外.

於是查看php-fpm文檔,會發現其中一個選項:-R



所以正確的啟動應該是:/usr/local/php/etc/php-fpm -R

/usr/local/php/etc/php-fpm -R


查看是否啟動成功:

netstat -lnt | grep 9000

netstat -lnt | grep 9000


tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
或者使用如下命令,查看是否9000連接埠被php-fpm佔用:
netstat -tunpl | grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 2124/php-fpm

5、nginx配置
在nginx的設定檔中加一段
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
root /www/web/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME /www/web/$fastcgi_script_name;
include fastcgi_params;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000location ~ \.php$ {root           /www/web/;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;#fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;fastcgi_param  SCRIPT_FILENAME  /www/web/$fastcgi_script_name;include        fastcgi_params;}

ps:如何找到nginx的位置:#whereis nginx.conf
再送一個命令:找到檔案which nginx 可執行檔名稱

配置好了後,再次在家nginx,執行:/usr/sbin/nginx -s reload

/usr/sbin/nginx -s reload


寫個測試頁面
echo("this is my first php pagesss");
?>


以上就介紹了Linux下安裝php,並配置到nginx,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.