这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看

《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》
《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》

准备工作

进群:125240963   即可获取数十套PDF哦!

当然,最首先的还是购买好了服务器,最低配置最低价钱的即可。

《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》

其次,我们需要一个工具去管理和操作服务器。这个工具其实我们只需要朴素的命令行工具即可,但我仍旧推荐大家用一些好的第三方应用。

这次我推荐给大家的是Termius,官网地址是:Termius

Termius是一个多平台的命令行工具,提供Mac和windows版本的客户端,大家可以下载后自行安装。Termius的主要功能都免费,并且免费的功能足以满足我们本次的需求(本篇文章我使用的是Termius的Mac客户端给大家进行演示和讲解)。

再就是注册一个GitHub账号。因为这次我们尝试用更先进的应用发布方式。你可以通过搜索GitHub这个关键词,查到很多入门教程,而大家只需要了解到如何注册账号并完成这步,下面我会告诉大家怎么把之前的实践上传到自己的代码仓库,然后发布到服务器上。

综上,大家需要做的准备工作大致就三件事:买服务器、安装Termius、注册GitHub。

服务器方面,本次教程使用的是Ubuntu 16.04镜像,我也推荐大家用这个操作系统,因为比较简单,适合练手学习用。另外就是建议购买数据盘,大小10GB,我们的网站程序都放到数据盘中。

《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》

在自己名下的代码仓库主页,点击下图中的绿色按钮,之后再点击「Open in Desktop」。这两步操作的意义分别是下载代码仓库到本地,以及通过客户端方式下载。一般情况下,你应该还没有安装GitHub的客户端,可以安装完成后,再次进行同样的操作,最终,代码仓库会下载到自己的电脑上。唯一需要注意的是,代码仓库(本质是一个文件夹和一堆文件)存放的位置,大家不要去覆盖自己用PyCharm编写源代码的那个目录,随便找另一个新位置存放。

《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》
《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》
《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》

大家需要注意,这张图和大家的实际情况有些出入,就是右侧的GitHub代码仓库,大家是已经有文件了的,而我的是空的。因为我是用另一个程序的发布工作给大家做本期的教程,虽然如此,因为大体的操作都是大同小异,所以不会影响大家照葫芦画瓢。上图的重点是我选中了哪些文件去拷贝,没有选中的,是不必交由GitHub去管理的部分。

《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》

不管怎样,之前的实践大家至少要修改一个文件,就是 /templates/index.html ,里面的网页标题请大家修改成自己取一个名字。

还有一个很重要的,就是对run.py里的flask配置进行修改。因为我们的程序要发布到服务器上了,我们要关闭调试模式,即:

app.debug = True

要修改成:

app.debug = False

同时,app.secret_key也要修改,不然很多人都一样了,就有安全问题了。生成app.secret_key的方式,在flask的教程里,快速入门章节里有谈到。比较偷懒的做法就是把现有的字符串里的一些字符换一下就行了。

《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》
《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》

至此,我们就把自己的源程序发布到GitHub上了。

配置服务器环境

我们使用Termius来登录服务器。

方式是点击Termius窗口右下角的【+】号按钮,选择「Add new host」,之后填写好我们购买服务器之时,系统默认的用户名和设置好的密码登录服务器。

《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》
《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》

这样,用Termius的第一个好处我们就体会到了。就是以后每次登录服务器,直接点击Termius里的对应配置就能直接登录,不用总是输入用户名和密码了。

首次登录服务器,Termius会弹出如下图的窗口,让我们确认服务器可信,点击同意即可。

《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》
《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》

apt-get install python-pip

pip install virtualenv

apt-get install git

apt-get install supervisor

apt-get install nginx

这样,我们服务器层面所需的软件依赖,都安装到位了。

《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》
《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》

一般,我们应该输入的内容如下。

/data/web/.ssh/hello_rsa

这里的hello_rsa大家可以随意换成自己想要的名字,只要不是默认的id_rsa就行。

然后一路按回车键,不输入任何内容。看到类似下图的提示,就代表密钥创建成功了。

《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》

密钥是成对创建的,即每次创建的是两个文件。一个文件称为私钥,另一个称为公钥。我们将公钥给别人,当别人使用公钥与我们产生联系时,我们可以将公钥拿来结合私钥进行验证,通过验证我们可以确认这个公钥是不是我们当初给别人的那个,以此来确认对方的身份是否可信。

有关SSH密钥的相关知识,我会在以后给大家讲解,这里请大家照着上面的步骤执行即可。

《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》
《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》
《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》

不出意外,经过短暂时间的等待,你就能看见在/web文件夹下多了一个ZhihuJianMingJiaoCheng的文件夹。通过命令行查看当前文件夹下有哪些内容的命令是:

ls

接着,我们进入到ZhihuJianMingJiaoCheng这个文件夹,命令如下。

cd ZhihuJianMingJiaoCheng

这个文件夹就是我们网站的程序文件。然后我们需要创建Python的虚拟环境,命令如下。

virtualenv -p /usr/bin/python3 env

这样我们就为网站程序创建了一个虚拟环境依赖,相关的文件都在/env这个文件夹下。紧接着我们进入虚拟环境。

source env/bin/activate

怎么辨识我们在虚拟环境呢?两个办法,一个是看Python的版本,命令如下:

python -V

因为没进入虚拟环境,Ubuntu(包括大多数其他Linux系统)默认的Python版本是2.x,而刚才我们创建虚拟环境指定是使用Python3构建,所以查看Python的版本我们能确认是不是在虚拟环境中。

另外一个就是注意当前命令行的提示,在虚拟环境下会显示类似下图的提示:

《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》
《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》

配置网站程序

经过上面的操作,我们需要安装和准备的东西都差不多了,剩下的就是配置了。

首先,我们需要在网站程序这边配置好Gunicorn,刚刚我们只是装好了Gunicorn而已。

我们需要新建一个配置文件gunicorn.conf,并写一些配置信息。使用如下命令。

《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》

配置服务器程序

现在,我们用ubuntu切换到的root用户去进行接下来的操作。

首先是配置Supervisor,我们进入到Supervisor的配置目录:

cd /etc/supervisor/conf.d/

同样,我们创建一个配置文件jian.conf:

vim jian.conf

《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》
《这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看》

其中 www.xxx.com 和 xxx.com之间有一个空格。不过你域名那边也要解析两个才行哦,光这里写是没用的。

同样,依次按键盘的「ESC」键退出编辑模式,然后按键盘的冒号「:」键,再输入wq,按回车。这样就能保存我们刚刚输入的内容,并生成一个文件名为jian.conf的文件。

Nginx很有意思的一点在于,上面弄完之后,只是新增了一个配置文件,但并不生效,我们还需要在另一个文件下,引用一下这里的文件才行。

首先退回到上一层目录,然后进入sites-enabled这个目录:

cd ..

cd sites-enabled

接着引用一下刚才的配置:

ln -s /etc/nginx/sites-available/jian.conf ./jian.conf

这样,Nginx的配置也做好了。

最后,我们运行一些命令,加载刚才的配置或重启服务使之生效。

supervisorctl reread

supervisorctl update

service nginx restart

上面三条命令分别是加载和更新Supervisor配置,重启Nginx。

不出意外,你的网站已经可以访问了。

    原文作者:学好Python吧
    原文地址: https://www.jianshu.com/p/35f0ae78178a
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