首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

生产环境使用Nginx+uwsgi部署Django

如果在生产环境部署django,就要多考虑一些问题了。比如静态文件处理,安全,效率等等 在网上找到了不错部署教程,讲解还是很详细,我就不重新再整理了。...中国社区 但是作为记录,我还是要记录下部署中遇到问题: (一)解决Django生产环境部署静态文件丢失问题 有些时候,把程序放在生产环境,不过出于一些原因还没有配置nginx等环境,关闭了Debug...,想看看网站,这时会出现静态文件无法访问,界面一塌糊涂情况。...使用如下命令即可成功使用静态文件 python manage.py runserver 0.0.0.0:8000 --insecure (二)部署生产环境之前准备 正如(一)中方法只是测试时使用,如何处理静态文件...,其实需要交给nginx等这样高效软件来完成,所以配置之前,先使用 python manage.py collectstatic 用来收集静态文件到static文件夹,然后就可以参照上面的教程,通过

98160

manage.py命令

终端进入django项目目录,输入指令: python manage.py help 查看基础命令信息 常用命令: 创建app startapp 从模型对象创建数据迁移文件并保存在appmigrations...文件夹 makemigrations 根据迁移文件内容在数据库里生成相应数据表 migrate 本地计算机上启动django项目 runserver 收集所有的静态文件 collectstatic...配置数据库,可以执行数据库sql语句 dbshell 显示settings.py配置信息与默认配置差异 diffsettings 导出数据表数据并以json格式储存,如python manage.py...inspectdb 将数据文件导入数据表 loaddata 创建语言文件,用于项目的区域语言设置 makemessages 向指定收件人发送测试电子邮件 sendtestmail 进入django...新建测试数据库并使用该数据库运行项目 testserver 清除会话Session数据 clearsessions 查找静态文件路径信息 findstatic

12820
您找到你想要的搜索结果了吗?
是的
没有找到

【云原生 | Docker】部署 Django & Nginx & Gunicorn

网络 docker-compose up 启动测试 2.2 处理静态资源 但是访问simpleui主题admin后台时,静态资源出了问题 说明这里静态资源无法访问,考虑到nginx...配置虽然对应到项目容器中静态资源地址,但是却无法访问,这是由于nginx容器与app容器之间中文件并不一样,我们需要添加一个卷共享资源文件 解决方式 – 添加静态资源卷 version: "3" services...up 成功解决, 如果要解决关于 media文件访问也是一样方法(不过一般都是用分布式存贮) 并且nginx提供了阅读静态资源目录 ( 这是由于添加自动索引参数) 实际项目上线部署是不建议放这个参数...这里值得一提是,如果已经配置了静态资源,但是中间不通过nginx所监听80端口来分配访问到项目路由,而是直接以服务器8000端口直接访问服务器,就会发现不论是static还是media都无法访问,...前提是你项目 Python path 中,要满足这个条件,最简单方法是 manage.py 文件所在目录中运行这条命令。

1.3K30

如何在Debian 10上使用Postgres,Nginx和Gunicorn设置Django

我们可以通过输入以下内容将所有静态内容收集到我们配置目录位置: ~/myprojectdir/manage.py collectstatic 您必须确认操作。...我们还将告诉它在~/ myprojectdir /static目录中找到我们收集静态资产位置。...Nginx显示502 Bad Gateway错误而不是Django应用程序 502错误表示Nginx无法成功代理请求。 各种配置问题都表现为502错误,因此需要更多信息才能正确排除故障。...您可能会看到以下消息: connect()到unix:/run/gunicorn.sock失败(2:没有这样文件或目录) 这表明Nginx无法在给定位置找到gunicorn.sock文件。...如果通向套接字任何目录没有世界读取和执行权限,则Nginx无法不允许全局读取和执行权限情况下访问套接字,或确保将组所有权授予Nginx所属

5.8K30

如何在Ubuntu 16.04上使用uWSGI和NginxDjango应用程序提供服务

