部署踩坑

部署踩坑提前准备服务器端准备安装nginx使用uwsgi部署使用gunicorn配置配置nginx配置django中的路径url

提前准备

在本地能够 python(3) manage.py runserver

服务器端准备

安装nginx

为了防止python的某些包没有安装

请先 sudo apt-get install python-dev

然后 sudo apt-get install nginx

使用uwsgi部署

求求你了 别用uwsgi 玩了4个小时 试了不下15种配置方法 无功而返

现在还没有solution 跳过

使用gunicorn配置

相比于uwsgi, guncorn不能再好

先进入虚拟环境source /path/to/env/bin/active

再安装gunicornsudo pip(3) install gunicorn

/path/to/env/bin/gunicorn --chdir /path/to/project --pythonpath /path/to/env/ -w4 -b0.0.0.0:8017 project.wsgi:application

这边用的8017端口

配置nginx

新建一个配置文件sudo vim /etc/nginx/sites-available/your_conf.conf

your_conf.conf中写下如下内容:

server {    listen      80;    server_name your_domain_name.com;    charset     utf-8;

   client_max_body_size 75M;

   location /media {       alias /path/to/project/media;   }

   location /static {       alias /path/to/project/static;   }

   location / {       uwsgi_pass unix:///home/tu/zqxt/zqxt.sock;       include     /etc/nginx/uwsgi_params;   }}

listen默认一般都是80端口, 如果没有media文件就不配置,这个static文件夹是运行python(3) manage.py collectstatic后生成的文件夹,因为没有用到uwsgi,所以uwsgi_pass看心情随缘,include按照这个来.

然后复制到/sites-enabled/中: sudo ln -s /etc/nginx/sites-available/your_conf.conf /etc/nginx/sites-enabled/your_conf.conf

ps: nginx配置一般都在/etc/nginx/中,/sites-available/里面保存你可能要用到的configure文件

/sites-enabled/保存目前生效的configure文件

配置django中的路径url

如果不配置这个会找不到static文件夹

from django.conf.urls.static import staticfrom your_project import settings​urlpatterns = [    # your path here    path('admin/', admin.site.urls, name='admin'),] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

这是Django 2.0版本之后才有的,详情请见官方文档 https://docs.djangoproject.com/en/2.0/ref/urls/

然后 service nginx restart重启nginx,就可以看到了网页了.

(注意只能在gunicorn中配置的端口访问 eg: your_domain_name.com:8017)

转载于:https://www.cnblogs.com/gongchengmiao/p/9154918.html

nginx + gunicorn + django 2.0 踩坑相关推荐

  1. 一次Delta lake 0.8.0 踩坑有感:使用新框架的新版本,一定要尽早关注多多关注社区动态...

    点击上方蓝色"明哥的IT随笔",关注并选择"设为星标",keep striving! 一.数据胡三剑客介绍 关注大数据发展动态的朋友,都知道最近几年数据湖存储引 ...

  2. Qt5.13.2中配置opencv4.5.0踩坑记录

      目录 cmake编译opencv时速度过慢或超时 mingw32-make时报错 错误一 [modules\core\CMakeFiles\opencv_core.dir\build.make:1 ...

  3. 【MathType安装】Office2019+MathType7.4.8.0+踩坑记录+最终使用方案

    使用Office2019安装MathType7.4.8.0屡屡碰壁,最终使用的解决方案不同于网络上的大多数方法.尽管当前记录的解决方案还不完美.未做到一劳永逸,但能用就行. MathType安装包获取 ...

  4. nginx + gunicorn + django的简单部署

    sudo apt-get install nginxcd /etc/nginx/sites-availablesudo vim default 原本是想安装Image包,但是百度的方法都乱七八糟的不能 ...

  5. Android~老项目项目升级GradleAGP 7.0踩坑

    结合最近对公司项目做了一下升级,踩了点坑.记录一下,方便后续有人参考. module模块build.gradle变化 apply plugin变成了plugins 对部分android闭包下面的属性也 ...

  6. 联想ThinkSystem服务器 安装ESXI 7.0 踩坑记录

     头铁,上了ThinkSystem服务器,记录下安装esxi7.0遇到的一些问题. 1.制作安装U盘

  7. 高德地图升级v2.0踩坑日记

    事情是这样的,有一天产品找到我说我们系统的地图绘制板块的时候有些卡,是否可以优化一下. 于是我持怀疑态度去系统查看,大部分的地图操作都很流畅,莫非产品在耍我??? 直到我点开了一个导入的板块数据(如下 ...

  8. Django Vue 项目踩坑记:The field admin.LogEntry.user was declared with a lazy reference to ‘xxx‘

    功能期望 基于Django提供的AbstractUser类重写User模型,在其中根据业务需求增加信息,并将新的用户模型设为系统默认用户模型. 问题描述 完成自定义User模型的编写,并在settin ...

  9. 错误代码:0x80072EFE,Win11/Win10无法安装.Net Framework3.5(包括.NET2.0和.NET3.0)踩坑总结【半天血泪史】

    开篇强调!!!Win11与Win10是可以安装.net3.5的,免得一些人上来就胡说,什么系统太高了,让你降版本,结果还是不行,白白浪费时间!!!再说Win11目前来讲也出了一阵子了,个人感觉还是挺稳 ...

  10. Nginx配置与踩坑

    系统平台:CentOS 7 安装Nginx 1.下载Nginx:http://nginx.org/  ,选择需要的版本/download/nginx-1.20.2.tar.gz ,在a标签中查看 wg ...

最新文章

  1. (八)pdf的构成之文件体(page属性)
  2. Web Service 的工作原理
  3. 2012年企业Web应用安全防范与趋势展望
  4. 正则表达式获取一个文本域中每一行的值并且去掉前后空格
  5. 『ACM-算法-Hash算法』信息竞赛进阶指南--字符串哈希
  6. Linux下redis的安装及配置.
  7. 阿里云迁云方式大汇总 1
  8. 链家信息python
  9. 华为Mate30 5G评测:首款5G爆品, 一步到位兼容5G双模全网通
  10. Docker : Docker 查看容器 IP 地址以及相关信息
  11. CS229 6.18 CNN 的反向传导算法
  12. javascript 方法总结(Array篇)
  13. CentOS配置postgresql+postsql
  14. 计算机系统构成及硬件基础知识
  15. 2021有什么好的入耳式耳机推荐?耳机热销性价比牌子排行榜单推荐!
  16. android 常用URI
  17. 关于VB.net禁用右键菜单的实现
  18. 4k计算机配置,想玩4K分辨率游戏 PC需要什么配置?
  19. 粮食行业视频监控系统互联互通技术规范
  20. 解决 ERROR: Could not find a version that satisfies the requirement xxx 的问题

热门文章

  1. Django之Form组件补充
  2. 1018. Public Bike Management (30)
  3. POJ分层练习题目列表
  4. 转:Android应用Icon大小在不同分辨率下定义
  5. 检查容器内的磁盘占用shell(check_container_disk.sh)
  6. 1.5(java学习笔记)this关键字
  7. 物联网领域不断扩展,ATT很“兴奋”
  8. 生活在REPL中(续):在REPL中动态加载依赖的库
  9. 【JavaScript】javaScript基础知识回顾
  10. /etc/mtab is not writable