nginx + gunicorn + django 2.0 踩坑
部署踩坑
提前准备
在本地能够 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 static
from 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)
nginx + gunicorn + django 2.0 踩坑的更多相关文章
- manjaro xfce 18.0 踩坑记录
manjaro xfce 18.0 踩坑记录 1 简介1.1 Manjaro Linux1.2 开发桌面环境2 自动打开 NumLock3 系统快照3.1 安装timeshift3.2 使用times ...
- Win10 安装配置 MongoDB 4.0 踩坑记
redis 官方没有 Windows 版的,微软维护的已经好久没更新了,所以就在想着换成 MongoDB. 于是一趟被我复杂化的踩坑之旅就开始了,同时也记录一下,避免有人遇见跟我一样的问题. 首先在 ...
- vue2.0 踩坑记录之组件
- did you register the component correctly? For recursive components, make sure to provide the " ...
- 使用Centos7.5+Nginx+Gunicorn+Django+Python3部署blog项目
项目开发环境是 Python3.5.2+Django1.10.6+Sqlite3+Centos7.5+Nginx1.12.2+Gunicorn 发布出来供需要的同学借鉴参考.文中如有错误请多多指正! ...
- Django线上部署实战教程之Nginx+Gunicorn+Django篇
############################################# 推荐 nginx supervisor gunicorn 配置简单,运维方便. Nginx (engi ...
- .NET CORE 2.0 踩坑记录之ConfigurationManager
在之前.net framework 中使用的ConfigurationManager还是很方便的,不过在.NET CORE 2.0中SDK默认已经不存在ConfigurationManager. 那么 ...
- pytorch-1.0 踩坑记录
参加百度的一个竞赛,官方要求把提交的代码测试环境pyorch1.0,于是将自己计算机pytorch升级到1.0. 在ubuntu下用conda install pytorch 命令安装时,效果很差,解 ...
- springMvc改造springboot2.0踩坑
1. 支持jsp applicaiton.proerties添加配置 #指定视图解析路径前缀 spring.mvc.view.prefix=/WEB-INF/jsp/ #指定视图解析后缀 spring ...
- Visual C++ 6.0踩坑记录---在Win10下安装Visual C++ 6.0安装成功后点击“打开”按钮闪退问题
前言: 为了更好的学习C及C++,前段时间下载了Microsoft Visual C++ 6.0(以下简称VC6),原因是VC6具有查看反汇编代码.监视内存.寄存器等功能,并且因为本人正在学习滴水逆向 ...
随机推荐
- cnblogs博客主题原来可以弄得这么美观
参考了网友 https://www.cnblogs.com/maybreath/p/5253824.html的做法,没想到真的可以耶. 总想弄个方便的.简洁的.可以被搜索引擎搜到的博客.以前用过wor ...
- 关于uboot一些概念
U-boot的环境变量值得注意的有两个: bootcmd 和bootargs. bootcmd 前面有说过bootcmd是自动启动时默认执行的一些命令,因此你可以在当前环境中定义各种不同配置,不同环境 ...
- rabbitmq 发送的用户名是什么
消费的用户名也必须是什么 接收必须单独启动线程——否则mfc会崩溃 Sleep(30000); //30秒 只要你打开消费队列,只消费1个 队列中所有数据都丢失???????? 断线重连: 知道答案 ...
- 【集群】Redis的哨兵模式和集群模式
哨兵模式 哨兵模式是redis高可用的实现方式之一 使用一个或者多个哨兵(Sentinel)实例组成的系统,对redis节点进行监控,在主节点出现故障的情况下,能将从节点中的一个升级为主节点,进行故障 ...
- PHP filter_list() 函数
定义和用法 filter_list() 函数返回包含所有得到支持的过滤器的一个数组. 语法 filter_list() 提示和注释 注释:该函数的结果不是过滤器 ID,而是过滤器名称.请使用 filt ...
- APICloud框架——总结一下最近开发APP遇到的一些问题 (二)
高度自适应 flex布局 允许子元素伸缩 手机号正则 function checkPhone(data){ if(!(/^1[34578]\d{9}$/.test(data))){ alert(&qu ...
- 使用ui给定的字体,通过css引入字体库
@font-face { font-family: 'LCDMonoNormal'; src: url('../../assets/fonts/LCDM2N__.eot'); src: url('.. ...
- python 网络编程:socket
在学习socket之前,我们先复习下相关的网络知识. OSI七层模型:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层.OSI七层模型是由国际标准化组织ISO定义的网络的基本结构,不仅包括一 ...
- (转)Spring Boot干货系列:(七)默认日志logback配置解析
转:http://tengj.top/2017/04/05/springboot7/ 前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的, ...
- mysql left join 用法说明
left join中关于where和on条件的几个知识点: 1.多表left join是会生成一张临时表,并返回给用户 2.where条件是针对最后生成的这张临时表进行过滤,过滤掉不符合where条件 ...