Django部署脱坑心得(一)

废话不多说,直接上干货!

1.随便创建个django项目,再随便整个startapps,一个原生的项目就出来

2.拽到服务器上,这里我用xshell和xftp6进行连接服务器和操作文件,该说不说,想直接改代码还是麻烦的一批

3.如果服务器上没有装sqlite3,先建议装一下,我这个服务器上版本太低,升级了下,关于升级命令ubuntu和centos的可以直接面向百度

4.安装好了,先不要着急,问问公司是阿里云的还是什么云的服务器,上面端口的规则和权限没开的需要配置下,例如我这里是0.0.0.0:9200

5.进入项目的主目录,直接python manage.py runserver + 指定端口,看看能不能run起来

6.如果可以run起来环境啥的应该没啥问题,报错就缺啥补啥

  --如果报mysql模块的错误,强烈建议使用mysql-client,直接安装就行

  --如果报mysql连接错误,确认ip,port,账户名,密码是否正确,如果都没错,检查mysql是否允许远程链接,这里推荐简单的办法,Naviccat找到该数据库中的usr表,将host字段

    中的root用户名改为 ‘%’这个符号,重启mysq,还需要考虑服务器防火墙的问题,可以自行百度

7.这些都什么问题的情况下,把真实项目直接拖到服务器上,run起来,将

1 DEBUG = True
2 
3 ALLOWED_HOSTS = []

改为:

# 设置为False为了让别人无法窥探错误信息
DEBUG = False

# 允许所有访问
ALLOWED_HOSTS = ["*"]

在业务没有问题的情况下设置为这样,不然是无法在终端看见错误信息内容的,可以在正式上线前设置为关闭

8.如果所有的样式和html文件的路径和文件夹都是按照官方文档在自建的templates和static文件夹下,并在setting中配置了STATICFILES_DIRS和templates的BASE_DIR路径,

 到了这里,你已经做完了80%的工作

9.迁移数据库这些操作可以看下django的另一篇迁移文章,操作绝对稳,一波过,迁移完成还需要数据同步(如果有的话),使用navicat中的数据传输功能,可以将本地的数据    库数据直接同步到线上数据库中,非常方便

10.接下来就是各种业务测试,测试完成以后记得不要使用python manage.py runserver这个语句运行项目,建议使用uwsgi + nginx,如果想偷懒的话可以使用linux中的nohup

  命令,例如:nohup python3 manage.py runserver 0.0.0.0:8001 >>log_app.out>&1 &

  nohup + python3 manage.py runserver [IP]:[端口] >> [log路径]或[log文件命] & 1 &

自有风云来时雨, 似有风霜沾蓑衣
原文地址:https://www.cnblogs.com/meipu/p/13213239.html