我是靠谱客的博主 彩色时光,最近开发中收集的这篇文章主要介绍python怎么输入代码-教你如何将自己的脚本代码放到服务器上运行,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

原标题:教你如何将自己的脚本代码放到服务器上运行

本文授权转自 | 日常学Python

上次弄了个机器人,反响挺不错的,我也挺满意的,因为这个我也初步了解了服务器这个东西,懂得了如何将自己的脚本代码放到服务器上运行了,妈妈再也不怕我每天都得开着电脑才能运行脚本了,不过说实话,这个服务器真贵,不过有阿里云学生机,想尝试了解下的可以去试试,非常建议去折腾下,可以学到的东西很多。

2e5213cf4e444c99b5c40328ac7af1e0.jpeg

如果你还没有了解我的机器人,可以看看为了你们,我用一天时间做了一个机器人!,也欢迎大家加我进群哈,大家一起交流学习!

当时为了将代码放到服务器上运行,也花了很多时间,所以避免还有不会的小白同学,记录下此过程,让他们少走点坑。

1. 购买服务器

如果你是学生的话,想折腾的可以去阿里云那里购买,因为有学生机优惠,只需要9.9一个月,但是只能购买一次,在下一次购买需要做任务才可以继续享用学生机优惠。如果你是土豪的话,可以直接忽略这个。

因为这次我只需要把机器人脚本运行就可以了,所以直接选择学生机的配置就够用了。

阿里云的学生机购买链接:https://promotion.aliyun.com/ntms/act/campus2018.html?spm=5176.10695662.1244717.1.605c4804V5gfhs

ac328253023f4b0cbc79a948f49d17df.jpeg

点击购买即可。

3ab98414509049a9829aa8eb920ee856.jpeg

这个密码是你登陆上服务器的密码,需要记住,登陆用户名就是 root。

接下来就是扫码支付了。

云服务器ECS,就可以看到你刚才购买的服务器了。

b9f98bc93245485cbb306a69852da348.jpeg

再点击下面的云服务器,你就可以看到这个服务器的相关配置了

278e68f04cb540a6bb25f80ec8fe6e95.jpeg

连接服务器可以在这个页面的右边的远程连接进行连接,这个第一次点进去会有个远程连接密码,需要记住,因为每次在这里进行远程连接的时候都需要填入这个密码。

1932e7a549394938bcce2591f98023cd.png

a3c3e19105764554b019e64c6b0916f1.jpeg

连接成功就会显示一个黑色框,这里连接服务器虽然可以,但是不太方便,这里推荐大家一个在 window 的免费 ssh 连接工具putty

2. 在服务器上配置 Python 环境

需要在服务器上运行 Python 脚本 ,就必须要在服务器上有 Python 的环境,在阿里云购买的学生机默认就装有 Python 的,不过版本是 2.7.5。这里我们重新安装 Python3,是这个服务器上可以多个版本共存。

先在 putty 上连接我们的服务器。

d68fb9975d8e4ae1a576627085b5b1d2.jpeg

上面的 ip 地址就是我们购买的服务器的共有ip地址,使用 ssh连接就行了。不过还得设置一个东西,不设置的话,如果超过一段时间不动终端的话,就会自动断开,又得重新连接。

72642d357d4245bab285d6dca9e155fa.jpeg

这里设置成 60 秒就可以了,原理我现在不太记得了,如果有读者知道的话,可以在留言区说下。

5d5c038fc92643e7a0ac58bb476fe24a.png

点击 open,然后填写用户名 root 和自己之前设置的密码即可登陆成功,如上图。

接下来就是开始安装我们的 Python3 环境了。

先查看下 centos 服务器的已安装的 Python 版本

python -V

9b6f080dd1f847779c2fc5fab4f0063f.png

我这里是 3.6.8 版本,因为我重新配置了,如果你第一次使用,这个结果是 python 2.7.5

查看 python 可执行文件的路径

可以看到所在的目录,进入这个 bin 目录,并查看 python 文件

850675b3313a4db8854e66639e50098a.png

