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

首先,部署用到的技术:

        ubuntu命令行语句

        anaconda3 语句

        python 命令行语句

        mysql 命令行语句

        pycharm 操作经验 

        navicate 操作经验

阿里云

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

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

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第1张图片

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

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

 

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

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第2张图片

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

 

接下来安装Python环境

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

在连接的终端输入:

sudo apt-get upgrade

sudo wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz

(保存至当前目录, 推荐下载保存与安装的目录为/root)

下载完毕后,解压安装:

tar -zxvf Python-3.6.2.tgz

cd Python-3.6.2

sudo ./configure

sudo make

sudo make install

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

 

使用Pycharm上传项目

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

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

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

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第3张图片

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

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

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第4张图片

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

选择的步骤如下图:

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第5张图片

点击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的配置,变化不是很大。

 

打开阿里云访问端口

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

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

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第6张图片

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

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第7张图片

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

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

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

说的是我的配置:

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第8张图片

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

 

远程连接mysql

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

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

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第9张图片

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

 

同步数据到远程数据库

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

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

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

效果如下图:

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第10张图片

这样,阿里云那边的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 

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

如下图:

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第11张图片

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

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

 

Pycharm远程调试代码

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

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

效果如下图:

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第12张图片

点击第5步的 Add ,

然后 Add remove,点击ssh credentials,

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

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

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

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第13张图片

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

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

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

效果如下图:

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第14张图片

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

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

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

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第15张图片

这样你的项目就 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中,

           拷贝后的结果,如下图:

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第16张图片

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

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

           改成:

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

           切记切记,

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

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


from django.views.generic import TemplateView


urlpatterns = [

    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,

然后去阿里买个域名

如下图:

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第17张图片

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

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

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

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

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

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第18张图片

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

如下图:

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第19张图片

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

设置完就是这样的:

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第20张图片

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

 

访问一下试试

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第21张图片

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

 

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

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第22张图片

点击进入备案系统,

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

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第23张图片

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

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第24张图片

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

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

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

如图:

阿里云ubuntu16.4服务器部署python3.6.2+django1.11.3网站的全过程,精细讲解,本人亲测!_第25张图片

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

提醒:

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

                   身份证-正面图、

                   身份证-反面图、

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

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

                   网站真实性验核单。

 

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

如图:

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

你可能感兴趣的:(Python,django,linux,pycharm)