阿里云Ubuntu16.4服务器部署python3.7.1+django2.1.4网站(一)

此博文由来

本人进行了一个小的博客项目开发,完成后想要将其部署到阿里云上,但查找了几天网上的解决方法总是出现各种错误,所幸最终找到正确方案,现记录一下我的部署历程。

参考博客:

VcrTing
他-途

部署要用到的技术:
  1. ubuntu 命令行语句
  2. anaconda3 语句
  3. python 命令行语句
  4. mysql 命令行语句
  5. pycharm 操作经验
  6. navicate 操作经验
购买阿里云服务器:

因为还是学生,所以阿里云还是很友好的,云服务器ESC可以很便宜到手。
在这里插入图片描述
在这里插入图片描述

如图这是我所买的服务器
在这里插入图片描述
买完之后,可以在控制台的实例中查看到所买的服务器
在这里插入图片描述

接下来就是远程连接你的服务器了,你可以下载Xshell或者Putty用来连接,可自行百度;这里我是直接使用上图中的“远程连接”进行的连接。

第一次使用“远程连接”时会弹出窗口告诉你远程连接密码,请务必记录下来,这个只会弹出一次!!!之后会经常用到。

在这里插入图片描述
再之后填写用户名:root
密码为你购买时设置的实例密码,如果忘记请重新设置
在这里插入图片描述

注:修改过云服务器的实例密码后,需要重启一下服务器!修改才会生效。

在这里插入图片描述

连接成功界面如下:
在这里插入图片描述

安装python环境

我所购服务器自带python2.7.12和python3.5.2两个版本,但是我实际的开发环境确是3.7.1,这里我使用的是Anaconda3

首先是下载与python相对应的Anaconda3的压缩包Anaconda
在这里插入图片描述
命令行输入:

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

下载完成后,进入到Anaconda3-2018.12-Linux-x86_64.sh文件所在的路径下,然后依照以下网址中的操作进行安装Anaconda

因为我是使用pycharm来进行开发的,所以使用的是Pycharm上传项目

你也可以使用 linux与windows之间连接的软件传递你的项目到服务器,软件如: Xftp, WinSCP;你也可以先上传到github再在服务器上下载项目。这里使用pycharm,首先是一个叫MyBlog02的项目,如下图:
在这里插入图片描述

然后点击pycharm上面的的Tools > Deployment > Configuration,
然后新增连接,让pycharm连接到你的服务器,连接的配置如下图:
在这里插入图片描述
在这里插入图片描述
然后选择项目存放的文件夹,建议在服务器端的 用户的文件夹内 mkdir(创建)一个文件夹,我是在root文件夹下创建了一个MyBlog文件夹;
点击ok后,再次点击Tools > Deployment 你就会发现,有 Upload to MyBlog 这个选项,
这个选项就是用来上传项目的,点击即上传项目,
上传过程中,pycharm会在底部有有一个上传进度条,我们只需要等待上传完成即可,
Deployment中还有一些好用的选项,如同步代码,下载代码等,可以实现边开发边提交的开发模式。
提示:
Upload to MyBlog completed: *** files transferred 则表示上传成功。
小知识:
使用 Upload to MyBlog 的时候,是右侧project管理器 点击了哪个文件/文件夹就上传哪个哟

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

打开阿里云访问端口

首先,在阿里云的云服务器控制台,在左侧点击网络和安全>安全组 > 右侧配置规则
在这里插入图片描述
然后点击配置规则>快速创建规则,就会打开如下图一样的界面
在这里插入图片描述

有些端口,快速配置无法满足?比如像 django 的 8000,memcached 的 11211,
如何再添加一些端口呢,就是 点击 添加安全组规则 按钮。
8000/8003的意思是,允许 8000, 8001, 8002, 8003 端口,其实是表示范围,
说的是我的配置:
在这里插入图片描述

安装虚拟环境

pip install virtualenv

//创建虚拟环境文件夹
mkdir SmartCommunity-ENV
cd SmartCommunity-ENV

**//创建虚拟环境(方便后期部署)**
virtualenv vir1
source vir1/bin/activate 

迁移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://服务器公网IP:8000
当当当当,本地浏览器就可以访问服务器上的项目啦~

在这里插入图片描述

没有更多推荐了,返回首页