首先,部署用到的技术:

ubuntu命令行语句

anaconda3 语句

python 命令行语句

mysql 命令行语句

pycharm 操作经验

navicate 操作经验

阿里云

购买阿里云:云服务器 ECS。尽量便宜弄到手,学生价/免费抢/折扣购买

买完后打开阿里云管理控制台,如下图,画圈的是叫你多留心一下~

接下来就是连接了,你可以下载Xshell or PuTTY,用来连接,或者使用上图的远程连接

注意:修改了云服务器root的密码了,记得要重启一次云服务器。

阿里云购买完成并且连接成功后,是下图的效果

我用的PuTTY,上图是连接成功的界面

接下来安装Python环境

你需要使用conda吗?如果需要的话,跳过这一步,下面有安装conda的教程哦~

在连接的终端输入:

sudo apt-get upgradesudo wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz(保存至当前目录, 推荐下载保存与安装的目录为/root)

下载完毕后,解压安装:

tar -zxvf Python-3.6.2.tgzcd Python-3.6.2sudo ./configuresudo makesudo make install

输入python3进入pyhton交互界面,说明安装成功了。

使用Pycharm上传项目

你也可以使用 linux与windows之间连接的软件传递你的项目到服务器,软件如: Xftp, WinSCP

你也可以先上传到github再在服务器上下载项目。

这里使用pycharm,首先是一个叫VcrTStore的项目,如下图:

然后点击pycharm上面的的Tools > Deployment > Configuration,

然后新增连接,让pycharm连接到你的服务器,连接的配置如下图:

然后选择项目存放的文件夹,建议在服务器端的 用户的文件夹内 mkdir(创建)一个文件夹,我是在root文件夹下创建了一个VcrTStore文件夹

选择的步骤如下图:

点击ok后,再次点击Tools > Deployment 你就会发现,有 Upload to VcrTStore 这个选项,

这个选项就是用来上传项目的,点击即上传项目,

上传过程中,pycharm会在底部有有一个上传进度条,我们只需要等待上传完成即可,

Deployment中还有一些好用的选项,如同步代码,下载代码等,可以实现边开发边提交的开发模式。

提示:

Upload to VcrTStore completed: *** files transferred 则表示上传成功。

小知识:

使用 Upload to VcrTStore 的时候,是右侧project管理器 点击了哪个文件/文件夹就上传哪个哟~

要上传整个项目,需点击项目最外层文件夹。

安装mysql

请看博客:ubuntu 安装 mysql

配置mysql

请看博客:ubuntu 配置 mysql

亲测有效,还有,关于mysql8的配置,变化不是很大。

打开阿里云访问端口

首先,在阿里云的云服务器控制台,就是图一那个界面,点击 更多 > 网络和安全组 > 安全组配置

然后点击配置规则,就会打开如下图一样的界面

上图三个是默认的,我们需要创建一些规则,点击 快速创建规则
如下图,是我创建的规则,0.0.0.0/0 是允许所有哦~注意下

有些端口,快速配置无法满足?比如像 django 的 8000,memcached 的 11211,

如何再添加一些端口呢,就是 点击 添加安全组规则 按钮。

8000/8003的意思是,允许 8000, 8001, 8002, 8003 端口,其实是表示范围,

说的是我的配置:

这些工作做好了,就完成了,emmmmm,1/3了吧。

远程连接mysql

我们即将在windows上远程连接我们在阿里云服务器里安装的mysql数据库,

我使用的是navicate,连接配置如下图:

连接成功后,就是创建一个数据库了,与你项目用的数据库同名,我的是vcrtstore。

同步数据到远程数据库

右键点击本地的vcrtstore数据库,然后选择 转储sql文件>结构和数据,

选择一个文件夹保存,保存为vcrtstore.sql,这样原数据和表就备份好了,

然后右键服务器的vcrtstore数据库,选择 运行sql文件, 运行 vcrtstore.sql文件

效果如下图:

这样,阿里云那边的mysql也就有了我们本地的数据了,是不是感觉本教程讲得很详细呢?mua~

新建虚拟环境 or 不需要虚拟环境

你可以选择建一个Pyhton的虚拟环境,也不可以不建,

如果你要建的 话  呢,自己去找教程吧!

不过我使用的是Anaconda,小conda 还是很好用的,可以使用多个python版本,比如python2.7啊,python3.7啊, python3.6.2啊!

下载Anaconda :

sudo wget https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh

这里有个anaconda的安装教程 (ubuntu) >>

这里有一个知乎的关于Anaconda安装与使用的教程 (在图形界面上安装conda的教程,以命令行形式使用conda的教程)>>

小知识:

修改bashrc:sudo vim ~/.bashrc

迁移Python包到服务器上

在本地命令行中,执行一个命令:pip freeze > package.txt

这样django项目要用到的包的信息就打包好了,然后将这个package.txt 文件传到 服务器中,可以使用pycharm,也可以使用第三方软件~

然后,在服务器中,并且在Python虚拟环境下,执行命令:pip install -r package.txt

下载完成后,包就迁移成功了~

在本地访问一下服务器上的项目

首先,更改一下django中mysql的连接参数  'HOST': '39.107.96.126'  (阿里云服务器的ip)

其次,更改  ALLOWED_HOSTS = ['*']  (允许任何ip访问项目)

我是在本地pycharm里改的,改完upload到了服务器里面。

然后,在服务器的命令行中使用  python manage.py runserver 0.0.0.0:8000  启动项目

最后,在本地浏览器里输入  http://39.107.96.126:8000

当当当当,本地浏览器就可以访问服务器上的项目啦~

如下图:

其实,到这里,稍微懂点的同仁已经知道如何去部署项目了

但是,如果不懂也没关系,因为我们还有教程呐~

Pycharm远程调试代码

这个,其实还是蛮重要的~

点击pycharm上方的 file > settings > Project:VcrTStore > project interpreter

效果如下图:

点击第5步的 Add ,

然后 Add remove,点击ssh credentials,

有的pycharm版本呢,没有Add remove,这些版本使用的是 ssh interpreter

add remove 与 ssh interpreter 的配置差别不是很大!

我嘛,使用的是ssh interpreter 的这种,如下图:

配置连接后,配置一些目录

interperter表示配置python的目录,我使用的是anaconda的虚拟环境

sync folders(也是Path Mapping)表示你要寻找到django项目的根目录

效果如下图:

配置好后,点击 apply, 点击 ok,然后等待调试环境加载完成。

然后,点击pycharm上方栏的 run > debug > edit configrations

配置一下 debug 的启动,如下图:

这样你的项目就 debug 启动啦~

你可以在本地pycharm打断点调试项目了啦~

啦啦啦~

前端是Vue项目,配置使用django作为代理启动

这里的是一个前后端分离的项目,前后端调试好了的,

如果不使用django作为代理启动or不是前后端分离的项目,这一步可以跳过!!!

首先,打包一下vue的静态文件,在vue项目的根目录开启一个命令行,

输入命令: npm run build

完成后会在根目录下生成 dist 文件夹,里面有 static、index.entry.js、index.html

其次,将index.html 拷贝,放入django的 template 文件夹中,

将index.entry.js 拷贝到django的 static 文件夹中,

将vue项目下的 static 文件夹内部的东西,拷贝到 django的 static 文件夹中

接着,将 STATIC_URL 、STATICFILES_DIRS 配置到settings.py中,

拷贝后的结果,如下图:

找不到django的 template or static 文件夹???说明你是一个新手,啦啦啦~

然后,记得将 index.html 里面引用script的src属性改一下哦

改成:

src="/static/index.entry.js"

切记切记,

最后,配一下 django 的 urls.py,

这是 urls.py 中的部分代码:


from django.views.generic import TemplateViewurlpatterns = [url(r'^index/', TemplateView.as_view(template_name='index.html')),
]

