1、許可權問題
nginx使用者、php使用者最好不要用預設的:nobody,因為許可權不夠。
可以建立新的使用者和使用者組:
groupadd www
useradd -r -g www www
然後修改:nginx.conf
user www
修改:php-fpm.d/www.conf
[www] user = www group = www
同時給訪問資料夾的許可權給:www
chown -R www:www 資料夾
2、Nginx報403 forbidden錯誤 (13: Permission denied)
nginx沒有web目錄的操作許可權,會出現403錯誤。
解決辦法:修改web目錄的讀寫許可權,或者是把nginx的啟動使用者改成目錄的所屬使用者,重啟Nginx即可解決
chmod -R 755 /usr/local/www
3、nginx遇到is not within the allowed path(s)
總結:發現不是目錄下的.user.ini檔案的問題,也不是php.ini的配置問題,而是fastcgi.conf的配置問題。
問題原因:open_basedir是預設的動態訪問目錄,/home/wwwroot/myproject/public,從而php無法讀取其他目錄。
解決辦法:在 /usr/local/nginx/conf/ 目錄在找到 fastcgi.conf,關於 open_basedir 預設的配置應該是:
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; #修改成: fastcgi_param PHP_ADMIN_VALUE "open_basedir=/usr/local/wwwroot/myproject/:/tmp/:/proc/";