如何选择云服务器,如何在本地远程开发与调试云服务器程序

更多精彩内容,欢迎关注公众号:数量技术宅。关于本期分享的任何问题,请加技术宅微信:sljsz01


我们在交易数字货币的时候,会遇到一个非常关键的问题,那就是数字货币交易所的服务器往往在海外,所以我们本地的程序在连接海外服务器的时候会遇到一些连接不上,信号不稳等等问题,这对我们开发量化交易程序造成了不小的麻烦。因此,我们需要在海外,最好是和数字货币交易所的服务器相同地区租用一个远程服务器,这个服务器和数字货币交易所之间的数据联通就会十分流畅。

我们也知道,服务器性能自然越强越好,但是我们也没有必要为了我们不需要的性能付费,毕竟租用一个云服务器的价格波动还是比较大的,稍微增加一点性能,可能会增加不少费用。下面我们以某云为例,打开某云,各种类型的云服务器琳琅满目,让人一时间无所适从。

 

不过不用担心,我们会用相对简单的方式,为大家提供一些自己的思路,仅供参考。

不讲武德,win机开发

事实上,最简单粗暴的方法就是直接在云机上开发程序,开发完了直接在云机上运行,开发环境和运行环境完全一致,可以说是无缝连接,这种方法的好处自然是显而易见的。这个时候,我们的问题就转化成了,云服务器性能,覆盖系统运行,覆盖开发需要,然后就是能有多便宜。

寻找便宜的服务器

由于我们需要服务器尽可能接近某币的交易所服务器,因此我们选择某云的日本地区服务器,同时,为了降低成本,我们挑选了共享型服务器,便宜的就基本出来了。

由于东京服务器的共享型都是突发性能实例,意思是说,如果长期运行,cpu占用会限制在这个基数运行线以下,所以开发的时候程序大概会占用多少cpu要做到心理有数,当然了,如果只是针对几个币种监控及下单,性能还是绰绰有余。现在列表里有了不少云机,突发型实例还是比较适合开发环节的,我们如果要做到云端开发,那么应该选择windows系统,配合自己常用的ide,一般来说可能需要双核4gb内存的性能。我们选择windows server 2012系统,这个系统就是我们熟悉的win7服务器版。

配置服务器

其他都按照最便宜的方案处理,设置完成之后,需要简单的配置一下,首先到控制台启动实例,然后实例状态进入了运行中就表示已经创建好了。

然后按照如下步骤用以开放常用操作端口

  1. 单击实例ID,进入实例详情页。

  2. 单击安全组页签,然后单击安全组ID,进入安全组详情页。

  3. 访问规则区域,选择入方向页签。

  4. 单击快速添加,按以下设置添加安全组规则,未提及的配置保持页面默认选项。

同时,在实例页面的右边有个全部操作,设好实例的密码

万事具备,开始连接

这个时候我们基本上已经配好了云机,由于我们选择的是windows的系统,跟我们本地的文件可以无缝连接,大大降低了操作的门槛,在开始菜单-附件中找到远程桌面连接,输入云机的ip地址以及账号密码,如果你没有改动过的话,账号一般是administrator,点击连接之后,就是云机的桌面了。文件传输也不需要借助额外工具,只需要使用ctrl-c和ctrl-v就可以直接粘贴到云端。这里我们传了一个office的安装包以做演示,实际使用时就可以上传你的ide安装包之类,包括工程文件,都可以非常方便的迁移。

高性价比,linux

事实上,如果是运行数字货币的一些逻辑简单的交易程序,windows server这点性能显然也可以省,省下一些钱用在更有意义的地方不好吗?因此,我们可以考虑更低配的云机,比如单核的那种,这种配置可能运行windows略显吃力,但是运行linux系统还是没问题的。某云的购买方法基本一致,就不再赘述了,连接方法的话,win10上也有很方便的连接手段,比如powershell上使用ssh连接,就可以无缝连接到云机上了。

面对一个控制台,如果您对于linux系统略有了解的话,事实上也已经可以使用了,只不过需要借助一些控制台编辑器(比如vim)用来编程,这其实也算是云机开发,云机运行,但是对于大部分的我们来说,这种方式可能只适用于少数大神或者较为简单的程序修改,大部分的人还是需要基于ide开发。

Pycharm的远程连接和调试

pycharm的专业版提供了远程连接和调试的功能,如果您用python开发,并且也购买了pycharm作为常用的ide,那么此时可以做到利用pycharm提供的功能进行开发。下面就来介绍一下如何配置。

部署远程

我们打开工程文件,在工具菜单,找到部署的选项

点击加号,增加一个sftp连接,在ssh选项中输入云服务器的地址、账号、密码。同时把编码改成utf-8

ssh选项里面的密码可以选择保存

然后在映射选项把本地的工程文件路径和云端的工程文件路径输入

下一步,在文件,设定中,找到编译器选项,设定远程的编译器

在菜单中,选择ssh interpreter,选中之前部署好的服务器

然后把远程编译器的路径以及本地同步的工程文件夹设置完毕

注意,此处选择编译器需要小心,因为云服务器上可能存在多个版本python共存的情况,或者您在云服务器上也安装了anaconda之类的发行版,所以需要和您开发时使用的版本一致。由于我们在云服务器上安装了anaconda,我们就选择anaconda目录下的python3。

至此,远程调试的配置就完成了。既可以省下云服务器的性能,又可以在本地进行愉快的开发了。

关注 “数量技术宅”不迷路,您的点赞、转发,是我输出干货,最大的动力

 


往期干货分享推荐阅读

一个真实数据集的完整机器学习解决方案(下)

一个真实数据集的完整机器学习解决方案(上)

如何使用交易开拓者(TB)开发数字货币策略

股指期货高频数据机器学习预测

如何使用TradingView(TV)回测数字货币交易策略

如何投资股票型基金?什么时间买?买什么?

【数量技术宅|量化投资策略系列分享】基于指数移动平均的股指期货交易策略

AMA指标原作者Perry Kaufman 100+套交易策略源码分享

【 数量技术宅 | 期权系列分享】期权策略的“独孤九剑”

【数量技术宅|金融数据系列分享】套利策略的价差序列计算,恐怕没有你想的那么简单

【数量技术宅|量化投资策略系列分享】成熟交易者期货持仓跟随策略

如何获取免费的数字货币历史数据

【数量技术宅|量化投资策略系列分享】多周期共振交易策略

【数量技术宅|金融数据分析系列分享】为什么中证500(IC)是最适合长期做多的指数

商品现货数据不好拿?商品季节性难跟踪?一键解决没烦恼的Python爬虫分享

【数量技术宅|金融数据分析系列分享】如何正确抄底商品期货、大宗商品

【数量技术宅|量化投资策略系列分享】股指期货IF分钟波动率统计策略

【数量技术宅 | Python爬虫系列分享】实时监控股市重大公告的Python爬虫

 

 

posted @ 2020-12-23 20:10  数量技术宅  阅读(127)  评论(0编辑  收藏  举报