可以看到我这里的 python 指向了 python3 这个文件,但是你们第一次的会指向 python2.7 这个文件,接下来就是将 python 这个软连接指向 python3 就行了。如果怕弄坏的,想备份原来 python2 的文件可以执行mv python2.7 python.bak就可以将文件备份到当前目录了。

安装 python3.6.8 版本

1)先安装相关包

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

dec3a21cd7e74951bed6a745e68fb97f.jpeg

需要需要确认时直接输入 y 即可

914a42e5e00745c0bfa8e22209f5f192.jpeg

2)下载 python 3.6.8 源码包

如果觉得下载网速有点慢的话,可以更换阿里云源,可以参考这个连接:https://blog.csdn.net/qq_37274323/article/details/81107958

下载 python 3.6.8 包

https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz

b9389156f6514b8b9fde3617f9f90dcb.png

解压 python 3.6.8 源码包

tar xf Python-3.6.8.tar.xz -C /usr/local/src/

这个是将 python 源码包解压到文件夹 /usr/local/src 内,这里你也可以自己指定解压目录,你自己记得解压位置即可。

安装 python3

./configure --prefix=/usr/local/python3

这里的地址需要指定为自己的 python 源码包解压地址。

编译

make && make install

这时候可以说安装 python3 成功了,我们可以使用这个命令查看

/usr/local/python3/bin/pip3 list

13c54a1c30af4e06b727e6c38c37afd2.jpeg

更新 pip 版本

/usr/local/python3/bin/pip3 install --upgrade pip

也可以查看一下是否更新成功

/usr/local/python3/bin/pip3 list

3)建立软连接

现在就是需要将 python3 这个文件建立软连接,使 python 指向 python3 即可。

ln -s /usr/local/python3/bin/python3 /usr/bin/python

执行之后查看 python 版本

python -V

e5575c544d48469e82f39d45b1edbe21.png

成功之后就会看到 python 指向了 python 3.6.8 版本,如果出错了

bash: python: command not found...

这个是你建立软连出问题了,可能指定的 python3 安装路径不正确,这时候将 python 这个软连接删除重新创建即可。

你可以进入 。/usr/bin 目录,查看是否创建软连接成功

f46a17022d7d412da372b5bd067fffba.png

若找到 python 这个指向为红色显示的,证明创建错误了,python3 的地址错误了。

273c688518d34df7afb45661c187ed46.png

这时就删除这个 python 软连接

6b9e908106cb46358487e663ed48e96f.png

再重新创建 python 软连接即可

ln -s /usr/local/python3/bin/python3 /usr/bin/python

这前面的地址就是 python3 的安装路径,就是有 python3 这个文件的目录。

4)修改 yum 配置

因为 yum 原来是使用 python2 的,改了 python3 之后可能会出错,所以需要重新配置。

修改 yum 文件

vi /usr/bin/yum

把文件头部的#!/usr/bin/python改成#!/usr/bin/python2.7保存,然后按esc,输入 :wq 退出即可

修改 urlgrabber-ext-down 文件

vi /usr/libexec/urlgrabber-ext-down

第一行改为#!/usr/bin/python2.7,然后按esc,输入 :wq 退出即可

2d4a670e81b34eeda364f405926d943c.png

现在就完成了 python 环境的配置了。

3. 下载相关库

为了方便管理,我这里使用了虚拟环境,防止每个脚本运行时所需要的库进行冲突,如果你暂时没有想那么复杂,只是想运行一次脚本而已,也可以不必要使用虚拟环境,不过还是建议使用虚拟环境的,毕竟始终都需要用到的。

1)下载 virtualenv 库

这个是创建 虚拟环境使用的库。

pip3 install virtualenv

注意:这里使用的是 pip3,若是直接使用 pip 则对应的是 python2 版本的。

2)下载 virtualenvwrapper-win 库

这个库是为了方便管理虚拟环境使用的

pip3 install virtualenvwrapper-win

下载完了还需要配置环境变量

vim ~/.bashrc

在末尾添加上这两句

export WORK_HOME=$HOME/.virtualenvs

