參考:http://my.oschina.net/anxuyong/blog/123007 php
centos 6.4, nginx ,php5 ,mysql5.5.29html
一、換源,更新:(搞了好幾回才明白,rpm是換包的源。而且有些帖子給的源地址有可能沒有包或者已經成了一個簡單的網頁了,之後注意)java
# rpm -Uvh http://centos.alt.ru/repository/centos/6/i386/centalt-release-6-1.noarch.rpm # yum update
二、安裝nginx+mysql+php-fpm:mysql
# yum install nginx-stable php-fpm mysql-server php-mysql mysql-server php-mbstring php-gd php-pear php-mcrypt php-mhash php-eaccelerator -y
(yum install <???> 後面的軟件包, 已經裝過的就沒有必要再裝了,或者是命令都在,系統在執行上面這條安裝命令時,會過濾掉已經安裝過的軟件,而且提示出來,這個很方便很人性化)nginx
三、設置mysql密碼及mysql、nginx、php-fpm開機啓動:(這個主要是mysql的密碼,和php-fpm的啓動)sql
# service mysqld start # mysqladmin -u root password '密碼' # chkconfig nginx on # chkconfig mysqld on # chkconfig php-fpm on
注:默認安裝啓動php-fpm時,出現以下錯誤:(這個在我安裝的時候並無出現,可是也把下面的文件改掉了)apache
正在啓動 php-fpm:[28-Nov-2011 08:11:01] ERROR: [pool www] cannot get uid for user 'apache'
解決辦法:(他給的解決辦法)centos
# vi /etc/php-fpm.d/www.conf
找到下面兩行:tcp
user = apache group = apache
將其中的apache都改成nginx。php-fpm
四、開啓80端口(默認是關閉的):
# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT # /etc/rc.d/init.d/iptables save # /etc/init.d/iptables restart
五、修改nginx配置文件,啓動nginx和php-fpm:(這裏fpm是nginx和php鏈接起來,這裏很重要,一開是就是這裏出的問題最多了。)
# vi /etc/nginx/nginx.conf
更改網站的根目錄,添加php默認文件:(php5 裏面location的配置再也不nginx.conf裏面,實在./conf.d/default.conf裏面的,這個是看過不少版本的帖子和nginx的配置才發現的,有點悲,浪費時間挺多的)
location / { root /usr/share/nginx/html; index index.php index.html index.htm; }
修改到下代碼,添加php支持:(哪,最重要的來了,就這一步了)
# location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; # include fastcgi_params; #}
刪除上面全部的#和其中一行(藍色字體部分),修改網站目錄和前面一致。啓動nginx和php-fpm:
# service nginx start # service php-fpm start
6.能夠把任意的php的文件放在/usr/share/nginx/html下面(或者用filezilla上傳網站至/usr/share/nginx/html。),就能夠用nginx接受請求,經過fpm找到php解釋出結果網頁,返回給客戶端,不準要java相似的網站工程結構和配置信息。
base on http://phpcj.org/centos6-nginx-mysql-php-fpm/