如何選擇雲伺服器,如何在本地遠程開發與調試雲伺服器程式

更多精彩內容,歡迎關注公眾號:數量技術宅。關於本期分享的任何問題,請加技術宅微信: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爬蟲