如果你使用了pycharm远程代码调试,记得 Upload 一下更改哦~

emmmmmm,我们来访问一下,http://xx.xxx.xx.xxx:8000/index

报Template错误???报static错误???自行百度解决,over~

Niginx + Uwsgi 部署 Django项目

部署步骤的话,emmm,百度一下。

这里会有坑,如果用anaconda 创建的虚拟环境,安装 uwsgi 时,

会报错:uwsgi: error while loading shared libraries: libpcre.so.1: ..........

这里有个anaconda 安装 uwsgi 的教程: uwsgi + django(anaconda)服务器配置 lto 版本错误解决

部署django的话百度一下,帖子一大把!!!我这边的话呢!就省略了~

阿里云购买域名

接下来就是域名解析环节了,django部署了呢,应该监听端口 80,

然后去阿里买个域名

如下图:

我已经买了一个,9元的,

这里说一下哈,千万别注册掉我的域名vcrting.com/vcrting.cn/vcrting.site/vcrting.online等等,

各位大哥哥小哥哥大姐姐小妹妹们,千万千万千万别注册掉我的域名

域名也需实名认证,是学生或者个人的话千万别买.com/.cn结尾的域名,要去备案的!!!不嫌麻烦的话就随意喽。

点击 解析 按钮,进入这个页面:

这里没有域名的解析记录对吧,我们点击 右边 的 添加记录 按钮

如下图:

记录值是 你的云服务器的 ip ,不包括端口,所以我们django项目的监听端口应该设置为 80

设置完就是这样的:

所以呢,接下来就可以使用 www.vcrting.fun 来访问我的网站了 哈哈哈哈哈哈哈哈哈~

访问一下试试

md 怎么这样!???????!!!!

还是要备案,我们进入阿里的备案界面:

点击进入备案系统,

然后填写一下备案资料喽~

然后还要一个备案服务号:

点击 红的 文本框下面的获得备案号,去获得一个备案号

这里的话呢!其实我嘛,踩了一个坑,

为什么是坑,因为实例要买满3个月后,才能申请备案号!!!!!!!!!!!!

如图:

额,没关系,没关系,没关系啦,不就3个月嘛,掏个钱包的事儿,有什么关系呀。。。。。

提醒:

个人域名备案需要用到的东西:

身份证-正面图、

身份证-反面图、

户口本/临时居住证-正面图、

户口本/临时居住证-反面图、

网站真实性验核单。

我们还是可以通过 http://xxx.xxx.xxx.xxx/index 来访问的嘛!

如图:

