安裝nginx+mysql+php

來源:互聯網
上載者:User

 

介面伺服器需要安裝nginx+mysql+php

 

一、安裝nginx(參照資源服配置)

 

二、安裝mysql (參照遊戲服配置中mysql安裝部分)

 

三、安裝php

        這個地方是最重要的地方,因為預設情況下Nginx和PHP他倆之間是一點感覺沒有的。在之前,很多朋友都搭建過Apache+PHP,Apache+PHP編譯後產生的是模組檔案,而Nginx+PHP需要     PHP產生可執行檔才可以,所以要利用fastcgi技術來實現Nginx與PHP的整合,這個只要我們安裝是啟用FastCGI即可。此次我們安裝PHP不僅使用了FastCGI,而且還使用了PHP-FPM這麼一個東東,PHP-FPM說白了是一個管理FastCGI的一個管理器,它作為PHP的外掛程式存在,在安裝PHP要想使用PHP-FPM時就需要把PHP-FPM以補丁的形式安裝到PHP中,而且PHP要與PHP-FPM版本一致,這是必須的,切記!

      

         yum install libxml2 libxml2-devel

         yum install libpng*

         yum install gd

 

     

         tar zxvf php-5.2.13.tar.gz

         gzip -cd php-5.2.13-fpm-0.5.13.diff.gz | patch -d php-5.2.13 -p1        //將php-5.3.0-fpm-0.5.12.diff.gz以補丁形式加到php-5.3.0裡面

         cd php-5.2.13

         ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --enable-fastcgi --enable-fpm

      

         make

         make install

         cp php.ini-dist /usr/local/php/etc/php.ini

 

 

         註:Nginx+PHP整合,在安裝時必須啟用--enable-fastcgi和--enable-fpm

 

         /usr/local/php/sbin/php-fpm start

 

          在啟動PHP-FPM時會報上面這個錯誤,原因是PHP-FPM自己不知道以那個使用者和組運行PHP,所以我們要修改一個檔案,把檔案中的注釋去掉即可(開啟檔案把紅色部分刪除),然後PHP-FPM會以nobody使用者和組去運行PHP。

 

           vi /usr/local/php/etc/php-fpm.conf

 

          /usr/local/php/sbin/php-fpm start

          ps -aux | grep php

 

          echo "/usr/local/php/sbin/php-fpm start"  >>/etc/rc.local

 

 

          Nginx自己並不處理動態網頁的請求,而且Nginx將得到的動態請求轉交給PHP,下面我們開啟Nginx的設定檔看一下

 

          vi /usr/local/nginx/conf/nginx.conf      

 

     

 

 

        

           註:上面的/var/www/html 是我們PHP網站放置的路徑

          如所示,我們在前面已經看到過Nginx是通過原生9000連接埠將PHP請求轉寄給PHP的,而我們可以看到PHP自己是從原生9000連接埠偵聽資料,Nginx與PHP通過原生9000 連接埠完成了資料請求。

 

 

 

 四、 測試

 

 

          vi /var/www/html/test.php

       

           <?php

               phpinfo();

           ?>

 

        殺死進程並啟動

         pkill php

         pkill nginx

         /usr/local/php/sbin/php-fpm start

         /etc/rc.d/init.d/nginx start

        重啟PHP與nginx後(可以用殺死進程的方式關閉,然後在啟動)我們在瀏覽器中輸入http://本機IP/test.php

 

另外介面測試參考介面文檔

 

 

為介面服授權:

grant all on shuihu.account to "test"@"192.168.1.22" identified by "123456";

 

隱藏版本號碼

 

編輯nginx.conf

vi /usr/local/nginx/conf/nginx.conf

在keepalive_timeout 65; 這行下面添加server_tokens      off;

 

修改fastcgi.conf

vi /usr/local/nginx/conf/fastcgi.conf

 

把fastcgi_param SERVER_SOFTWARE    nginx/$nginx_version;

修改為fastcgi_param SERVER_SOFTWARE    nginx

 

[root@~]# curl --head 127.0.0.1

HTTP/1.1 403 Forbidden

Server: nginx

Date: Thu, 04 Aug 2011 07:41:54 GMT

Content-Type: text/html

Content-Length: 162

Connection: keep-alive

 

重啟nginx

service nginx restart

或則平滑重啟nginx

 

再檢查一下設定檔:

 

/usr/local/nginx/sbin/nginx -t

 

如果螢幕顯示以下兩行資訊,說明設定檔正確:

the configuration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok

the configuration file /usr/local/webserver/nginx/conf/nginx.conf was tested successfully

 

平滑重啟:

對於Nginx 0.8.x版本,現在平滑重啟Nginx配置非常簡單,執行以下命令即可:

 

/usr/local/nginx/sbin/nginx -s reload

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.