美文网首页
使用Amazon网络服务

使用Amazon网络服务

作者: bluefish_ | 来源:发表于2016-10-19 11:25 被阅读0次

    Amazon Web Service名气应该算响的了。最近在做爬虫,一直开terminal不让电脑睡眠,小苹果air已经撑不住了……
    然后学姐建议用aws跑程序这样就不需要把自己电脑弄趴啦。
    于是开始折腾aws。
    这个其实挺麻烦的。
    首先注册账户,如果你在Amazon买过东西,那应该可以直接登录。
    登进去以后,创建Instance,选择processor,当然作为免费用户,不需要想选项,因为只有一个。跟着指示创建完,会有一个key pair下载下来,文件后缀是.pem。这个很重要,后面创建连接都要用到。
    然后其实现在创建不了连接。
    要先跟着connection documentation完成prereq,比如装ssh(一般都有),装aws cli,在IAM页面新建user,新建group,然后把user加到group,设置group的policy为AmazonECFullAccess。新建user的时候会有一个access ID和access key,这两个复制粘贴一下,在aws configure的时候要用。
    然后就是创建连接。注意这个时候要用key pair文件的绝对路径。
    ssh -i <absolute path of key pair> <your specific address to connect>
    第二个specific address,在你的instances页面选中你的instance点击connect,就能看到那串地址,一般都是正确的。
    然后会问yes/no,当然yes啦,然后出个warning,就连上了。

    然后就是很醉的python3的问题。我用requests做爬虫,使用python3告诉我importerror,requests找不到。然后用python(也就是python2应该),结果sqlite3又不对。我懒得改程序了就想装python3。

    在aws ec2上装东西还挺正常,想装什么直接打个名字,比如pip,它就告诉你用什么命令装pip。然后pip装好我想用它装requests,结果原来python2.7的dist-packages里已经有了……然后我就找各种stackoverflow怎么装python3,结果找到yum,但是并没有很大用处。

    最后的解决方案是pip install requests -t . 直接装在当前目录下,这样运行的时候就没问题了。

    最后的最后,爬虫要一直跑着,我不想一直开着terminal,所以找了一下怎么能够关掉terminal也让ec2上的程序跑着。找到了linux screen。
    screen -S <session name> 进入一个session
    然后做你的python command运行程序,反正任何你要做的command
    然后ctrl a d 就可以detach from the process。
    想要回看(resume),用screen -r。

    祝大家用aws愉快 : 3

    相关文章

      网友评论

          本文标题:使用Amazon网络服务

          本文链接:https://www.haomeiwen.com/subject/ihhxuttx.html