Python3.4+Nginx+Django1.8+Mysql5.5项目开发与部署

来源:互联网 发布:经纬度计算距离软件 编辑:程序博客网 时间:2024/05/21 10:22


折腾好几天才将项目部署成功,现在用篇文章给记录下来。我的项目是采用的Python3.4+Nginx+uswgi+Mysql5.5+django1.8+Ubuntu12环境。项目源码是放在我的Github上https://github.com/xiaokugua250/GdProject,有兴趣可以下载和提出指正意见。(文章记录的比较乱,后续会做相应整理)
环境安装不多说,网上都有。需要注意的是安装mysql时如果要使得数据库能够远程连接就需要修改数据库配置http://my.oschina.net/duhaizhang/blog/71929 ,如果还是不能连接远程数据库需要注意一下在数据库配置文件
/etc/mysql/my.conf文件下bind_address属性需要修改(最直接是注释掉)


安装django+mysql+nginx+uwsgi网上教程很多,由于我的服务器是Ubuntu,所以直接 切换到root用户下apt-get install mysql nginx uwsgi Django1.8安装网上教程很多,我直接采用pip3 install django就安装成功。
下面就直接开始项目实例,我的项目目录是 /Project.  进入目录后新建django项目django-admin startproject GdProjectDjango,进入目录GdProjectDjango python3 manage.py startapp gdrobot
新建app.项目完成后目录如下:




django项目是否建立成功,可以运行 python3 manage.py runserver 随后会在http://127.0.0.1:8000下显示it worked 表明项目建立成功
本文主要讲的是项目配置所以新建django项目就掠过,如果不明白网上教程很多百度即可,唯一不同的是本文采用的是django1.8
现在依次给出部署配置。为了方便起见/etc/nginx/nginx.conf中进行配置。配置如下

其中server 127.0.0.1:8002可以更改端口号,这个是用于本机uwsgi监听端口传递给uginx。server_name 为你的服务器域名或者IP,因为我的服务器现在只能IP访问,所以server_name 设置为服务器IP 112.74.104.106
/media  /static分别对应为你Djano项目下的media 和static目录路径。特别需要注意的是location下的root 对应的是 django项目所在的目录
配置好之后重启nginx 对应命令为 service nginx restart
采用uwsgi 进行项目启动   uwsgi  --http:端口  --moudle 项目.wsgi
在我的项目下,启动命令如下
项目启动后依照启动的端口进行项目访问,此时访问地址为 :http://112.74.104.106:8001

项目现在已经启动起来,但是静态文件没有加载进去。现在我们采用socket进行uwsgi到nginx之间的连接,这次启动命令为
uswgi --socket :端口 --moudle 项目.wsgi
在我的项目中启动例子如下,
我们新建项目.ini文件来启动,
项目ini文件如下,需要注意的是moudle  属性和 socket属性,特别是socket一定要相对应


如果在部署时,后台管理admin出现无法加载css/js等静态文件的情况,运行 python3 managy.py collectstatic 命令即可解决。前提是你的static目录下存放有admin静态文件目录
如果想多个app公用一个外部static目录,则需要在setting.py中添加STATICFILES_DIRS属性

本文参考了http://www.cnblogs.com/jaxthon/p/4391260.html   http://f4d3.cn/220.html 

0 0
原创粉丝点击