Django项目部署
两年前一直想写,但是种种原因,现在开始写了
个人思考建议:
任何一个web项目的作用无非是进行进行前后端数据的交流,然后考虑数据流向的逻辑是怎么样的,有了逻辑和数据就可以进行基本架构设计了,至于代码和可能引用的第三方包都是可以通过百度得到的,当然了Django项目建议大家一定要使用rest_framework,这样方便项目解耦,更符合restful设计风格,更重要的是它有很多封装的包,方便使用
Django项目部署的具体步骤
1.进行mysql数据库的主从配置,提升性能,并且可以进行读写分离,并且方便备份
(1)首先使用docker创建几个容器(container),运行几个mysql数据库的镜像,然后找到mysql.conf.d文件进行主从IP相同,端口不同的配置,这里要强调一点就是,server-id也一定要改成不同的值,主机的mysql/mysqlbin.log必须进行配置添加
(2)对主数据库中的数据进行冷备份(停机备份)到一个文件中,然后拷贝到从机中,使得主机和从机的数据保持一致,并通过一些测试sql语句进行检查是否一致
(3)在主机中通过语句“GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' identified by 'slave';”,来创建热备份的主从关系,然后进行刷新FLUSH PRIVILEGES;
(4)通过语句“shou master status”查看数据位置,方便建立主从关系时会出现索取数据的位置异常问题,方便修改
(5)通过语句“start slave”,来启动从机,然后show slave status \G;查看同步状态
(6)将量产的配置文件进行从机的配置修改
2.收集所有的静态文件
(1)在项目的配置文件中通过STATIC_ROOT = os.path.join('路径',‘保存的文件名‘),进行静态文件的收集存放地址配置
(2)通过python manage.py collectstatic进行文件收集的执行
3.静态文件访问配置
(1)打开hosts文件,对其中的IP进行修改,修改成上线服务器上的IP地址,
(2)确认ngins的配置配件nignx.conf中的端口和域名,以及默认首页是否与项目设计一致
4.配置动态访问
(1)安装uwsgi
(2) 在wsgi同级目录下创建一个uwsgi.ini的配置文件
[uwsgi] #使用nginx连接时使用,Django程序所在服务器地址 socket=10.211.55.2:8001 #直接做web服务器使用,Django程序所在服务器地址 #http=10.211.55.2:8001 #项目目录 chdir=/Users/delron/Desktop/meiduo/meiduo_mall #项目中wsgi.py文件的目录,相对于项目目录 wsgi-file=meiduo_mall/wsgi.py # 进程数 processes=4 # 线程数 threads=2 # uwsgi服务器的角色 master=True # 存放进程编号的文件 pidfile=uwsgi.pid # 日志文件,daemonize=uwsgi.log # 指定依赖的虚拟环境 virtualenv=/Users/delron/.virtualenv/《项目名称》
5.细节提示:
(1)DEBUG模式是否关闭,
(2)域名白名单是否添加
(3)通过uwsgi --ini uwsgi.ini进行uwsgi服务启动,可以通过ps aux |grep uwsgi来查看项目运行状态
- 项目部署上线nginx+gunicorn+django
- SAE 部署Django项目
- Linux 下部署Django项目
- 从零开始搭建个人网站(7)nginx+uWSGI部署Django项目(下)
- ubuntu下部署Django项目(成功)
- python使用Visual Studio 2015作为IDE开发django项目的环境部署
- ubuntu下部署Django项目
- ngingx+uwsgi+django项目部署nginx找不到django应用
- 学习VirtualEnv和Nginx+uwsgi用于django项目部署
- Ubuntu 13.04 Django 项目部署Apache +WSGI.
- 阿里云部署Django项目(超详细图文教程)—— Part3. Django settings修改、PostgreSQL配置
- ubuntu python3.5 django1.8.5 apache2.4 wsgi mysql部署django项目
- Apache部署django项目
- nginx+uwsgi部署django项目
- linux上部署Django项目(Apache+mod_wsgi+django)
- django项目部署在Apache服务器中,静态文件路径的注意点
- django+gunicorn+nginx部署项目 入门经验
- windows + Apache + mod_wsgi 部署发布Django项目
- 在Apache上部署Django项目,初步