nginx與php是一種常見的web應用部署架構,nginx作為web服務器,使用php-fpm作為php解釋器,同時還可以使用FastCGI協議從php-fpm服務器獲取php文件的執行結果。本文將詳細介紹nginx與php的部署流程,并提供示例代碼。
第一步:安裝nginx和php-fpm
在Ubuntu上安裝nginx和php-fpm非常簡單。只需運行以下命令即可。
`sudo apt-get install nginx php-fpm`
這將自動安裝nginx和php-fpm,同時會自動啟動這兩個服務。在安裝過程中,可以通過以下命令檢查是否正確安裝了nginx和php-fpm。
`sudo service nginx status`
`sudo service php-fpm status`
如果一切正常,將顯示nginx和php-fpm正在運行。
第二步:配置nginx
在nginx配置文件中增加以下內容,以使用php-fpm處理.php文件。
```
location ~ \.php$ {
fastcgi_pass unix:/run/php/php[version]-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
```
在這里將".php"文件請求發送給php-fpm,并使用fastcgi協議執行php文件。通過unix套接字進行通信(此處假設php-fpm套接字的位置為/run/php/php[version]-fpm.sock)。fastcgi_params文件包含其他快速CGI參數。
第三步:配置php-fpm
在php-fpm配置文件中增加以下內容,以允許nginx服務器通過fastcgi協議連接到php-fpm服務器。
```
listen = /run/php/php[version]-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
user = www-data
group = www-data
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
php_admin_value[memory_limit] = 128M
```
在這里,php-fpm通過unix套接字進行通信,并且只允許擁有www-data用戶和組的NGINX進程連接。此外,上面還定義了php-fpm的進程管理方式以及內存限制等相關配置。
第四步:重啟nginx和php-fpm
在更改nginx或php-fpm配置后,必須重新啟動它們才能使更改生效。
`sudo service nginx restart`
`sudo service php-fpm restart`
通過這個簡單的步驟,你就可以使用nginx和php-fpm進行基本的web應用程序部署,從而在Linux服務器上享受快速和強大的web服務支持。
上一篇ngnix php啟動
下一篇ngrok php