Nginx - daniel-qa/Laradock GitHub Wiki

Nginx 設定

  • laradock
server {
    listen 80;
    server_name example.com;
    root /var/www/html;
 
    location / {
        index index.php;
        try_files $uri $uri/ /index.php?$query_string;
    }
 
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass php-fpm:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}
  • 原生
location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
    include fastcgi_params;
}

  • 觀念

Nginx 的 fastcgi_pass 參數配置: unix 和 domain

fastcgi_pass 是 Nginx 配置中的一個指令,它用於指定 FastCGI 協議的後端服務器。
而 unix 和 domain 是 fastcgi_pass 指令中可用的兩種參數類型。


Unix 域套接字可以避免在網絡上傳輸敏感數據,並提高服務器之間通信的效率。

在 Nginx 的配置中,如果使用 domain 參數,則 Nginx 會將 FastCGI 請求通過網絡發送到 FastCGI 後端服務器。
使用網絡套接字可以使 FastCGI 後端服務器在不同的服務器之間運行,
但是需要在網絡傳輸數據時考慮數據安全和傳輸效率的問題。

總的來說,unix 和 domain 參數的主要區別在於後端服務器的地址類型。

如果您的 FastCGI 後端服務器在同一個服務器上運行,可以考慮使用 unix 參數;
如果您的 FastCGI 後端服務器在不同的服務器之間運行,可以考慮使用 domain 參數。