nginx不为django提供静态文件,在其他文件夹中搜索

jhkqcmku  于 2023-11-17  发布在  Nginx
关注(0)|答案(1)|浏览(231)

我正在使用Nginx将我的Django项目部署到服务器,Gunicorn静态文件没有加载。
2023/11/07 05:17:42 [错误] 68970#68970:*40 open()“/home/pau/perp2.0/perp/staticfiles/static/admin/js/core.js”失败(2:没有这样的文件或目录)
Nginx正在/home/pau/perp2.0/perp/staticfiles/static/中搜索文件,但静态文件的目录只是/home/pau/perp2.0/perp/staticfiles,没有最后一个静态文件
我的nginx文件配置如下

  1. server {
  2. listen 80;
  3. server_name my_ip;
  4. location = /favicon.ico { access_log off; log_not_found off; }
  5. location /static/ {
  6. root /home/pau/perp2.0/perp/staticfiles;
  7. }
  8. location / {
  9. include proxy_params;
  10. proxy_pass http://unix:/run/gunicorn.sock;
  11. }
  12. }

字符串
以防万一我的settings.py对于静态文件部分是这样的:

  1. `# Static files (CSS, JavaScript, Images)
  2. # https://docs.djangoproject.com/en/1.10/howto/static-files/
  3. STATIC_ROOT = os.path.join(PROJECT_ROOT, 'staticfiles')
  4. STATIC_URL = '/static/'
  5. DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
  6. # Extra places for collectstatic to find static files.
  7. STATICFILES_DIRS = (
  8. os.path.join(PROJECT_ROOT, '../static'),
  9. )
  10. # Simplified static file serving.
  11. # https://warehouse.python.org/project/whitenoise/
  12. STATICFILES_STORAGE = "whitenoise.storage.CompressedStaticFilesStorage"
  13. )`


我只是一个服务的静态文件在正确的目录,谢谢。如果你能解释,解决方案,将是伟大的。

js4nwp54

js4nwp541#

root意味着 location 位于定义的 root 路径下,这就是为什么它被视为子文件夹。如果/static/不是子文件夹,那么您应该使用alias而不是root

  1. location /static/ {
  2. alias /home/pau/perp2.0/perp/staticfiles/;
  3. }

字符串

相关问题