chapter9-让你的系统全天候为你服务

发布时间:2024年01月21日

之前几章,我们讲了如何通过短信和邮件发送我们需要的信息。但是遗憾的是,我们都是讲相关的服务运行在自己的电脑上的。如果我们关闭了自己的电脑,那么我们的程序也就相应的停止了服务。本章将从购买服务器开始,一步一步将我们之前开发的程序搬移到服务器中,实现服务的全天候运作。相关代码已经放在本课程的Github项目上,同学们可以随时下载参考。

系统的选择

目前主流的服务器提供商提供的系统主要有WindowsLinux。因为之前我们都是在自己基于Windows系统的电脑上开发的,因此本篇文章提高一下难度:使用Linux服务器进行开发。在本文接下来的过程中,会穿插讲解一些基础的Linux语句,方便之前没有基础的同学理解。
####服务器的选择
提供Linux系统服务器的厂商有很多,比如阿里云、腾讯云、京东云等。考虑到目前很多企业在使用阿里云,而且就个人而言,在之前的服务器出现问题时,阿里云的售后也很及时的解决了问题。因此,本文选择阿里云的服务器。

注意!你可以选择其他服务器厂商提供的服务,所有的操作并不会因为你选择的企业不同,而导致无法正常操作!

  • 如果你是学生,可以使用阿里云的云翼计划或者是腾讯云的学生计划,每个月最低只要10元左右就可以获得能够满足日常使用的服务器;
  • 如果你只是想短时间内使用,建议你使用例如京东云等经常提供免费使用日期的新晋云服务商。
    购买服务器
  1. 注册
    访问阿里云官网,没有注册同学点击右上角注册,注册过程和正常的网站没有啥大的不同,所以略过不表。
  2. 购买服务器
    在官网首页的产品中选择云服务器ECS,进入购买界面。在购买页面中,我们选择包年包月,地域你可以选择喜欢的地域,我们这里默认为随机分配:
    在这里插入图片描述

因为我们的服务并不需要太多的性能,因此在实例中,我们选择入门级(共享型)即可:
在这里插入图片描述

在镜像中,我们选择Ubuntu 16.04 64位,存储大家可以根据自己的需求增加或者减少,我们这里默认不变:
在这里插入图片描述

接下来一直点击下一步设置密码,我们输入自己的密码:
在这里插入图片描述

设置完密码后,我们确认订单,然后付款就完成了购买服务器的步骤了。

配置服务器
  1. 查看服务器实例
    点击云服务器ECS->实例就可以看到之前购买的服务器信息,我们需要记住对应的内、外网IP:
    在这里插入图片描述

  2. 连接服务器
    我们使用开源的SSH链接工具putty连接我们的服务器,同时填上我们的服务器公网IP,然后点击open
    在这里插入图片描述

初次使用,软件会显示Putty Security Alert 提示,我们直接点击“是”即可。

  1. 配置服务器环境
    我们首先要输入之前我们配置的用户名和密码,这里我的用户名是root,密码是******。输入后回车,如果输入的信息正确,会出现Welcome to Ubuntu.....的字样,说明我们已经连接到了我们购买的服务器后台中:
    在这里插入图片描述

我们先输入python3,在>>>后输入`print(“hello world!”),看看环境是否正常:
在这里插入图片描述

输入exit()退出Python 服务。由于ubuntu自带了Python 2.x 和Python 3.x 两个版本的Python,为了保证我们能够顺利载入Python 3.x 版本的框架包,我们需要安装pip3。为了防止出现意外,我们首先下载一个get_pip.py的文件,让它帮我们自动搜索并下载:

mkdir python_list
cd python_list
wget https://bootstrap.pypa.io/get-pip.py
python3 get_pip.py

我们来详细解释上述的代码:

  • mkdir python_list我们创建了一个名为“python_list"的文件夹,mkdir是创建目录的命令;
  • cd python_list:我们进入到了“python_list"目录,cd是进入某个目录的命令;
  • wget https://bootstrap.pypa.io/get-pip.py我们从后面的网站中下载了相关的文件,wget是下载文件的命令;
  • python3 get_pip.py运行下载后的py文件。因为我们使用的是Python3.x的版本,因此要指定运行的是python3版本。

接下来我们要使用pip安装项目所要依赖的包:

pip3 install requests
pip3 install twilio
pip3 install  BeautifulSoup4
修改代码

既然服务能够全天候为我们服务,那么我们就需要考虑:到底什么时候发送短信告诉我们今天的天气呢?很显然,我们需要控制之前的天气预报服务,让它在一定的时间内发送,其他时间保持静默,不打扰我们。
我们假设每天8点系统发送一条短信通知给我们,告诉我们今天的天气,因此代码运行时,应该保证只有处于8点时,系统才会服务:

from chapter10.crwal_info import get_info
from chapter10.send_sms import send_sms
import time
if __name__ == '__main__':
    url = '    http://api.map.baidu.com/telematics/v3/weather?location=杭州&output=json&ak=你的AK值'
    now_hour = time.strftime('%H',time.localtime(time.time()))
    send_time = int(now_hour)
    if send_time==8:
        text = get_info(url)
        send_sms("要发送的手机号码","Twilio提供的号码",text)
    else:
        time.sleep(60*60)

系统首先获取当前的小时,如果等于8点,则发送相关的短信。否则,系统休眠1个小时,在1个小时候再次判断是否是8点,能否发送短信给我。

上传代码

我们使用PSCP上传文件。首先我们需要找到代码所在的位置,启动控制台,按照下面的格式进行上传:
在这里插入图片描述

pscp  -r 目录 用户名@LinuxIP:目录

上述图片中,我把chapter10中的文件,上传到了IP为147.104.252.85,用户名为root,存放目录为python_list的服务器中。
让我们到服务器中,使用ls命令查看是否已经成功上传:
在这里插入图片描述

果然成功上传到了服务器!
让我们进入chapter10的目录中,直接运行Main.py,尝试能否发出短信吧:

cd chapter10
python3 Main.py

手机收到的短信:
在这里插入图片描述

运行正常,我们已经在服务器上成功搭建了我们的服务!

总结
  1. 本章从购买服务器开始,一步一步将我们之前开发的程序搬移到服务器中,实现服务的全天候运作;
  2. 前几章都是直接请求API,减少了网页爬取方面的知识,主要是方面同学们了解我们之后要使用的相关基础技术。从下一章开始,我们要重点攻克网页爬取技术,为最后的实战项目做准备;
  3. 事实上,网上有很多免费的API接口,为了不浪费珍贵的服务器资源,同学们在课后如果感兴趣的话,可以开发属于自己的短信小程序,提高生活的质量。
文章来源:https://blog.csdn.net/ElegantOfKing/article/details/135727217
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。