現(xiàn)代網(wǎng)站開發(fā)中,PHP已成為最為流行的后端語言之一。而運(yùn)行PHP程序的服務(wù)器中,較為常用的是Apache、Nginx和IIS等。本文主要介紹如何在Linux下使用Nginx支持PHP。
要讓Nginx支持PHP,必須先安裝PHP環(huán)境和運(yùn)行程序的插件。具體步驟如下:
>sudo apt-get install php-fpm
該命令會(huì)自動(dòng)下載并安裝PHP-FPM模塊,附帶安裝了PHP解釋器;并在開發(fā)時(shí),該模塊具有動(dòng)態(tài)加載模塊的能力。
Nginx支持PHP基于FastCGI協(xié)議。在安裝好PHP-FPM后,接下來需要進(jìn)行配置。打開Nginx配置文件,在server節(jié)點(diǎn)下加入以下內(nèi)容:
location ~* \.php$ { fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_read_timeout 300; }
該配置中,location指定了當(dāng)請求的URL匹配到以.php結(jié)尾的文件時(shí),使用FastCGI協(xié)議來處理。fastcgi_pass則將處理的任務(wù)轉(zhuǎn)交給PHP-FPM模塊處理;fastcgi_index則指定默認(rèn)加載文件為index.php;include fastcgi_params指定了一些FastCGI參數(shù)的配置;fastcgi_read_timeout則設(shè)置了處理請求的超時(shí)時(shí)間。
除此之外,還需要在php-fpm配置文件中指定FastCGI的配置:
listen = /run/php/php7.0-fpm.sock listen.owner = www-data listen.group = www-data listen.mode = 0666
其中,listen指定了FastCGI協(xié)議的端口,即Unix Socket的位置;listen.owner、listen.group和listen.mode指定了文件所有者、所屬組和文件的權(quán)限。
最后,啟動(dòng)PHP-FPM和Nginx即可:
>sudo /etc/init.d/php7.0-fpm start >sudo /etc/init.d/nginx start
通過以上配置和操作,就可以在Linux下使用Nginx支持PHP了。值得一提的是,在大流量環(huán)境下,PHP-FPM模塊的性能表現(xiàn)非常不錯(cuò)。