Ubuntu服务器上的Nginx抛出404找不到

时间:2016-03-15 05:43:33

标签: laravel nginx server

在使用nginx在Ubuntu服务器上重启基于laravel的网站后,并正确配置了所有内容(希望,至少它之前有效),我只能访问索引页面而不能访问任何其他页面 - nginx不会丢弃404找到。

认为这可能是许可问题,但我已经尝试了

sudo chown -R :www-data /var/www/foo-bar sudo chmod -R 775 /var/www/foo-bar/storage sudo chmod -R 775 /var/www/foo-bar/resources

但似乎没有帮助。这是我的nginx配置文件:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;
    root /var/www/foo-bar/public;
    index index.php index.html index.htm;

    server_name 120.25.203.113;

    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;
    }
}

有什么想法吗? (尝试http://120.25.203.113/并点击中心按钮以查看是否感兴趣!)

更新:错误日志显示

[error] 24119#0: *77 open() "/var/www/ozunimate/public/student/register" failed (2: No such file or directory), client: 14.202.230.9, server: 120.25.203.113, request: "GET /student/register HTTP/1.1", host: "120.25.203.113", referrer: "http://120.25.203.113/"

"学生/注册"不在/ public下,应重定向(以前在重新启动之前正常重定向)。似乎重定向不再起作用了。

2 个答案:

答案 0 :(得分:1)

让我回答我的问题。

所有的配置都很好 - 事实证明自动加载器无法正常工作。在错误日志中看到nginx没有将http请求重定向到正确的目录。它应该工作正常,但我想它在重新启动时会以某种方式受到污染。

解决方案:
1.在远程服务器中:composer install
2.如果不工作,只需恢复整个服务器并再次启动。无论如何,这是一个启动问题。

答案 1 :(得分:0)

这可能是对的。但对我来说,我错过了以下内容:

location / {
  # This line
  #try_files $uri $uri/ /index.php$is_args$args;
  # OR this
  try_files $uri $uri/ /index.php?$query_string;
}

解决了这个问题!