Php Laravel和Nginx静态文件
因此,我在让Nginx为我的Laravel应用程序提供静态文件方面遇到了问题。我可以在chrome的开发工具中看到,请求被发送到路径,这些文件应该在那里()。但它们根本没有被加载。我试过用很多方法让它工作,但它似乎不起作用。有人能帮我吗?干杯Php Laravel和Nginx静态文件,php,laravel,nginx,assets,Php,Laravel,Nginx,Assets,因此,我在让Nginx为我的Laravel应用程序提供静态文件方面遇到了问题。我可以在chrome的开发工具中看到,请求被发送到路径,这些文件应该在那里()。但它们根本没有被加载。我试过用很多方法让它工作,但它似乎不起作用。有人能帮我吗?干杯 server { listen 80; server_name mydomainname.com; keepalive_timeout 70; root /var/www/html/portfolio/publ
server {
listen 80;
server_name mydomainname.com;
keepalive_timeout 70;
root /var/www/html/portfolio/public;
index index.php index.html index.htm index.nginx-debian.html;
autoindex on;
charset utf-8;
location / {
root /var/www/html/portfolio/public;
index index.php index.html index.htm;
try_files $uri $uri/ /index.php$is_args$args;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
access_log off;
error_log /var/log/nginx/myapp-error.log error;
sendfile on;
client_max_body_size 100m;
rewrite ^ /index.php last;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
location ~ /\.ht {
deny all;
}
}
基本上,/public目录中有很多文件没有加载,但应该加载。例如css、js、角度模板的html文件等。URL不需要在路径中包含
/public
部分/public
是web资产的根目录。因此,您的url应该是:
http://mywebsite.com/css/style.css
正如Kyslik暗示的,这可能是一个权限问题 我有一个类似的问题,在Windows10上的Homestead上运行Laravel。在我的例子中,我可以从
public\css
目录访问文件,但不能从public\css\vendor
目录访问文件。我意识到我从Windows中创建了供应商
目录,因此,它中的文件无法被X访问
为了解决这个问题,我删除了
vendor
目录,并从vagrant框中重新创建了它 您所要做的就是了解服务器是一台完全不同的pc,并解析全球托管服务的路径范围
最佳实践是确保您的资产只深入应用程序一步
例如
错误
正确
服务器将不会强调扫描目录。服务器只会更深一步
AWS Ec2实例Ubuntu x Laravel应用程序。第一个红旗是“public”,它不应该在那里(例如:
example.com/css/whatever.css
)。你需要打开你的日志(nginx日志)并阅读它。500很可能是权限问题,但请阅读日志,可能需要编辑问题并添加日志尾部。如果是404,还可以看看laravels日志。另外,您是否通过…访问您的页面public/index.php
?是的,但是当我在这样的路径上卷曲时,我得到404,这就是为什么我认为它没有在all@AndrewPomorski在public
文件夹中是否有css
文件夹?那个文件夹里有style.css吗?@Kyslik是的,没错。