drf项目部署到腾讯云
时间:2019-06-26
本文章向大家介绍drf项目部署到腾讯云,主要包括drf项目部署到腾讯云使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1.部署准备
1.腾讯云服务器(Ubuntu 16.04系统)
在购买了腾讯云服务器成功之后,腾讯云的站内信会将系统的登录名:Ubuntu,以及登录初始密码发给你。
2.本地需要的软件工具
1. Xshell 远程操作服务器实例
通过Xshell,打开软件→【文件】→【新建】→【新建会话,输入云服务器的公网ip,用户名:ubuntu,登录初始密码】即可连接到云服务器。
为了方便安装包,从用户ubuntu切换为root用户:
sudo -i
2. filezilla 用于将打包成zip包的项目压缩文件包,上传到云服务器的 /home/ubuntu目录下
3.Navicat for Mysql 用于同步本地和服务器的数据库
3.本地项目准备
1.django项目
1.settings.py配置
1.settings.py中配置公网ip才允许访问:
ALLOWED_HOSTS = ['公网ip']
2.settings.py中追加静态文件路径配置代码:
STATIC_ROOT=os.path.join(BASE_DIR,'static') STATICFILES_DIR=[os.path.join(BASE_DIR,'static'),] #这一条在开发阶段就可以添加
3.settings.py中关闭开发调试模式:
DEBUG = False
2.生成requirements.txt
pip freeze >requirements.txt
3.将chaoyuecun项目打包成zip包
2.同步数据库
1.在云服务器安装Mysql数据库
1.服务器安装Mysql5.7(目前默认安装的Mysql就是5.7版本的)
apt-get install mysql-server y #设置数据库密码,跟本地的数据库密码设置为相同的就可以,省着在项目的settings中麻烦再特意做修改了 apt-get install mysql-client apt-get install libmysqlclient-dev y
2.修改服务器数据库配置文件,使之允许远程连接
vim /etc/mysql/mysql.conf.d/mysqld.cnf # 英文输入环境下,敲 i 键,进入插入模式 #上下左右键移动光标,注释掉 bind-address = 127.0.0.1 #英文输入环境下,敲Esc键,输入:wq 保存退出
3.设置远程连接密码
mysql -u root -p #输入密码(不显示),登录mysql GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; flush privileges; quit; #重启mysql服务 /etc/init.d/mysql restart
2.使用Navicat,将本地数据库传到腾讯云服务器
1.建立连接
连接本地:点击左上角控制面板的【连接】→选择【MySQL】→随便取个连接名字,测试连接,提示连接成功即可。
连接服务器:点击左上角控制面板的【连接】→选择【MySQL】→随便取个连接名字,输入云服务器的公网pi,用户名:root,密码123456,点击测试连接,提示连接成功即可。
2.传输数据
选择本地要传输到服务器的数据库,然后选择数据库连接,点击开始,确定,然后等待传输完成,关闭。
3.查看是否上传成功
mysql -u root -p #输入密码 show databases; #查看本地数据库是否上传上来了 quit;
4.修改服务器数据库配置文件,使之不允许远程连接
vim /etc/mysql/mysql.conf.d/mysqld.cnf # 英文输入环境下,敲 i 键,进入插入模式 #上下左右键移动光标,将注释掉的 bind-address = 127.0.0.1 恢复 #英文输入环境下,敲Esc键,输入:wq 保存退出
#重启mysql服务 /etc/init.d/mysql restart
3.上传项目并且运行
1.安装python3.6
因为腾讯云的Ubuntu16.04默认安装的python版本是2.7和3.5,而在本地开发时,用的是python3.6,所以需要下载安装python3.6
1.相关依赖,防止因为缺少依赖报错,安装一遍保平安:
apt-get install openssl apt-get install libssl-dev y apt-get install libc6-dev gcc y apt-get install -y make build-essential zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm tk-dev
2.安装python3.6
add-apt-repository ppa:jonathonf/python-3.6 #回车 apt-get update apt-get install python3.6 y
3.将默认的Python 链接指向Python3.6
cd /usr/bin rm python ln -s python3.6 /usr/bin/python python -V
2.项目上传
1.使用FileZilla上传项目的zip包到ubuntu目录下
2.解压
cd /home/ubuntu
ls
unzip gg.zip
3.配置虚拟环境
1.创建虚拟环境
#安装虚拟环境 apt-get install python3-venv y #在当前目录下,创建一个python3.6的虚拟环境,取名为env36 python3 -m venv env36 . env36/bin/activate #进入虚拟环境 #退出虚拟环境 deactivate
2.在虚拟环境中安装依赖库
cd gg
pip3 install -r requirements.txt
4.测试运行项目
1.运行项目:
python manage.py runserver 0.0.0.0:8000
2.在安全组打开8000端口
3.浏览器访问:
http://公网ip:8000/xadmin/
原文地址:https://www.cnblogs.com/xuepangzi/p/11094526.html
- 手把手教你 MongoDB 的安装与详细使用(二)
- 搭建 MongoDB分片(sharding) / 分区 / 集群环境
- Android调用手机中的应用市场,去评分的功能实现
- ANR 原理与实战技巧
- Android将应用程序的崩溃信息如何保存到本地文件,并上传至服务器
- android native内存检测方案(二)
- 测试数据集与验证数据集之间有什么区别呢?
- 深度学习的未来
- SDL系列讲解(二) 环境搭建
- SDL系列讲解(四) demo讲解
- 具有张量流的混合密度网络
- SDL系列讲解(七) SDL_image教程
- SDL系列讲解(八) SDL_ttf教程
- 一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](五)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 用 Wolfram 语言映射美国的山火
- Mathematica在中学数学教与学中的应用
- 总结一些ES不常用的filter
- 如何将炫酷的报表直接截图发送邮件——在Superset 0.37使用Schedule Email功能
- Kettle构建Hadoop ETL实践(五):数据抽取
- Kafka监控必备——Kafka-Eagle 2.0.2正式发布
- iOS Universal link 入门指南
- Flutter基础widgets教程-CupertinoAlertDialog篇
- Flutter基础widgets教程-cupertinoActivityIndicator篇
- Flutter基础widgets教程-Align篇
- 深入理解Linux内核进程上下文切换
- 面对疾风吧!io_uring 优化 nginx 实战演练
- 奇技淫巧:在 ssh 里面把服务器的文本复制到本地电脑
- 【计算机网络】学习笔记,第一篇:概述(谢希仁版)
- 【Objective-C】Objective-C语言的动态性