隨著互聯網的普及和發展,越來越多的網站被建立起來,尤其是以網頁為主要形式的應用。而網頁的動態性需要后端的編程語言支持,PHP就是其中之一。Nginx是一種流行的高性能Web服務器,它支持許多的功能模塊,其中就包括支持PHP的功能模塊。本文將介紹如何配置Nginx支持PHP。
第一步,需要安裝PHP和Nginx。在這里以Ubuntu下安裝為例:
sudo apt-get install nginx sudo apt-get install php7.0-fpm
第二步,配置PHP-FPM。FPM是FastCGI進程管理器的簡稱,是PHP官方提供的一種接口,用于管理PHP FastCGI子進程的模塊。PHP-FPM和Nginx一起使用的話,需要配置好Unix Socket,可以在/etc/php/7.0/fpm/pool.d/www.conf中找到以下內容,并取消注釋:
listen = /run/php/php7.0-fpm.sock listen.owner = www-data listen.group = www-data listen.mode = 0660
第三步,修改Nginx配置。這里列舉一個簡單的配置,更詳細的配置可以參考官方文檔或其他網站:
location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
其中,~表示正則匹配,這里匹配所有以.php結尾的文件;snippets/fastcgi-php.conf是Nginx提供的FastCGI通用配置文件,將它包含進來即可;fastcgi_pass表示把請求轉發到指定的FastCGI進程(php-fpm),這里用的是Unix Socket模式;SCRIPT_FILENAME指定當前請求的文件;fastcgi_params是FastCGI參數的配置文件。
至此,Nginx就已經支持PHP了??梢酝ㄟ^在網站目錄下創建一個phpinfo.php文件來測試:
<?php phpinfo(); ?>
在瀏覽器中輸入http://localhost/phpinfo.php,即可看到PHP的相關信息。
綜上所述,Nginx支持PHP的配置并不復雜,只需要安裝PHP和Nginx,配置好PHP-FPM并修改Nginx配置即可。值得注意的是,PHP的版本應與php-fpm的版本一致,否則可能會出現不兼容的問題。同時,為了提高安全性,可以關閉Nginx的目錄瀏覽功能,并將PHP的錯誤信息輸出到日志中。