概述
准备工作
进群: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/
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。
不出意外,你的网站已经可以访问了。
总结
以上是编程之家为你收集整理的这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看全部内容,希望文章能够帮你解决这是一个关于阿里的企业级项目!从零开始的企业级项目!值得一看所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