国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > WEB服務(wù) > 正文

Ubuntu上配置nginx+php+fastcgi的流程

2020-03-22 17:53:17
字體:
供稿:網(wǎng)友
  • 這兩天需要在Ubuntu14.04上搭建nginx和php的環(huán)境,配置的過程中在fastcgi的問題上花了很多時間,網(wǎng)上的資料大多年久失修,于是決定將整個過程記錄下來,分享給大家。
    準(zhǔn)備:
    apt-get update


    1. 安裝nginx并啟動
    apt-get install nginxsudo /etc/init.d/nginx start

    2. 安裝php及相關(guān)
    sudo apt-get install php5-cli php5-cgi php5-fpm php5-mcrypt php5-mysql

    3. FastCGI在運行php站點之前需要先了解下FastCGI,F(xiàn)astCGI是一個可伸縮地、高速地在HTTP server和動態(tài)腳本語言間通信的接口,它采用C/S結(jié)構(gòu),可以將HTTP服務(wù)器和腳本解析服務(wù)器分開,當(dāng)HTTP服務(wù)器遇到動態(tài)請求時,會將請求轉(zhuǎn)發(fā)給FastCGI進程,F(xiàn)astCGI進程執(zhí)行動態(tài)腳本后再將結(jié)果返回給HTTP服務(wù)器,HTTP服務(wù)器最后將結(jié)果返回給瀏覽器,這在很大程度上提高了請求的響應(yīng)速度。
    實現(xiàn)FastCGI有幾種方式,PHP-CGI、PHP-FPM、Spawn-FCGIPHP-CGI是PHP自帶的FastCGI管理器,啟動PHP-CGI可以使用如下命令:php-cgi -b 127.0.0.1:9000PHP-CGI有兩個問題,一是變更php.ini后需要重啟php-cgi才能生效,二是php-cgi進程崩潰或者被殺死后php就不能運行了。
    PHP-FPM是從PHP 5.3.3之后新加入的CGI管理器,在更改PHP配置之后不需要重啟,且由于加入了守護進程,所以即使被殺死之后也能快速重啟。
    Spawn-FCGI是一個通用的FastCGI管理器,而不僅僅只針對PHP一種腳本語言。但它在效率、CPU占用等方面都不如PHP-FPM。
    4. PHP-FPM既然PHP-FPM的方式最好,那么我們現(xiàn)在就來配置一下。由于PHP-FPM是一個獨立的進程,所以需要與Nginx進行通信。目前有兩種通信方式,tcp和socket。兩種方式的區(qū)別和配置方式可以參見這兩篇文章:nginx 和 php-fpm 通信使用unix socket還是TCP,及其配置Php-fpm TcpSocket vs UnixSocket

    在這里簡要說一下配置方式,兩種方式都主要修改nginx的配置文件(/etc/nginx/sites-available/default)和fpm的配置文件(/etc/php5/fpm/pool.d/www.conf)。
    TCP配置方式需要將nginx配置文件中相應(yīng)的反向代理的fastcgi_pass參數(shù)改為127.0.0.1:9000,將fpm配置文件中的listen參數(shù)修改為127.0.0.1:9000。
    Socket配置方式需要將nginx配置文件中相應(yīng)的反向代理的fastcgi_pass參數(shù)改為unix:/dev/shm/fpm-cgi.sock,將fpm配置文件中的listen參數(shù)修改為/dev/shm/fpm-cgi.sock,如果考慮到高并發(fā)可以將listen.backlog參數(shù)改為-1,內(nèi)存積壓無限大。另外,還可以提高內(nèi)核級別的并發(fā)連接數(shù),修改/etc/sysctl.conf:
    sudo echo 'net.core.somaxconn = 2048' >> /etc/sysctl.confsudo sysctl -p

    兩種配置方式修改完之后都需要重啟php-fpm和nginx。
    sudo service php5-fpm restartsudo /etc/init.d/nginx reload

    5. 運行php站點以上配置完成之后,我們就可以寫一個簡單的html' target='_blank'>php頁面來測試一下。創(chuàng)建一個網(wǎng)站目錄:
    sudo mkdir /var/www/

    在nginx配置文件中修改root目錄為 root /var/www;添加一個測試頁面:
    sudo vi /var/www/test.php

    加入以下代碼:
    <?php phpinfo();?>

    此時在瀏覽器輸入地址http://localhost/test.php,就可以看到php的信息了。
    常用命令:1. 檢查nginx啟動出錯
    sudo nginx -c /etc/nginx/nginx.conf -t


    如果大家覺得對自己有幫助的話,還希望能幫頂一下,謝謝:)
    個人博客:http://blog.csdn.net/zhaoxy2850
    本文地址:http://blog.csdn.net/zhaoxy_thu/article/details/41851389
    轉(zhuǎn)載請注明出處,謝謝!
    PHP編程

    鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

  • 發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發(fā)表
    主站蜘蛛池模板: 集安市| 黄龙县| 万安县| 宜川县| 南平市| 乐安县| 婺源县| 华阴市| 太仆寺旗| 龙胜| 长岭县| 沙洋县| 绥江县| 潮安县| 鄄城县| 左云县| 迁安市| 辽宁省| 遂溪县| 凤阳县| 合阳县| 辛集市| 望城县| 镇安县| 平湖市| 越西县| 三都| 许昌市| 肇州县| 广汉市| 霍城县| 清原| 买车| 山丹县| 宣恩县| 吉林省| 阳朔县| 伊吾县| 崇仁县| 西城区| 灵石县|