一、准備工作
上pkgs.org下載rmpforge。rpmforge是一個第三方yum源。
選擇相應的版本下載安裝。
// 安裝成功後,清空yum list 並 重新獲取
[root@pangou Desktop]# yum clean all
Loaded plugins: fastestmirror, refresh-packagekit, security
Cleaning repos: base extras rpmforge updates
Cleaning up Everything
Cleaning up list of fastest mirrors
[root@pangou Desktop]# yum -y list
Loaded plugins: fastestmirror, refresh-packagekit, security
Determining fastest mirrors
// ......
卸載已存在的apache服務和php
[root@pangou Desktop]# yum remove httpd php*
安裝development Tools
[root@pangou Desktop]# yum -y groupinstall "Development Tools"
二、安裝nginx
創建nginx目錄,下載nginx,並解壓縮
[root@pangou Downloads]# mkdir nginx
[root@pangou Downloads]# cd nginx/
[root@pangou nginx]# pwd
/root/Downloads/nginx
[root@pangou nginx]# wget http://nginx.org/download/nginx-1.4.0.tar.gz
--2013-04-30 23:13:44-- http://nginx.org/download/nginx-1.4.0.tar.gz
Resolving nginx.org... 206.251.255.63
Connecting to nginx.org|206.251.255.63|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 773451 (755K) [application/octet-stream]
Saving to: “nginx-1.4.0.tar.gz”
100%[================================================================>] 773,451 184K/s in 4.5s
2013-04-30 23:13:48 (166 KB/s) - “nginx-1.4.0.tar.gz” saved [773451/773451]
[root@pangou nginx]# ls
nginx-1.4.0.tar.gz
[root@pangou nginx]# tar -zxvf nginx-1.4.0.tar.gz
[root@pangou nginx]# ls
nginx-1.4.0 nginx-1.4.0.tar.gz
編譯安裝nginx
// 編譯 安裝路徑/opt/nginx
[root@pangou nginx-1.4.0]# ./configure --prefix=/opt/nginx/
編譯中如出現報錯如:
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre= option.
就是用yum自行結局依賴關系
[root@pangou nginx-1.4.0]# yum install pcre pcre-devel
然後重新上面的編譯
// 編譯 安裝路徑/opt/nginx
[root@pangou nginx-1.4.0]# ./configure --prefix=/opt/nginx/
// 編譯成功後
[root@pangou nginx-1.4.0]# make && make install
// 最後安裝完成
啟動nginx服務
[root@pangou nginx]# cd /opt/nginx/sbin/
[root@pangou sbin]# ./nginx
訪問127.0.0.1
服務啟動成功。
三、安裝php
創建文件夾php,下載php,並解壓縮
[root@pangou nginx-1.4.0]# cd /root/Downloads/
[root@pangou Downloads]# mkdir php
[root@pangou Downloads]# cd php/
[root@pangou php]# pwd
/root/Downloads/php
// 下載
[root@pangou php]# wget http://cn2.php.net/get/php-5.4.14.tar.gz/from/this/mirror
// 解壓
[root@pangou php]# tar -zxvf php-5.4.14.tar.gz
安裝依賴包
[root@pangou php]# yum install -y libxml2-devel libjpeg-devel libpng-devel freetype-devel openssl-devel libcurl-devel libmcrypt-devel
編譯php
[root@pangou php]# ls
php-5.4.14 php-5.4.14.tar.gz
[root@pangou php]# cd php-5.4.14
[root@pangou php-5.4.14]# pwd
/root/Downloads/php/php-5.4.14
[root@pangou php-5.4.14]# ls
acinclude.m4 CREDITS ltmain.sh NEWS README.MAILINGLIST_RULES README.TESTING stamp-h.in
aclocal.m4 ext main pear README.namespaces README.TESTING2 stub.c
build EXTENSIONS makedist php5.spec.in README.NEW-OUTPUT-API README.UNIX-BUILD-SYSTEM svnclean.bat
buildconf footer Makefile.frag php.gif README.PARAMETER_PARSING_API README.WIN32-BUILD-SYSTEM tests
buildconf.bat generated_lists Makefile.gcov php.ini-development README.PHP4-TO-PHP5-THIN-CHANGES run-tests.php TSRM
CODING_STANDARDS genfiles Makefile.global php.ini-production README.REDIST.BINS sapi UPGRADING
config.guess header makerpm README.EXTENSIONS README.RELEASE_PROCESS scripts UPGRADING.INTERNALS
config.sub INSTALL missing README.EXT_SKEL README.SELF-CONTAINED-EXTENSIONS server-tests-config.php vcsclean
configure install-sh mkinstalldirs README.GIT-RULES README.STREAMS server-tests.php win32
configure.in LICENSE netware README.input_filter README.SUBMITTING_PATCH snapshot Zend
[root@pangou php-5.4.14]# ./configure --prefix=/opt/php --with-config-file-path=/opt/php/etc --with-mysql=/usr/ --with-mysqli=/usr/bin/mysql_config --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-magic-quotes --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --with-mime-magic
// 編譯時間可能有點長。。。
// 編譯成功後,安裝
[root@pangou php-5.4.14]# make && make install
// 安裝時間也比較長
安裝成功後,php的位置就應該在/opt/php目錄下,接下去就是配置
// 復制配置文件到配置目錄下
[root@pangou php-5.4.14]# cp /root/Downloads/php/php-5.4.14/php.ini-production /opt/php/etc/php.ini
[root@pangou php-5.4.14]# cp /opt/php/etc/php-fpm.conf.default /opt/php/etc/php-fpm.conf
[root@pangou php-5.4.14]# cd /opt/php/etc/
[root@pangou etc]# ls
php-fpm.conf php-fpm.conf.default php.ini
// 然後配置nginx的配置文件,讓其可以運行php
[root@pangou etc]# cd /opt/nginx/conf/
[root@pangou conf]# ls
fastcgi.conf fastcgi_params koi-utf mime.types nginx.conf scgi_params uwsgi_params win-utf
fastcgi.conf.default fastcgi_params.default koi-win mime.types.default nginx.conf.default scgi_params.default uwsgi_params.default
[root@pangou conf]# vim nginx.conf
1、去掉 #user nobody; 的#號, 變成 user nobody;
2、去掉
#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_params;
#}
之前的#號,
並修改
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
為
fastcgi_param SCRIPT_FILENAME /opt/nginx/html$fastcgi_script_name;
最終修改後的內容為:
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /opt/nginx/html$fast