写到这里呢,就差不多该结束了,哎,想想这一路收获也蛮多的,收获最大的应该就是“ 阿里云服务器要满3个月才能备案 ”这个知识点了,祝愿读这篇帖子的学者同仁们都能成功部署好自己的项目~

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!相关推荐

  1. 使用阿里云流水线功能一键部署到服务器

    文章目录 常见的部署方式介绍 部署流程 代码库在阿里云上的情况 代码库不在阿里云上的情况 部署步骤 打开云效流水线 新建流水线 配置代码源 关联第三方仓库 新建服务链接 选择仓库 选择代码分支 选择部 ...

  2. 阿里云linux centos 一键部署web环境--图文详解

    阿里云linux centos 一键部署web环境--图文详解 标签: linux阿里云一键部署 2017-04-15 12:28 386人阅读 评论(0) 收藏 举报  分类: linux(11)  ...

  3. [Linux]阿里云免费试用体验(在阿里云的ubuntu上部署个人服务)

    作为一个IT界的人,一般都希望有一个独立的博客,或者一部独立的机器.所以我一直在找机会,拥有一台自己可以独立控制的机器,自己想干嘛干嘛.当然这在虚拟机或者自己的PC上面也可以实现,但是这跟一台一直开着 ...

  4. 在阿里云的ubuntu上部署个人服务

    为什么80%的码农都做不了架构师?>>> 作为一个IT界的人,一般都希望有一个独立的博客,或者一部独立的机器.所以我一直在找机会,拥有一台自己可以独立控制的机器,自己想干嘛干嘛.当然 ...

  5. 搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程

    搭建阿里云Linux版服务器+使用docker安装EMQ.Node-RED.MySQL+本地Navicat访问数据库 云服务器基础搭建 注册云服务器 XShell简介 部署EMQ 部署docker 物 ...

  6. c 访问阿里云mysql_本地怎样访问阿里云mysql数据库服务器

    全网最新活动请看下方内容或右侧内容! --------------- 本地怎样访问阿里云mysql数据库服务器,在阿里云上放数据库. 对于大多数小型或初期项目来说,我们可能常用的做法是先将web.数据 ...

  7. 阿里云服务器配置环境和部署项目

    阿里云服务器配置环境和部署项目 一.连接阿里云服务器: 登陆阿里云,进入控制台,在控制台可以看到一些我们的信息. 然后进入云服务器ECS: 进来之后可以看到我们购买的服务器的各项信息了. 点击云服务器 ...

  8. 阿里云centos7下环境部署和项目部署

    阿里云centos7下环境部署和项目部署系统环境: 阿里云centos7系统 linux下的jdk1.8 linux下的tomcat8 linux下的mysql5.7 jdk1.8的安装 下载jdk官 ...

  9. 在本地Win10系统映射云服务器为网络驱动器——阿里云搭建samba服务器

    目的: 通过window系统的映射网络驱动器,将阿里云服务器的开发目录映射到window系统上,这样就可以在window系统上编写代码,然后通过Xshell终端上编译运行,极大提高码代码方便性! 方法 ...

最新文章

  1. ios 自动布局框架
  2. [repost]Xcode因为证书问题经常报的那些错
  3. Stanford UFLDL教程 自编码算法与稀疏性
  4. OpenLDAP、什么是目录服务、OpenLDAP简介、LDAP的基本模型、目录树概念、(DC、UID、OU、CN、SN、DN、RDN、c、o)、LDAP的使用
  5. 关闭窗体后,进程仍然在运行的问题重现与解决
  6. ubutun安装MySQL hive配置_Hive安装以及部署(Ubuntu-MySql)
  7. 03、CustomRegions
  8. MySQL中的information_schema
  9. 18kw丹佛斯变频器常见故障_变频器常见故障——输出不平衡、过载、开关电源损坏...
  10. svn 命令的使用(在linux下)
  11. python网页抓取与按键精灵原理一样吗_独家 | 手把手教你用Python进行Web抓取(附代码)...
  12. android设置动画循环播放,Android动画之AnimatorSet如何循环执行
  13. 人脸识别打卡项目(7)
  14. 服装尺寸 html,国家标准规范服装尺寸表.doc
  15. GIT无法提交到码云。原因可能是所在提交位置不对
  16. 机器人搭建记录 HoshinoBot
  17. 职业发展,选择大都市还是回老家?
  18. win10安装steam有损计算机,win10系统steam磁盘写入错误怎么办 steam磁盘写入错误的解决教程...
  19. 流放者柯南rust_《流放者柯南》评测8.0分 胯下生风的沙盒生存游戏
  20. MATLAB下载libsvm,以及对应MinGW-w64版本下载(亲测有效)

热门文章

  1. 阿里linux内核月报201503
  2. 99. 激光炸弹(前缀和)
  3. 毕业设计-基于深度学习的数字病理图像分割
  4. NVM - Nodejs的版本管理工具安装和使用
  5. 微信小程序期末大作业-蔬菜商城
  6. python贴吧顶贴_贴吧回复app-贴吧回复(贴吧顶贴神器手机版)v3.2.5-西西软件下载...
  7. Android手机连接蓝牙打印机连接不上的问题
  8. leetcode:跳跃游戏 IV
  9. AutoJS一文精通AutoJS脚本教程详解
  10. Basler 学习笔记2