Nginx
從 NginX 託管 Cacti 安裝
我在從 NginX 託管 Cacti 安裝時遇到問題。
我在我的預設 NginX 配置文件中的 /usr/share/cacti 和以下塊下安裝了仙人掌。
location / { root /var/www; index index.html index.htm } location /cacti { root /usr/share/cacti; index index.php index.html index.htm; location ~ \.php$ { try_files $uri =404; include fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$request_filename; } }
我看到的問題是 NginX 錯誤日誌中充滿了“/usr/share/cacti/cacti/index.php”不存在的錯誤。
現在我只是簡單地將額外的目錄添加到 cacti,但我不知道如何讓 NginX 在處理頁面請求時從 URI 中“刪除”“/cacti/”前綴(並將它們傳遞給 PHP5-FPM )
任何幫助,將不勝感激。
該
root
指令仍會導致 URL 路徑被附加,因此如果根是/usr/share/cacti
並且路徑是/cacti
目錄是/usr/share/cacti/cacti
. 您可以執行以下兩項操作之一:
- 由於您的 URL 路徑與目錄匹配,因此將根設置高一級:
location /cacti { root /usr/share; ... }
- 使用
alias
不附加 URL 路徑的指令。然而,這種方法需要修改SCRIPT_FILENAME
傳遞給 PHP 的參數。location /cacti { alias /usr/share/cacti; ... fastcgi_param SCRIPT_FILENAME /usr/share$request_filename; }