django 云服务器部署大致流程

网站的部署是一个比较难的事情,难在资料方法,参差不齐,每个人的环境也都不太一样,各个工具的文档也都比较大而且难懂,其实也不必慌,基本上,这跟个人对网站源码/框架等的理解,以及部署过程的一些熟练程度(linux的操作)/以及对报错的处理能力有关,多练几次就好了。
下面,就来跟大家分享一些我历经3/4次部署过程中经历的一些:

  1. 部署前的准备流程
    1.1.supervisor是可以用来将网站的服务器保持启动和服务状态的,我们通常用nginx来处理静态文件,用Gunicorn来处理一些内部请求,转给django进行处理
    1.1购买服务器和域名,进行备案,根据个人的实际情况,可以购买合适的服务器和域名,一般对一个基本的博客而言,基本款的服务器就够使用了,域名购买也可以在购买云服务器的时候一起买。
    1.2购买完两者之后,需要安装服务器实例,域名解析至服务器,最后还需要根据要求,进行备案。
    1.3这些完成以后,就可以准备写博客了。可以根据需要,选择前端的框架,以及数据库,同时还要准备一个github的账号,以及仓库,了解必备的github使用命令。
  2. 部署
    2.1部署前,需要先生成一个requirements.txt(如果是使用virtualenv的话),
 pip freeze > requirements.txt

同时,将settings.py的DEBUG设为False,设定好static和media的路径

DEBUG = False
 STATIC_URL = '/static/'
MEDIA_URL = '/media/'
 STATIC_ROOT = os.path.join(BASE_DIR, 'static')
 STATIC_ROOT = os.path.join(BASE_DIR, 'media')

注意,不要上传数据库文件和静态文件

2.2上传github

上传github时,要避免将settings.py中的敏感信息保留,不要上传,如SECRET_KEY 、邮箱密码等,而是把这些信息写到服务器本地,然后在 settings.py 中读取。因为github是公开的,上传github时,要注意与github的连接,上传报错问题等的解决

2.3服务器本地准备
服务器本地要做好以下准备
1.要创建路径,用来存放项目文件,安装python,pip,以及pipenv或者irtualenv,并在目录下创建虚拟环境
2.数据库准备,如果用的是django自带的db.sqlite,可以继续使用,如果是mysql,则需要在服务器本地准备好相应的数据库,同setting.py中设置的一样,(mysql不会自己生成数据库,如果django调用的话,需要提前准备好
3.连接服务器和github,将github中的项目文件拉到服务器上的项目路径
采用git clone+仓库超链接来拉取
4.安装项目依赖
在虚拟环境下,在服务器上补全刚才未上传的setting.py的部分,然后安装项目依赖,如果虚拟环境使用的virtualenv,则应使用:

pip freeze > requirements.txt

如果是pipenv,则需要:

pipenv install --deploy --ignore-pipfile

安装后,进行数据库迁移,以及静态文件收集

python manage.py migrate
python manage.py collectstatic

注意,如果是mysql,则因为mysql暂时不支持python3的原因,可能需要上网找方法解决

这时,可以运行以下 python3 manage.py runserver 来看一下是否有报错,有报错则解决问题,这时,因为已经将debug模式设为false,所以django不再帮我们查找静态资源,所以此时页面上可能不会有什么显示。

  1. 部署
    接下来,就要准备部署了,这个过程会比较繁琐,所以我将会分篇来讲,主要是从Nginx/Gunicorn/Supervisor三个工具来讲
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值