Gunicorn不显示Django静态文件

Gunicorn不显示Django静态文件,django,python-3.x,amazon-ec2,gunicorn,Django,Python 3.x,Amazon Ec2,Gunicorn,我以前见过有人问过这个问题,但没有一个答案有帮助 我正在尝试使用gunicorn+nginx将我的Python3/Django项目部署到AWS。项目名为vicver,当我尝试运行 $ gunicorn --bind 0.0.0.0:8000 vicver.wsgi 我可以在AWS公共IP端口8000上看到我的站点,但没有任何js/css或图像。当我对runserver命令执行同样的操作时,它工作得很好 My settings.py包含以下路径: STATIC_ROOT = os.path.j

我以前见过有人问过这个问题,但没有一个答案有帮助

我正在尝试使用gunicorn+nginx将我的Python3/Django项目部署到AWS。项目名为vicver,当我尝试运行

 $ gunicorn --bind 0.0.0.0:8000 vicver.wsgi
我可以在AWS公共IP端口8000上看到我的站点,但没有任何js/css或图像。当我对runserver命令执行同样的操作时,它工作得很好

My settings.py包含以下路径:

STATIC_ROOT = os.path.join(BASE_DIR,'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = [ os.path.join(BASE_DIR,'vicver/static') ]
这是终端的截图

当您运行runserver命令时,它会工作,因为您处于开发模式。但是,当您想要将应用程序部署到生产环境时,应该使用其中一些选项来服务静态文件


通常,我使用Nginx来提供静态文件,并创建一个反向代理,将其他请求代理到Gunicorn提供服务的应用程序中。您也可以使用Gunicorn查看此应用程序。您不能在生产模式下提供静态和媒体文件Debug=False。使用这种结构服务静力学和介质的最佳方法是使用Nginx。 首先,需要使用以下命令收集静态数据:

python manage.py collectstatic
然后需要使用以下代码编辑nginx.conf文件。小心用项目路径替换/usr/src/app/

server {

    listen 80 backlog=2048;

    location = /favicon.ico { access_log off; log_not_found off;}
    location /static/ {
        alias   /usr/src/app/vicver/static/;
    }
    location /media/ {
        alias  /usr/src/app/vicver/media/;
    }
  .
  .
  .
}