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来查看项目运行状态