在云服务器上托管执行自己的python3工程程序

一、前言

现在自己的电脑真的不够用了,有的时候跑确实慢,一种是计算量大,另一种就是要不断请求别的web端,所以个人电脑,比如我是笔记本就更难受了,再来做AI用服务器再正常不过了,但是怎么非常简单的移植到服务器并完全托管使用是个操作,近来我做了一些金融量化的东西,用到了服务器跑,在这里稍微做个小笔记把,方便大家也用。

二、首先我需要买个服务器

我用的是阿里云的服务器,因为还是学生,就没买太贵的,没买ECS,买的轻量级服务器,比较合算一些。
https://www.aliyun.com
登陆,我用的是支付宝登陆,如果您也是学生,建议来个学生认证,便宜很多,最便宜10元一个月,但是性能太低了。如果你很有钱,并且要求性能很高还是用ECS把
在云服务器上托管执行自己的python3工程程序
购买的时候其他的按照个人需要来买即可,但对于镜像,我个人喜欢用linux
在云服务器上托管执行自己的python3工程程序
所以选择Ubuntu16.04镜像。

三、linux服务器配置python3环境

正常来讲linux环境本来有原生的python2.7环境,这里我们利用以下命令来配置python3.6的环境
打开自己买的服务器的管理台,打开远程的terminal,和自己linux下运用一回事。
在云服务器上托管执行自己的python3工程程序
执行以下linux命令配置python3.6环境。

"""
下面命令中会出现Y/N的选择,要打Y回车,要切记大写Y而不是小写y
"""
sudo su root

sudo apt-get update    更新源

sudo apt-get install  software-properties-common

sudo add-apt-repository ppa:jonathonf/python-3.6
"""
执行上面这句可能显示以下内容
A plain backport of *just* Python 3.6. System extensions/Python libraries may or may not work.
Don't remove Python 3.5 from your system - it will break.
More info: https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6
Press [ENTER] to continue or ctrl-c to cancel adding it
按Enter即可,然后继续执行下面的命令即可
"""

sudo apt-get update

sudo apt-get install python3.6

cd /usr/bin

ls | grep python

sudo rm -rf python

sudo ln -s python3.6 python    重新建软连接

sudo apt-get install python3-pip

pip --version

sudo python pip install --upgrade pip  更新pip

pip --version

在云服务器上托管执行自己的python3工程程序
python3和pip全部安装成功。

四、把python3项目上传到linux的云服务器的/home中

因为我们上传的为服务器所以我们电脑相当于Client,下载以下上传软件很好用
https://filezilla-project.org/download.php?type=client
安装好打开
在云服务器上托管执行自己的python3工程程序
需要输入以上四项。
点击服务器详情
在云服务器上托管执行自己的python3工程程序
根据服务器详情可以看到IP地址(共),点击重置密码,可以看到用户名,一般来说是root,密码如果没有重置过,那就重新配置密码即可,一般来说端口为22即可。
在云服务器上托管执行自己的python3工程程序
连接服务器,此时连接成功,可以看到服务器的根目录文件夹,和本地磁盘文件等。
找到python3工程的文件夹,和服务器根目录下的/home目录,如下
在云服务器上托管执行自己的python3工程程序
右键点test文件夹,并点击上传,等一会就发现/home下有这个python3工程文件夹了
在云服务器上托管执行自己的python3工程程序

五、执行python程序

在这里可以想像为你其实就是把一台电脑中的一个工程文件夹上传到另一个linux环境下的电脑中而已,并且这个电脑linux环境已经配置好python3语言环境,所以对于执行.py文件只需要python xxx.py即可,其实和再自己电脑上执行的方式是一样的。
所以接下来就是再一次接入远程的terminal

cd /home
cd test
python xxx.py #执行程序

如果想不断地迭代程序,重新运行,那就重新运用上传软件上传修改好的程序替代之前的程序,重新运行python xx.py文件即可。

六、托管执行python程序

当然有的时候你不会想一直把服务器开着,看着他执行的,所以对于后台托管执行程序,可以把服务器页面直接关掉,只要服务器自己不崩溃,程序就可以一直自己运行,命令如下

nohup python xxx.py

这个方式会在admin的根目录下生成一个程序输出记录文件,如下
在云服务器上托管执行自己的python3工程程序
如果程序自己出错,或者你又想看长期以来程序输出的值,直接查看nohup.out即可
我一般喜欢以下方式来看

vim nohup.out
#如果看好了退出 需要输入 :q  (vim用法可自行查阅)

七,总结

以上就是这个博客的总结,如果您和我一样想自己远程等待程序的失败或者崩溃的话,可以参考我另一篇文章,在程序中设定一个异常处理,运用python3的邮件工程给自己发邮件管理和监测

『 TOOLS』python3利用SMTP进行邮件Email自主发送

如果您觉得写的好,来个赞把,谢谢