編輯:nginx的服務404頁
$ sudo find /var/public/www -type d -exec chmod 755 {} +
$ sudo find /var/public/www -type f -exec chmod 644 {} +
但是當我列出內部WWW文件的權限仍然看上去是錯誤的:基於@Devons的意見,我沒有任何錯誤(found in this post)運行以下命令。我究竟做錯了什麼?謝謝!
drwxrwx--- 1 root vboxsf 4096 Aug 28 12:45 app
-rwxrwx--- 1 root vboxsf 1646 Aug 28 12:45 artisan
drwxrwx--- 1 root vboxsf 0 Aug 28 12:45 bootstrap
-rwxrwx--- 1 root vboxsf 1201 Aug 28 12:45 composer.json
-rwxrwx--- 1 root vboxsf 105046 Aug 28 12:55 composer.lock
drwxrwx--- 1 root vboxsf 4096 Aug 28 12:45 config
drwxrwx--- 1 root vboxsf 0 Aug 28 12:45 database
-rwxrwx--- 1 root vboxsf 503 Aug 28 12:45 gulpfile.js
-rwxrwx--- 1 root vboxsf 159 Aug 28 12:45 package.json
-rwxrwx--- 1 root vboxsf 87 Aug 28 12:45 phpspec.yml
-rwxrwx--- 1 root vboxsf 899 Aug 28 12:45 phpunit.xml
drwxrwx--- 1 root vboxsf 0 Aug 28 12:45 public
-rwxrwx--- 1 root vboxsf 1928 Aug 28 12:45 readme.md
drwxrwx--- 1 root vboxsf 0 Aug 28 12:45 resources
-rwxrwx--- 1 root vboxsf 567 Aug 28 12:45 server.php
drwxrwx--- 1 root vboxsf 0 Aug 28 12:45 storage
drwxrwx--- 1 root vboxsf 0 Aug 28 12:45 tests
drwxrwx--- 1 root vboxsf 4096 Aug 28 12:56 vendor
這是我第一次用的nginx並不能得到laravel歡迎頁面顯示。我使用Ubuntu 14.04和垂直框5.
我在/var/nginx/sites-enabled/default
配置爲
server {
listen 80 default_server;
charset utf-8;
server_name doimain.app www.domain.app;
root /var/www/public;
index index.php index.html;
location/{
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
我的服務器裏面/var/www/public
我可以列出laravel公共文件夾的文件
$ ls -l /var/www/public
total 3
-rwxrwx--- 1 root vboxsf 0 Aug 28 12:45 favicon.ico
-rwxrwx--- 1 root vboxsf 1786 Aug 28 12:45 index.php
-rwxrwx--- 1 root vboxsf 24 Aug 28 12:45 robots.txt
,但我得到404,當我去domain.app
。 nginx的錯誤日誌顯示:
2015/08/28 14:29:35 [crit] 1487#0: *14 stat() "/var/www/public/index.php" failed (13: Permission denied), client: 10.0.0.18, server: domain.app, request: "GET/HTTP/1.1", host: "domain.app"
我都沒有成功嘗試了以下內容:
確保WWW的數據擁有該文件夾結構/var/www
$ sudo chown www-data:www-data /var/www
更改訪問權限/var/www
$ sudo chmod -R 0755 /var/www
謝謝!
值得一提的是WWW的數據應,一般來說,沒有自己的網站目錄威力,這樣做你打開自己,你允許www數據(阿帕奇)寫任何的代碼漏洞文件,在需要的時候允許使用chmod的權限,不要允許一切!看到這個AskUbuntu的答案:http://askubuntu.com/questions/20105/why-shouldnt-var-www-have-chmod-777 – williamvicary
@williamvicary,我不知道這是多麼相關,因爲你需要一臺服務器執行寫入。僅靠阿帕奇就無能爲力。擁有目錄的相同用戶擁有PHP進程是非常正常的。 – Devon