如何用 uWSGI和nginx部署django部署到nginx

 

 

 

进入解压后的目录,编译安装。

 

 

 

 
按ESC,输入:wq回车退出。


修改完记得执行?下面的命令,让上一步的修改生效:







 

创建数据库的可操作用户

 
 

 

 
方式二:
创建一个uwsgi.ini文件

# uwsig使用配置文件启动
# 指定sock的文件路径 
# 启动uwsgi的用户名和用户组
# 序列化接受的内容,如果可能的话
 


 

 

这可能是你读的最全的django+nginx+uwsgi教程了!本文主要解决的问题是部署完之后只能访问nginx,而不能访问uwsgi的项目。

前几天在部署一个django项目,弄了两天都没有成功,后来请教了师兄才解决,这个问题在网上之前都没有搜到过,记录一下以免后人踩坑。

首先了解一下用nginx和uwsgi部署的原理,感觉这篇文章讲得比较清楚了,大家可以看一下。另外uwsgi官方文档也有说明,可以参考,但是我根据这个官方文档没有走通。

下面说一下自己的部署。本次部署的服务器环境:ubuntu16.04

①安装uwsgi。推荐使用pip安装,命令行输入:

②安装nginx。直接用sudo apt-get 安装,如果安装不了,应该是软件源的位置,可以修改一下,清华的,豆瓣的,阿里云的都可以,命令行输入:

③django项目要能够跑起来,在项目目录下运行

要能够跑得通,如果不行肯定是有部分包没有安装好。

2.在django项目下的setting.py文件中进行修改,便于下一步部署:

③移植静态文件配置,这个主要是将原项目的静态文件移植出来以便访问。如下,注意括号中第二个参数为移植后的目录,不要和之前的静态文件目录相同就好。

④进行静态文件移植,完成步骤 ③之后,在django项目目录下运行

3.配置uwsgi。对于uwsgi的配置有很多种方式,私以为 xml配置方式最简单,这儿就只说最简单的。在项目目录下新建socket.xml文件(与manage.py同级)内容如下:

其中,需要修改的就是<chdir>、<module>两行,第一行的端口可以自己设,尽量设置8000以后的,避免冲突,但是这个端口号一定要记住,因为后面配置nginx时会用到。

注意!注意!注意!原来nginx.conf配置有两行必须注释掉。(这就是我一直搞不好的原因。。。)

5.启动项目,完成部署。进入到项目目录下,依次执行以下三个命令:

第一个是先杀死现有的uwsgi进程,第二句是用xml进行uwsgi配置,第三步是重启nginx。中间如果有端口占用就杀死被占用的进程;如果有权限问题,加上sudo就好。

好了,现在就可以在外面访问你的django项目了!!!

PS,加一句今天的感受,只要和前端js有关的错误,(例如点击一个按钮没反应)一般最好的解决方式就是查看chrome检查中的console窗口,看其报错情况, 靠自己检查代码很困难的。



  • 题目连接 排行榜 A和I都是签到题 按位BFS K Yet Another Multiple Problem 题意:给一些可以用的数字,求最小的数,它由特定的数字组成且是n的倍数 分析:暴力枚举不可行 ...

  • 平常,复制.备份表,一般都直接操作IDE完成.但有时,一些初始化数据的脚本,在操作数据前,最好备份下操作表的结构.数据,不至于出错了被置于为难的境地. 所以复制表结构.表数据的语句就派上用场. &gt ...

我要回帖

更多关于 django部署到nginx 的文章

 

随机推荐