此时我们无法成功启动服务,因为它依赖于www-data用户可用。安装Nginx之前,我们必须等待启动uWSGI服务。...Nginx显示502 Bad Gateway错误而不是Django应用程序 502错误表示Nginx无法成功代理请求。各种配置问题都表现为502错误,因此需要更多信息才能正确排除故障。...您可能会看到以下消息: connect()到unix:/run/uwsgi/firstsite.sock失败(2:没有这样文件或目录) 这表明Nginx无法在给定位置找到套接字文件。...您可能遇到问题原因有很多,但通常情况下,如果uWSGI无法创建套接字文件,则出于以下原因之一: 项目文件由root用户而不是sudo用户拥有 文件ExecStartPre行/etc/systemd...通过这些设置,Nginx进程应该能够成功访问套接字。 如果通向套接字任何目录不属于该www-data组,或者没有全局读取和执行权限,则Nginx无法访问该套接字。通常,这意味着配置文件有错误。

4.2K00

如何使用Ubuntu 16.04Django一键安装镜像

介绍 Django是一个用于快速开发Web应用程序高级Python框架。Django一键安装程序通过DjangoNginx,Gunicorn和Postgres为您服务器快速部署预配置开发环境。...如果以后需要再参考,可以文件/etc/update-motd.d/99-one-click中找到相关信息。...Nginx配置文件位于/etc/nginx/sites-enabled/django。如果重命名项目文件夹,请记住更改静态文件路径。...注意:如果重命名项目文件夹,则需要进行一些配置文件更新。具体来说,您需要在Nginx配置中更改静态文件路径。...在这种情况下,您可以使用Django内置开发服务器,它自动检测更改: # systemctl stop gunicorn.service # python manage.py runserver

1.8K50

如何在Ubuntu 18.04上使用Postgres,Nginx和Gunicorn设置Django

我们可以通过输入以下内容将所有静态内容收集到我们配置目录位置: ~/myprojectdir/manage.py collectstatic 您必须确认操作。...我们还将告诉它在哪里可以找到我们~/myprojectdir/static目录中收集静态资产。...Nginx显示502 Bad Gateway错误而不是Django应用程序 502错误表示Nginx无法成功代理请求。各种配置问题都表现为502错误,因此需要更多信息才能正确排除故障。...您可能会看到以下消息: connect()到unix:/run/gunicorn.sock失败(2:没有这样文件或目录) 这表明Nginx无法在给定位置找到该gunicorn.sock文件。...如果通向套接字任何目录没有全局读取和执行权限,则Nginx无法不允许全局读取和执行权限情况下访问套接字,或确保将组所有权授予Nginx所属

6.5K40

如何在Debian 9上使用Postgres,Nginx和Gunicorn设置Django

我们可以通过输入以下内容将所有静态内容收集到我们配置目录位置: ~/myprojectdir/manage.py collectstatic 您必须确认操作。...注意:管理界面不会应用任何样式,因为Gunicorn不知道如何找到对此负责静态CSS内容。...我们还将告诉它在哪里可以找到我们~/myprojectdir/static目录中收集静态资产。...Nginx显示502 Bad Gateway错误而不是Django应用程序 502错误表示Nginx无法成功代理请求。各种配置问题都表现为502错误,因此需要更多信息才能正确排除故障。...如果通向套接字任何目录没有全局读取和执行权限,则Nginx无法不允许全局读取和执行权限情况下访问套接字,或确保将组所有权授予Nginx所属

6.4K21

Django 项目部署

我们是本地开发,项目最终上线是要部署到服务器上,本篇笔记记录了我个人部署整个过程,仅供参考。 一、新建站点 1、使用宝塔面板创建一个站点 站点创建成功!...项目开发阶段,DEBUG=True 时候,Django 会用自带 web 服务来处理静态文件,但他性能不是很好。...所以项目部署阶段,DEBUG=False 时候,Django 便不在管理静态文件了,Django 想让我们把静态文件交给 Nginx(或者其他 web 服务器)来处理。   ...(BASE_DIR, 'static') 2、收集静态文件   执行以下命令,对项目中静态文件进行收集,收集后存放位置就是我们上面设置静态文件收集目录。...python3 manage.py collectstatic 3、配置 Nginx   站点配置文件中加入以下内容。 location ~ .*\.

2.5K11

Ubuntu上通过nginx部署Django笔记

