Centos7部署Django Web 全流程之五 Gunicorn(django+nginx+gunicorn)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012605477/article/details/84343082

1.安装gunicorn

2.执行gunicorn命令,查看该命令是否正确执行,若无法执行,修改软连接

#cd svn/    切换到项目根目录,即与manage.py 同级

#执行gunicorn -w4 -b0.0.0.0:8001 generalWeb.wsgi   

如果这里显示找不到gunicorn的问题,则执行下面的语句

#ln -s /usr/local/python3/bin/gunicorn /usr/bin/gunicorn    

如果安装的django版本和开发使用的django的版本没有问题,则正确的执行结果如下,:

如果有问题,比如django版本不对照时,则会出现以下问题(models规则改变):

上述原因是因为新版本的django要求,外键关联时,必须指定,on_delete=models.CASCADE,

即resource=models.ForeignKey(T_Resources,on_delete=models.CASCADE,)

如果你的app里面的models里都有这个问题,请依次修改。

修改完成后启动,gunicorn启动正常。

但是打开浏览器,访问127.0.0.1:8000,发现再次报错。

上述错误指出,在新版的django中,你的项目urls.py文件需要更新(非app下的urls.py),即在项目的urls.py中使用include时务必添加第二个参数,即app名称。

打开项目的urls.py文件,进行修改:

将url(r'^rbac/', include('Rbac.urls', namespace='Rbac')), 

修改为

url(r'^rbac/', include(('Rbac.urls','Rbac'), namespace='Rbac')),  

注释:上面的include后的第一个参数用元祖传两个值,第二个值为app_name,之前的django版本不支持第二个值

保存文件,退出。

使用ctrl+c键退出gunicorn 控制台,再次运行之前的命令:

gunicorn -w4 -b0.0.0.0:8000 generalWeb.wsgi

ok,至此,gunicorn成功运行了django项目,唯一的问题就是静态资源找不到。

而静态资源的问题,我们就需要项目的setting文件和nginx的conf文件进行配合。

两者配合后,页面将正确展示!

猜你喜欢

转载自blog.csdn.net/u012605477/article/details/84343082