文章出處

  安裝這兩個花了大約七個小時,簡直呵呵,安裝nginx就是直接 yum install nginx ,但發現一打開php文件就是直接下載該php文件,也就是不能識別php文件,解決這個花了好久,但其實看到別人寫的正確的文章,其實加起來的時間就是十幾分鐘就可以了,網上好多文章可能是系統不同,部分文件也會不同,然后花了好久漸漸弄明白。本篇文章大部分引用seanchan 的 這篇博客 ,但是有部分鏈接失效,并且文件有些不同,我只是在該文章進行完善。

  進入正文

  開始安裝Nginx和PHP-FPM之前,你必須卸載系統中以前安裝的Apache和PHP。用root登錄輸入下面的命令:

# yum remove httpd* php*

增加額外資源庫

    默認情況下,CentOS的官方資源是沒有php-fpm的, 但我們可以從Remi的RPM資源中獲得,它依賴于EPEL資源。我們可以這樣增加兩個資源庫:

# yum install yum-priorities -y  
# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

注意  rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm 是下載EPEL資源,原文中的 epel-release-6-7.noarch.rpm ,但是評論中有人指出6-7已經不能用了,改成 epel-release-6-8 就能用,如果我給的6-8版本不能用,大家可嘗試改成6-8以上的版本試試。

  http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 是下載Remi資源,原文中的鏈接也不能用了,我用的是從 這篇博客中 中獲取的。

 

EPEL成功樣例

Retrieving http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
warning: /var/tmp/rpm-tmp.vfNOg4: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing...                ########################################### [100%]
   1:epel-release           ########################################### [100%]

 

Remi下載成功樣例(我只選取最后的部分,出現了Complete!即表示成功了)

Installed:
  remi-release.noarch 0:6.6-1.el6.remi                                          

Complete!

 

安裝Nginx

輸入下列命令

# yum install nginx

這個一般不會有什么問題,就不取安裝成功的注釋了。

如果你想在系統啟動時自動運行nginx,輸入下列命令:

# chkconfig --level 345 nginx on  

第一次啟動nginx,輸入下列命令:

# /etc/init.d/nginx start 

我個人比較喜歡  service nginx start 

 

安裝PHP-FPM

輸入下列命令:

# yum --enablerepo=remi install php php-fpm 

安裝過程中選擇yes|no的情況下,一律選yes

安裝成功樣例

Installed:
  php.i686 0:5.4.45-1.el6.remi         php-fpm.i686 0:5.4.45-1.el6.remi        

Dependency Installed:
  httpd.i686 0:2.2.15-47.el6.centos   httpd-tools.i686 0:2.2.15-47.el6.centos  
  php-cli.i686 0:5.4.45-1.el6.remi    php-common.i686 0:5.4.45-1.el6.remi      

Complete!

如果你想在系統啟動時自動運行php-fpm,輸入下列命令:

# chkconfig --level 345 php-fpm on

PHP僅安裝了核心模塊,你很可能需要安裝其他的模塊,比如MySQL、 XML、 GD等等,你可以輸入下列命令:

# yum --enablerepo=remi install php-gd php-mysql php-mbstring php-xml php-mcrypt

第一次啟動php-fpm,輸入下列命令:

# /etc/init.d/php-fpm restart 

輸出樣例

Starting php-fpm:                                          [ OK ]  

配置PHP-FPM和Nginx,讓他們一起工作

nginx的配置文件在/etc/nginx/nginx.conf,輸入下列命令編輯這個文件:
# vi /etc/nginx/nginx.conf 

注意,一般這個文件內不會把文件全部寫在里面,打開該文件可以看到在倒處第二行寫了 include /etc/nginx/conf.d/*.conf; ,那我們就去 nginx/conf.d 里面看看有什么文件,發現有 default.conf   example_ssl.conf 這兩個文件,就是 default.conf ,如果是其它的系統,文件的地址可能不一樣,但大部分都是 default.conf ,打開該文件進行配置

像下面這樣編輯取消注釋:

...
    location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm index.php;
        }
        ...
    location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
        ...

  /usr/share/nginx/html; 是你安裝nginx時默認的代碼文件根目錄

 index index.html index.htm index.php; 相比源文件中加入亂 index.php 

 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 相比源文件是把 $script 換成了 $document_root 

重啟Nginx會重新讀取配置文件,輸入

 # /etc/init.d/nginx reload  

現在在document root目錄下建立下列PHP文件

 # vi /usr/share/nginx/html/info.php  

文件內容如下:

<?php
phpinfo();
?>

這時在瀏覽器中輸入

localhost/info.php

如果出現 file not found 

那就回到 /etc/nginx/conf.d/default.conf 中把我們原先設定的 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 中的 $document_root 換成 /usr/share/nginx/html ,也就是可能程序沒有讀取到nginx根目錄的文件,這時,你就把全路徑寫上,然后在重新加載nginx 

 # /etc/init.d/nginx reload 

這時再刷新 localhost/info.php ,就會出現下面的頁面:

好了。安裝成功!

最后再瞎扯一句,這個下午我看了好多文檔,發現很多都是錯誤了,配置別人看不見你是怎么 配置的,下載不知道你是去哪下載的,就是貼一堆的代碼上去,我知道你是自己看得懂就好,可是過幾個月呢,你還是回會忘掉是吧。以前我也有這毛病,我覺得必須要改改了。這次我把詳細的過程都寫了,可能還是有不足的地方,但我盡量寫的讓開始配置的人懂得怎樣修改,怎樣配置。

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

2015/11/1 更新,知道我看到了 這篇文章(CentOS 6.5 yum安裝配置lnmp服務器(Nginx+PHP+MySQL)) < ps: 我會把該文章做個備份>,哭的心都有-_-|||,七八個小時其實只要差不多半小時就足矣,今晚按照該文章的centos系統版本為6.7 64bit。

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

最后在附上錘子科技 UI 設計總監方遲,視覺設計總監羅子雄說的話

 


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()