静态请求通过uwsgi传递给Django,由Django来进行处理,从而完成一次WEB请求。...python插件,不然很有可能会出现类似这样错误: uwsgi: unrecognized option '--wsgi-file' getopt_long() error 执行成功浏览器中打开:http...注意这时项目的静态文件是不会被加载,需要用nginx静态文件代理。 配置uwsgi uwsgi支持通过配置文件方式启动,可以接受更多参数,高度可定制。...静态文件Django自带静态文件收集到同一个static中,不然访问Djangoadmin页面会找不到静态文件。...djangosetting文件中,添加下面一行内容: STATIC_ROOT = os.path.join(BASE_DIR, "static/") 然后到项目目录下执行: python manage.py

1.4K40

ubuntu上web项目的部署,:uwsgi, uwsgi + nginx, uwsgi+nginx分布式部署

Ubuntu中pip和pip3区别: pip默认给python2用,pip3默认给Python3使用 django中有runserver可以运行项目为什么还要部署: 因为runserver是一个单线程服务器...安装Django sudo apt-get install django==1.11 5.也可以一次性安装所有的依赖库: 进入本机项目开发环境下,把文件通过xftp传送到ubuntu中: pip...select * from 表明; 查看所有的插入数据 ubuntu主项目下创建静态文件夹用于收集静态文件: mkdir static_file 使用pwd复制绝对路径,setting文件静态文件区域添加...,让django知道静态文件应该去哪里找: STATIC_ROOT='将静态文件绝对路径复制过来' 保存退出之后运行命令收集静态文件: python manage.py collectstatic...[location - alias] 重启nginx 修改nginx配置文件具体步骤: vim nginx.conf找到http{}这一个模块,配置服务器,直接在模块内部最后追加: server

1K20

Django使用manager.py 运行项目,或者uWSGI进行部署项目,使用Nginx进行负载均衡

Nginx配置 7 django使用runserver 启动,使用Nginx进行代理 8 django使用uwsgi启动,之后使用Nginx进行转发 9 Nginx保存静态文件,直接访问 1 WSGI...Modules 目录, 找到Setup.dist文件,将下面几行注释去掉(下图已去掉)。...1 我们linux里面,使用runserver 将django项目启动 python3 manage.py runserver 0.0.0.0:8000 以上启动之后,直接在Windows浏览器端...项目,里面是有静态文件,我们可以将django项目的静态文件放到linux一个文件夹下,Nginx里面配置这个文件夹 1 创建一个文件夹,以后文件夹里面就是存放项目的静态文件 /mylinux/python...执行以下命令,就将项目需要静态文件放到我们自己创建目录下了 python3 manage.py collectstatic 接下来就是告诉Nginx,什么样子请求来了就会到这个文件夹下找东西

89240

web开发小结

这里主要说下 vue,djangodjango-rest-framework。 1、前后端分离后在生产环境部署时静态资源无法访问。...nginx 中设置同样代理就行了,这并没毛病,但当你把 django 配置文件 DEBUG 设置为 FALSE 后,原来有 django 来驱动静态不再由 django 来驱动了,需要 nginx...python manage.py collectstatic 这一步会把 django 用到静态文件全部放在STATIC_ROOT 路径,因此这个路径你可以设置成 vue static 路径,这样收集后不用再手动复制到一起了...第二、通过 django 上传 media 文件也由 nginx 来驱动。...HOST 替换为我们域名,这一步通过 nginx 配置文件中代理那块加上 proxy_set_header Host $host; 注意这里没有 port,因为我们通过域名访问,不使用主机加端口方式

1K20

从零开始 - Docker部署前后端分离项目(三)

静态文件 需生成文件为:包含前端vue打包dist文件django后端static静态资源文件。...] # 方案二:我采用 CORS_ORIGIN_ALLOW_ALL = True #加上允许所有跨域 3、收集django项目中静态文件 配置文件中配置STATIC_ROOT STATIC_ROOT.../entrypoint.sh"] 五、nginx_docker静态资源准备 讲上文中django打包好static文件夹复制到nginx_docker文件夹中。...打包命令 npm run build 2、部署静态文件default.conf nginx_docker文件夹中创建default.conf文件,编写如下内容: 域名记得改成自己 upstream...,所以无法找到具体文件 #因此需要rewrite到index.html中,然后交给路由处理请求资源 location @router { rewrite ^

1.8K10

解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了

