今天一個網友叫我幫他在個人vps上配置nginx虛擬機時,發現我更改虛擬機的根路徑後,nginx只會執行,nginx默認的配置的根目錄下的index.php,可是index.html的,卻能夠執行,以爲怪怪的,一時找不到方向怎麼搞了,只好查看官方文檔,php
如今咱們來看在一個典型的,簡單的PHP站點中,nginx怎樣爲一個請求選擇location來處理: server { listen 80; server_name example.org www.example.org; root /data/www; location / { index index.html index.php; } location ~* \.(gif|jpg|png)$ { expires 30d; } location ~ \.php$ { fastcgi_pass localhost:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
這是官方的文檔,而個人錯誤就使用location 匹配php文件的那個位置的根目錄沒有更改過來,致使找不到文件,file not found html
之後配置須要注意一下一點:nginx
1:把root 寫在server下,不要寫在location下,bash
2:把location下的root 刪除ide