.

[Python] Django项目的阿里云部署

.
当时因为项目的需要,就是将 python 的 Django 项目部署到阿里云服务器上。借此机会学习了一下,并记录了部署的步骤。想着除了分享之外,更多的是以后自己也可以回来感受一下当时部署阿里云的艰辛,不过现在会了也就不难了。其实当时部署的时候也挺不容易的,开始的时候只有朋友提供一些xshell命令,具体操作步骤完全不知道,就这样也是一直摸索着,好在还是有些成果的。接下来就是部署阿里云的全过程:

1.工欲善其事必先利其器,家伙事先得搞全了

  • 首先就是先搞到阿里云,在阿里云官网新用户是可以免费领取一个月阿里云服务器的,当时忘记了网址,再找的时候就。。。找不到了。BUT 阿里云官网还有(https://www.aliyun.com/) ,截图还在(貌似<=。=!>截图上竟然有网址)。那都不重要,先领了再说。
  • 阿里dataphin提交pyspark任务 阿里云部署python_python

  • 领取了之后需要注意一下,在第一次进入 终端管理 界面的时候会显示一个验证码,这个验证码只会显示一次。也就是说这是你们第一次见面,也是最后一次,不出意外再也见不着了。所以一定要收藏起来。
  • 阿里云到手之后就需要在下载两个软件 xshell 和 xftp,我也是找了好些时辰才把这俩哥们搞出来。
    xftp 和 xshell 下载官网 https://www.netsarang.com/ 找到 ↓ ↓ 这俩哥们估计也就欧耶了

下载之余我们来了解一下 xshell 和 xftp 这俩哥们,首先为什么要下载它们呢,其实不下载也不是问题,阿里云也提供了部署的平台,单纯的因为使用 xshell 和 xftp 操作起来更简单。然后就是它们的用处,简单的说 xshell 就相当于 Linux 的命令行,到后来环境的配置就靠它。环境搭建完成需要上传你的源代码之类的,这个时候就用到 xftp 了。

2.万事俱备,只欠东风

  • 准备好它们仨之后就可以开始了,阿里云先不管网页挂着就行,咱先说 xshell ,打开之后需要新建一个任务,需要填写 服务器的IP地址,端口号一般是22,其他的就先放着。

如果信息正确,进去后会让你输入root用户名和相应的密码,正常情况下这个root是固定的,密码是你设置的(o( ̄ヘ ̄o#)不是登录密码)。这个时候如果你猛然想起密码忘记了怎么办,这个时候莫慌张,重置一下就欧耶了。打开您晾在一边的阿里云管理界面!

阿里dataphin提交pyspark任务 阿里云部署python_python_02


然后开始修改远程登录密码就欧耶了,也可以进入相应的 管理 页面然后 更换系统盘,来一波重置,必定欧耶。

阿里dataphin提交pyspark任务 阿里云部署python_阿里云_03


然后再走一波

阿里dataphin提交pyspark任务 阿里云部署python_python_04


这个时候呢。。。顺利的话你就会看你到这个一个小家伙

阿里dataphin提交pyspark任务 阿里云部署python_数据库_05

3.扬帆远航——飞起

  • 开始我们的 xshell 之旅,首先开始配置 Python 环境,这个时候悄悄地复制几行代码:

更改python环境

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100

	sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

安装 pip

当时安装完 python 环境之后发现不能使用 pip install ,所以我就下载了一个。不过在此之前还需要下载一个东西
就是 setuptools ,当时是因不安装他的话会遇到一个问题,所以需要在安装 pip 之前先安装它。后来到网上一查
setuptools 的作用是它可以帮助我们更简单的创建和分发Python包,是 python 的基础包工具,可以帮助我们下载、
构建、安装、升级、卸载 python的软件包。

对站点的访问不请求验证(听说这样不好)

wget --no-check-certificate

开始下载 pip 压缩包,然后解压安装

https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26

解压并安装 setuptools-19.6.tar.gz

tar -zxvf setuptools-19.6.tar.gz	
	
	cd setuptools-19.6 		

	python3 setup.py build

	python3 setup.py install

就是这么一捣鼓,setuptools 就给装上了,接下来就是安装 pip 老规矩走一波

wget --no-check-certificate  
	https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb

	tar -zxvf pip-8.0.2.tar.gz

	cd pip-8.0.2   //进入 pip-8.0.2 目录下就可以进行 pip install 命令了

	python3 setup.py build

	python3 setup.py install

安装完 pip 之后你可以试着安装一些你所需的模块,因为我的是 Django 项目 所以需要安装 Django 模块

使用

sudo pip install django==2.0.2

或者使用

cd pip-8.0.2 

	pip install django==2.0.2

这两个命令都可以的,第一条命令的 sudo 是linux系统管理指令,sudo可以提升你的权限,最后的结果和第二条一样
都可以进行安装。在安装过程中我遇到了一个很大问题,当时还试着安装安装了一下 pymysql 模块,毕竟后来也是会
用到的,但是也出现了同样的问题。


阿里dataphin提交pyspark任务 阿里云部署python_mysql_06

这个时候怎么办,不慌张。but 百度在手,天下我有。开始的时候发现了 GCC 这个家伙,心想有点线索了,于是百度了一下
发现 GCC 是 linux 系统下的一个编译器。心想是不是少了 GCC ,然而并没有。这个时候慌了,再找。。。。。最后是在一个哥们的博客里找到的 ,然后按照上面的代码走了一遍,最后才发现问题解决了,当然也不知道咋解决的。除此之外还用了其他的代码例如:

sudo apt-get install python python-dev python-distribute python-pip libcurl4-openssl-dev libxml2-dev libxslt1-dev python-lxml

	sudo apt-get install libssl-dev libffi-dev build-essential

其实到最后我也不知道怎么解决的,但是通过百度还是知道了我用的这几条代码的意思,还是可以的。这个时候 Django 就已经安装完了,还是放着,先来创建所需要的数据库,在编写 Django 项目的时候也是需要用到数据库的,在 Setting.py 里面的 DATABASES 中肯定也配置过,但是 DATABASES 的内容不改,只需要将数据库的名字记下来就可以了。下面就是在xshell 中安装并创建数据库。
首先安装 mysql 数据库

sudo apt-get update
	sudo apt-get install mysql-server 
	sudo mysql_secure_installation  #进入mysql

只需要跟着步骤来就可以安全完成创建,用户名密码最好跟要上传的 Django 项目中配置的相同,省的再去改了。我在创建的时候还出现了一个粉红屏幕,当时不知道咋回事还给吓了一跳,听说 windows 系统蓝屏,莫非 Linux 是小粉红屏。。。。完茄子的,咱这村里的娃娃哪见过啊。可不就是输个密码嘛,瞧把咱吓的。


阿里dataphin提交pyspark任务 阿里云部署python_python_07

安装完之后啊,开始建表,先进入数据库,其实感觉上和 windows 命令行建数据库是一样的流程,代码都一样

mysql -u root -p

	create database {数据库名字} character set utf8;

当时我还有个疑问,建完数据库之后,是不是还需要将数据表干上去,我做的是一个 Repair System,那表可不是一个两个的事。后来一想,makemigrations 是干啥的,想想当时写项目的时候是咋建表的,这不就欧耶了吗。

这个时候呢,顺利的话数据库就已经创建好了,下一步该是时候启动 xftp 了Come On 老规矩,新建一个 IP 地址 端口号都不变,变了还连不上呢。进去之后就是这种感觉的。然后把你想要上传的拽上去,稍息片刻就会看到在右边栏里面看到你上传的内容。


阿里dataphin提交pyspark任务 阿里云部署python_数据库_08

然后试着打开你的项目,回味一波。这个时候可以找到你的 migrations 文件夹了,删除掉你曾经迁移的文,别删干净了,记得留着 init (使用记事本打开可以看到每一个 py 文件的内容,如果不确定里面的东西是什么可以打开瞅一鼻子,修改的话也是比较方便的,为了试试手 可以试着把 Setting.py 里的 DEBUG 改为 False,然后把 ALLOWED_HOSTS 里面写上你的IP地址和星星号 [‘47.99.124.150’, ‘*’, ] 这步其实也是必要的)。来吧,让我们来建表吧。

首先 cd 进入 manage.py 的目录下,输入那些年会敲不会读熟悉的两句代码:

python manage.py makemigrations 
	python manage.py migrate

撒~ 激动人心的时刻来临了


阿里dataphin提交pyspark任务 阿里云部署python_Django_09

此时此刻,怀着激动的心情回到阿里云远程管理界面,输入那收藏已久的验证码,走一波root 远程登录密码。cd 进入 manage.py 路径 ,输入一首,脍炙人口的:

python manage.py runserver 0.0.0.0:22

只见唰唰唰~,都无法表示我当时的喜悦,熟悉但又陌生。熟悉是 那时的我们 是那样亲密,而陌生 现在你已经穿上了 Linux 的嫁衣。与此同时部署工作————完结 欧耶❤