Nginx+Php-fpm+Mysql安裝

LNMP即linux+nginx+mysql+php.

用來搭建php+mysql網站很好的選擇。下面開始安裝;

一、Nginx

yum安裝:http://bfe99.blog.51cto.com/blog/1072496/1313414

編譯安裝http://bfe99.blog.51cto.com/blog/1072496/1131164

測試:直接在瀏覽器中輸入http://192.168.1.220(你機器的ip地址)訪問

如果出現,那麼恭喜你,nginx安裝成功!

Welcome to nginx!

注:防火牆的配置。

二、MySQL

待續。

三、Php、Php-fpm

php的版本選擇以前的穩定版5.3.14。由於php5.3.x直接綁定php-fpm,所以php-fpm是沒有php5.3.x的包。

###################################################

通過源碼安裝php5.3.14

wget http://cn.php.net/get/php-5.3.14.tar.bz2/from/this/mirror

tar -xvjf php-5.3.14

cd php-5.3.14

#下載源碼

安裝(php源碼安裝的話,其參數會非常多。具體看你加載那些擴展)

> ./configure -enable-fpm--with-mysql=/usr/bin/mysql --with-curl --with-zlib_dir=/usr/lib64 --with-gd--with-mysqli

-enable-fpm開啓php-fpmcgi模式

--with-mysql=/usr/bin/mysql /usr/bin/mysql是你的mysql客戶端的地址

--with-mysqli 加載mysqli擴展

--with-curl加載curl擴展

--with-zlib_dir=/usr/lib64這個暫時不知道什麼意思,但是不加上會出現:configure error:Try adding --with-zlib_dir=<DIR>……錯誤

--with-gd加載gd擴展

--with-mcrypt

--with-mhash

--with-mbstring

>make

>make install

####################################################
#################yum安裝##########

yum install php-fpm

service php-fpm start

如果找不到源則進行下面操作:

·首先,添加atomic源,這個atomic是專爲LAMP設置的,很多源在有了新的版本之後會刪除舊的版本,因此無法使用。在終端輸入以下代碼:

wget -q -O - http://www.atomicorp.com/installers/atomic | sh

·其次使用yum的附加選項–enablerepo(這個可以指定從哪個源安裝軟件),再次,使用–exclude選項(排除特定的包),這裏呢,就寫出我們需要的命令:

yum --enablerepo=atomic --exclude=php*5.3*--exclude=php*5.4* install php

。兩個排除(–exclude5.35.4,自己融匯貫通),一個指定(–enablerepo,當然可以像–exclude一樣連續兩個。)

#######################################

#########################php5.4安裝也說一下##############

使用 WebtaticEL6YUM源來安裝php5.4,我們首頁安裝Webtatic EL6 YUM

rpm -Uvh http://repo.webtatic.com/yum/el6/latest.rpm

yum install php54w

如果安裝失敗,建議您先卸載以前的php再進行安裝,使用yum remove php php-*

附帶的php擴展列表:

Package

Provides

php54w

mod_php

php54w-bcmath


php54w-cli

php-cgi, php-pcntl, php-readline

php54w-common

php-api, php-bz2, php-calendar, php-ctype, php-curl, php-date, php-exif, php-fileinfo, php-ftp, php-gettext, php-gmp, php-hash, php-iconv, php-json, php-libxml, php-openssl, php-pcre, php-pecl-Fileinfo, php-pecl-phar, php-pecl-zip, php-reflection, php-session, php-shmop, php-simplexml, php-sockets, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlib

php54w-dba


php54w-devel


php54w-embedded

php-embedded-devel

php54w-enchant


php54w-fpm


php54w-gd


php54w-imap


php54w-interbase

php_database, php-firebird

php54w-intl


php54w-ldap


php54w-mbstring


php54w-mcrypt


php54w-mssql


php54w-mysql

php-mysqli, php_database

php54w-odbc

php-pdo_odbc, php_database

php54w-pdo


php54w-pgsql

php-pdo_pgsql, php_database

php54w-process

php-posix, php-sysvmsg, php-sysvsem, php-sysvshm

php54w-pspell


php54w-recode


php54w-snmp


php54w-soap


php54w-tidy


php54w-xml

php-dom, php-domxml, php-wddx, php-xsl

php54w-xmlrpc


php54w-zts


注意事項

最新版本中的error_reporting E_ALL 現在包含了 E_STRICT,會出現更多的警告及錯誤提示。默認情況下error_reporting是關閉狀態,但是如果是從舊的php版本中升級而來,php.ini可能得不到更新,error_reporting可能開啓着。

關於php5.4centos5上的安裝升級

因爲centos已經過去的版本了,用的越來越少,把php5.4移植到centos5上也需要大量的工作,估計夠嗆能完成啊。

########################################################

service php-fpm start

netstat -tunlp | grep 9000

測試是否安裝成功


四、讓nginx支持php

找到/etc/nginx/conf.d/default.conf,打開編輯它

>vi /etc/nginx/conf.d/default.conf

去掉下面部分的註釋用於支持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 /etc/nginx/fastcgi_params;
}

fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; /usr/share/nginx/html指你的網站目錄

include /etc/nginx/fastcgi_params; 要確保找對文件地址

重啓nginx服務

>/etc/init.d/nginx stop

>/etc/init.d/nginx start

啓動php-fpm

>/usr/local/sbin/php-fpm

建立php測試文件

vi phpinfo.php

其內容:

<?php

phpinfo();

?>

瀏覽http://(你機器的ip地址)/phpinfo.php

如果出一個php的特色標誌頁面,就說明安裝成功了。

五、問題總結

安裝php中的mcrypt出問題:mcrypt.h not found. Please reinstalllibmcrypt

解決方法:

yum install libmcrypt

編譯安裝遇到的問題比較多,建議yum安裝。


重啓nginx時提示ive"root" is not terminated by ";"

發現配置文件裏面少;}這裏要注意.

可以用grep 來查看下.

網上也有人說:

將重新後的url用雙引號引起來!

出錯:rewrite ^/date/([0-9]{6})/?([0-9]+)?/?$/index.php?action=article&setdate=$1&page=$2 last;
正確:rewrite"^/date/([0-9]{6})/?([0-9]+)?/?$"/index.php?action=article&setdate=$1&page=$2 last;

這個我沒試.不知是否有用.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章