source /usr/local/python3/bin/virtualenvwrapper.sh

第一句是固定的,第二句为指定 virtualenvwrapper 安装的路径

43ad12a5315d471fbb18054225f8baa8.png

激活配置

source ~/.bashrc

6030a784f6c740e8ad9cf2c37259c3b8.jpeg

然后进入你想创建虚拟环境的路径,输入以下命令

mkvirtualenv py3_test

创建成功之后会自动进入该虚拟环境

0c0b0467c02e49acb283bbc9e0d1acb3.jpeg

但是这里默认使用的是 python2 版本指定的虚拟环境,需要使用 python3 版本可以指定版本创建

指定 python 版本创建虚拟环境

mkvirtualenv py3 --python=python

上面使用 --python 参数来指定 python 版本,因为 python 这个文件是指向 python3 的,所以可以这样使用,当然你也可以填上你 python3 版本的位置,这时虚拟环境的 python 版本就是 3 了。

93cf5a309a45466980758ee6e97299f3.jpeg

3. 下载机器人相关库

ee40ab5508f34b2197be0099dc252ac0.png

这里就是在虚拟环境中使用 pip3 安装 itchat 和 requests 库(用于爬虫获取早报)即可

4. 上传脚本到服务器

由于服务器上原本就带有 ftp 服务器的,所以我们只需要在本地安装个 fileZilla 客户端进行连接即可,自己去官网下载即可。

37fc102fb5714e0087bb281e5b397d5e.jpeg

这里填上自己的服务器 ip 地址和连接账号和密码 ,点击连接即可

11642a47d5b34ffa8f43c40d2d1bb9af.jpeg

连接成功之后,左边就是我们服务器上面的文件了,右边就是本地文件,右击需要上传的文件选择上传即可。上传成功之后即可在服务器上看到相关文件。

3611517b6e1c4193bf50b75e32ed384d.png

接下来就是运行脚本了。

5. 在服务器上运行脚本

可以直接像在本地一样运行脚本

python robot.py

这样就可以 运行成功了,但是我们在关闭连接之后,这个脚本就停止了,那岂不是还是需要开着电脑挂机?

别急,我们可以在后台运行脚本啊,这样即使关闭连接,也一样在运行。使用命令如下:

nohup python robot.py

这时你可以查看进程

ps -ef | grep python

ddeaa9e3f46545b4a8f8d65b700ca471.png

就会看到我们刚才 robot 代码已经运行起来了,这个就是在后台运行,关闭连接之后一样会运行,这下就放心了。

但是,如果发生错误的话,我们是无法知道哪里出错的,这时我们指定日志输出文件

nohup python -u robot.py > robot.log 2>&1 &

-u 就是指定实时的日志输出目录,而 & 符号是使程序在后台运行,一边运行还可以一边查看日志输出文件,这里的 robot.log 就是我们的日志输出文件。

还有一个问题,我想停止机器人怎么办?可以使用这个命令

kill PID

这里 PID 为 linux 系统上的进程号,要想停止哪个后台程序就填上它对应的 PID 即可,查看 PID

ps -ef | grep python

922f425c31b544a9a56369e6a3318dba.png

箭头所指就是 PID 了。

最后

由于我现在的知识水平有限,暂时只能说明这么多,这些都是我当初在第一次使用时所做的记录,如有错误,还请帮忙指出。同时还参考了几篇文章:

https://www.cnblogs.com/sanduzxcvbnm/p/5984352.html

https://blog.csdn.net/miner_zhu/article/details/81315974

https://blog.csdn.net/eastmount/article/details/79321822

最后码字不易,如果对你有用的话,那就拍拍双手点个「好看」吧,或者分享给你的朋友一起学习!

转自 | 日常学Python返回搜狐,查看更多

责任编辑:

最后

以上就是彩色时光为你收集整理的python怎么输入代码-教你如何将自己的脚本代码放到服务器上运行的全部内容,希望文章能够帮你解决python怎么输入代码-教你如何将自己的脚本代码放到服务器上运行所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部