我想应该是项目上线安全措施,但是我想调试项目.找到方法如下 settings.py里面编辑 ?...补充知识:linux下使用uwsgi部署django项目时 静态文件不能正常加载 linux 下需要用 python-admin 来开 django 服务,如果你是 python3 那么命令应为...python3-admin manage.py runserver 可以正常访问页面,没有静态加载问题 配置 uwsgi 时需要更改项目 settings.py 中设置,更改项目如下 debug...然后配置 uwsgi 有许多方法,我采用是下面的一种 项目目录下新建 socket.xml 文件(与 manage.py 同级)内容如下: ?...以上这篇解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了就是小编分享给大家全部内容了,希望能给大家一个参考。

8.2K20

Linux下安装部署 Nginx + uWSGI + Django

前言 上一篇文章,我们提到了Python3+Django2 配置后台管理,开发环境中这样启动测试是没有任何问题,我们可以使用 Django 默认服务器。.../news/script/uwsgi.sock; # 指定uwsgisock文件所有动态请求就会直接丢给他 } } 重启Nginx,你以为这样就成功了么?...最后不要忘了修改一下域名限制参数,否则无法通过域名访问: # 修改为 * 允许所有 ALLOWED_HOSTS = ['*'] 重启服务,如果正常显示,说明没有问题,如果无法访问,再回头仔细检查一下配置...调优 既然,我们使用了 Nginx 做代理,最好做动静分离,Nginx处理静态资源能力可以大大高于uWSGI 。.../news/script/uwsgi.sock; # 指定uwsgisock文件所有动态请求就会直接丢给他 } # 动静分离 Nginx 处理静态请求

1.7K10

使用 nginx + gunicorn 来部署生产环境 Django app

测试环境下,我们可以简单使用 python manage.py runserver 8080 启动一个 Django,由于尚未通过安全审核或性能测试,而且是单线程,并发能力也不强,因此不能在生产环境中使用...快速使用 直接在 Django 项目的目录内,也就是 manage.py 所在目录内执行: gunicorn your_project.wsgi:application --bind 0.0.0.0:...配合 Nginx 非常适合处理静态文件,所以静态文件就交给 Nginx,然后服务接口交给 Gunicorn,让 Nginx 代理 Gunicorn。...Nginx 和 Gunicorn 故障排除 对于故障排除,日志可以帮助找到根本原因。...反向代理,最好都使用 socket 来通讯,至于为什么,可以参考前文redis 是单线程,是怎么解决高并发问题

1K10

搭建高性能 Django 服务器栈

, Django admin 会用到这个 $ pip install docutils # 测试 Django 是否安装成功 $ django-admin.py startproject $ cd # 给 manage.py 运行权限 $ chmod +x manage.py # 测试服务器,如果只是本机测试则不需要指定 0.0.0.0 $ ..../manage.py run_gunicorn -w 4 -k gevent # Ctrl+C 可以退出 Gunicorn,PS:如果它成功运行的话 十一、安装 Supervisor,提供自启动支持 通过...sudo supervisorctl start gunicorn 十二、安装Nginx,添加静态文件支持 Django 静态文件分为 static 和 media ,两者都是静态文件,只是前者由你产生...,后者是用户上传文件 PS:Django DEBUG=True 模式支持静态文件调试,但是 DEBUG=False 后就不支持了 # 创建文件目录 static 、 media sudo mkdir

1.6K70

Linux下安装部署 Nginx + uWSGI + Django

前言 上一篇文章,我们提到了Python3+Django2 配置后台管理,开发环境中这样启动测试是没有任何问题,我们可以使用 Django 默认服务器。.../news/script/uwsgi.sock; # 指定uwsgisock文件所有动态请求就会直接丢给他 } } 重启Nginx,你以为这样就成功了么?...最后不要忘了修改一下域名限制参数,否则无法通过域名访问: # 修改为 * 允许所有 ALLOWED_HOSTS = ['*'] Django默认是英文展示,如果觉得不舒服可以替换成中文,修改setting.py...调优 既然,我们使用了 Nginx 做代理,最好做动静分离,Nginx处理静态资源能力可以大大高于uWSGI 。.../news/script/uwsgi.sock; # 指定uwsgisock文件所有动态请求就会直接丢给他 } # 动静分离 Nginx 处理静态请求

1K10
领券