失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > django+nginx+uwsgi部署web站点

django+nginx+uwsgi部署web站点

时间:2021-02-25 19:13:09

相关推荐

django+nginx+uwsgi部署web站点

环境:

django:1.8.16

python:2.7.13

pip:2.7

uwsgi:2.0.15

project路径: /opt/cmdb/

Uwsgi的安装配置

1、安装python2.7 (省略安装过程)

2、安装pip2.7 (省略安装过程)

3、安装uwsgi(注意:要用pip2.7安装)

4、配置uwsgi.ini

路径: /opt/cmdb/uwsgi.ini

文件内容:

[root@localhost cmdb]# cat uwsgi.ini

Uwsgi:常用参数和选项

关于参数的具体使用,可以阅读官方文档http://uwsgi-/en/latest/Options.html,在这里列出一些常用的参数:

chdir 项目目录

home virtualenv目录(如没有运行virtualenv虚拟环境,则无需设置)

socket 套接字文件或TCP套接字,例如:site1.uwsgi.sock 或 127.0.0.1:8000

uid 用户id

gid 用户组id

processes 工作进程数

harakiri 进程超过该时间未响应就重启该进程(默认单位为秒)

module 要启动的wsgi模块入口,如:mysite.wsgi:application

ini 指定ini配置文件

xml 指定xml配置文件(与ini类似)

file 指定要运行的wsgi程序文件,如:test.py

emperor Emperor模式

so-keepalive 开启TCP KEEPALIVE(unix套接字方式下无效)

uwsgi服务init脚本 /etc/init.d/cmdb

Nginx安装配置

1、安装nginx

2、配置nginx

[root@localhost cmdb]# cat /etc/nginx/conf.d/cmdb.conf

启动站点

1、启动nginx服务

/etc/init.d/nginx start (删除默认的default.conf配置)

2、启动uwsgi

/etc/init.d/cmdb start

排错:

1、在实际操作中发现,启动uwsgi服务后,访问站点出现“502 Bad Gateway”的报错,后来发现是在settings中设置了不允许访问站点

改成

后问题解决。

2、由于python2.6 不支持django1.8 ,所以需要在服务器上安装python2.7,并且在安装之前,最好输入以下命令,将可能用到的包都装上,否则出现问题时,需要重新编译安装python2.7

3、用pip安装uwsgi时,一定要用pip2.7(用python2.7安装的pip) 进行安装

4、invalid request block size: 4161 (max 4096)...skip报错解决

在访问站点时,出现了invalid request block size: 4161 (max 4096)...skip报错解决的报错。

解决办法是在uwsgi.ini配置文件中增加一条配置:buffer-size = 102400

将buffer-size设置大一些

本文转自 曾哥最爱 51CTO博客,原文链接:/zengestudy/1930346,如需转载请自行联系原作者

如果觉得《django+nginx+uwsgi部署web站点》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。