搭建阿里雲Ubuntu量化交易服務器--vn.py社區


原文鏈接: https://www.vnpy.com/forum/topic/1967-vn-pyshe-qu-jing-xuan-2-da-jian-a-li-yun-ubuntuliang-hua-jiao-yi-fu-wu-qi

對於vn.py的初學者以及絕大部分用戶來說,Windows操作系統可能是最好的選擇,性能滿足需求而且也幾乎沒有額外的學習成本。但不可否的是,Linux操作系統在系統資源占用、擴展服務開發、跨進程通訊延時等方面,有着明顯的優勢。

 

社區內也一直不乏用戶希望嘗試學習使用Linux,最常見的兩種形式包括:

 

  • 虛擬機:VMWare、Hyper-V等,運行於本地電腦,傻瓜式安裝適合體驗學習
  • 雲服務器:阿里雲、騰訊雲等,需要自行安裝配置,運行於服務端更適合實際應用

 

本篇教程就主要針對如何在阿里雲服務器上搭建一套完整的Linux量化交易系統環境來講解。Linux版本上選擇了vn.py官方支持的Ubuntu 18.04 LTS 64位版本,如果要使用Debian、CentOS等可以自行嘗試,整體大同小異。
 

主要用到的工具包括MobaXterm(遠程連接客戶端)、Xubuntu-destop(服務器圖形界面)、vnc4server(遠程桌面服務)等,盡管安裝配置的過程有些繁瑣,但只要跟着圖文說明一步步去做,100%能成功。

 

在開始安裝工作前,請先准備好1台阿里雲的服務器(也可以選擇AWS、騰訊雲等):

 

  • 節點選擇:華東2(國內期貨、證券)或者香港(數字貨幣、外盤)
  • 機器配置:2核以上CPU,4G以上內存,共享計算型(不要選突發實例)
  • 操作系統:Ubuntu 18.04 LTS 64位
  • 網絡帶寬:按需付費,20M以上帶寬,分配公網IP
  • 登錄方式:用戶名和密碼(不要選密鑰)

 

購買好后請記錄下該服務器的公網IP,下面連接要用。

 

 

安裝MobaXterm

 
MobaXterm是一款增強型遠程連接工具,可以輕松地調用遠端Linux服務器上的各項功能命令。接下來將會用到MobaXterm的SSH和VNC功能:

 

  • SSH,可以理解為命令行終端,類似黑框框的CMD
  • VNC,則可以理解為遠程圖形化桌面,類似常規Windows桌面

 

首先,需要從官網下載MobaXterm:

https://mobaxterm.mobatek.net/download-home-edition.html

 

下載完成后解壓安裝包,直接雙擊exe文件進行安裝。

 

安裝完成后,雙擊桌面圖標啟動MobaXterm。在主界面中單擊導航欄左邊第一個【Session】進入連接頁面。

 
description

 

或者也可以點擊頂部菜單欄【Sessions】->【New Session】按鈕。

 
description

 

在彈出的新頁面Session Settings中,單擊導航欄最左邊的【SSH】按鈕。然后在Basic SSH settings中輸入雲服務器的公網IP和賬號。

 
description

 

其中默認賬號為root,輸入root賬號之前記得把左邊小方框勾選上,端口號保留默認的22即可,然后點擊最下方的【OK】按鈕。

 
description

 

之后會自動彈出一個新的連接頁面,第一次連接時右側終端會提示輸入雲服務器的密碼,注意在輸入時,界面上並不會有任何反應(不會顯示密碼)。

 
description

 

輸入完按回車鍵后,若密碼正確則會彈出一個小窗口提示是否保存密碼,可以點擊【Yes】按鈕。

 
description

 

看到下圖中顯示的內容,就說明阿里雲的Ubuntu服務器已經連接成功了。左邊顯示的是雲服務器上的文件夾目錄,右邊的黑框是命令操作界面。

 

description

 

到這里,我們就完成了使用MobaXterm遠程連接雲服務器的步驟。當然,這種連接是基於SSH,只能通過命令行終端的方式來調用服務器上的各項功能。

 

為了更方便的管理連接,需要進行一下重命名:點擊最左側的【Session】選項,找到剛剛創建的SSH連接,鼠標右鍵選定該連接,選擇【Rename session】。

 
description

 

彈出Session settings界面,其中的Session name可以修改為任意名稱,這里我們將其重命名為DEV_1,完成后點擊左下方的【OK】保存。

 

description

 

此時在左側的Sessions標簽中,我們可以看到該連接的名稱已經改為了DEV_1。

 

description

 

同理重復上面的操作,輸入相同的雲服務器的公網IP和賬號,創建第二個SSH連接(命名為DEV_2),這樣我們就能同時使用2個終端了,同理你也可以創建更多的終端連接。

 
description

 
 

更新軟件倉庫

 
在Windows下安裝軟件,通常只需要准備好安裝包的exe文件,然后一路點擊【下一步】即可完成。但Linux並非如此,Linux系統的發行版大多自帶了軟件包管理器,如Ubuntu和Debian的APT。

 

對於大部分常用的軟件,用戶都可以直接從官方提供的倉庫中下載安裝需要的軟件,而不必自己去每個網站下載,這也是Linux與Windows在使用上的一大區別。

 

所以在Ubuntu系統中,本地保存了一個軟件包安裝源列表,列表里面都是一些網址信息,標識着某個源服務器上有哪些軟件可以安裝使用。所以為了能夠正常安裝最新版本的軟件,首先需要更新軟件包管理器里的這些列表。

 
description

 

只需要在Ubuntu終端中,運行輸入命令

sudo apt-get update

就會如上圖所示,自動遍歷訪問源列表中的每個網址,並讀取最新的軟件信息,保存在本地系統中。

 
 

安裝Xubuntu-destop

 
Xfce是一款針對Linux/UNIX系統的現代化輕量級開源桌面環境,最大的優點是內存消耗小,且系統資源占用率很低,Linux之父Linus Torvalds日常使用的桌面環境就是Xfce。
 

Xfce只是純粹的桌面環境,但我們在日常使用操作系統時,還需要許多其他常用的工具,如多國語言支持、瀏覽器、輸入法工具等。Xubuntu-desktop就是一套整合了Xfce桌面環境和其他常用圖形界面軟件的安裝包。

 

安裝方法也相對簡單,在終端中運行命令:

 

sudo apt-get install xubuntu-desktop

 
description

 

在國內當前的網絡環境下,Xubuntu-desktop的下載和安裝可能耗時在20-60分鍾的樣子,期間可以在終端中看到類似上圖所示的安裝信息。

 

 

搭建VNC服務

 
VNC是一款基於RFB協議的屏幕畫面分享及遠程操作軟件,最大的特色在於跨平台性:我們可以用Windows電腦來控制Linux系統,反之亦然。

 

首先需要安裝VNC服務器,在終端下運行命令:

 

sudo apt-get install vnc4server

 

安裝完畢后,在終端運行命令
 

vncserver

 
用來啟動VNC服務器。首次運行時需要設置VNC遠程連接的密碼,長度至少是6位,並且二次輸入來確認(注意該密碼不是Ubuntu賬戶的密碼)。

 

description

 

VNC服務器啟動好后,可以在日志輸出文件名中看到其默認端口是1,上圖所示紅色方框標識“:1”。

 

啟動了遠程桌面服務器后,下一步是配置xstartup文件,來設置遠程桌面使用Xfce的桌面環境。用文本編輯器nano打開xstarup文件,在終端運行命令:

 

nano ~/.vnc/xstartup

 

可以看到如下內容:

 
description

 

需要在最后一行 "x-window-manager &" 前面添加一個"#"注釋掉這行,同時在文件最后加入一段新的配置信息:

 

session-manager & xfdesktop & xfce4-panel &
xfce4-menu-plugin &
xfsettingsd &
xfconfd &
xfwm4 &

 
description

 

修改完畢后,按住“Ctrl”和“Y”鍵來退出nano編輯器,注意會詢問是否要保存當前修改,請按“Y”進行保存。

 

配置完xstartup后,我們需要重啟VNC服務器:先把默認的1號端口服務殺掉,然后新的服務我們改為使用9號端口(因為1號端口容易被掃描攻擊),同時設置遠程桌面的分辨率為1920x1080(根據你的本地顯示器分辨率來設),運行下列命令:

 

vncserver -kill :1
vncserver -geometry 1920x1080 :9

 

description

 

 

連接VNC桌面

 

回到MobaXterm主界面,單擊主頁最上邊的【Sessions】->【new Session】彈出【Sessions settings】界面,這一次選擇【VNC】連接。

 

其中【IP address】為阿里雲公網IP,【Port】為VNC連接端口,在上一段中我們選擇了在9號端口啟動,故從需要把Port端口由默認的5900調整為5909。

 
description

 

同時在下面的【Bookmark settings】界面對該VNC連接進行重命名為“VNC”,點擊左下方的【OK】按鈕,開始連接VNC遠程桌面,成功后即可看到如下圖所示的Xfce圖形界面:

 
description

 

 

安裝IBus中文輸入法

 
作為中國人總歸免不了要輸入中文,這里我們選擇安裝IBus中文拼音輸入法,在終端中運行命令:
 

sudo apt install ibus-pinyin

 

安裝完成后,還需要先配置下Ubuntu系統的中文語言包:
 

  1. 在桌面頂部的菜單欄,點擊左上方【Applications】->【Settings】->【Language Support】按鈕;
  2. 第一次會出現提示語言未全部安裝,然后點擊確認自動安裝,成功后會彈出【Language Support】界面;
  3. 完成后點擊下方的【Install/Remove Languages】按鈕,會彈出新的【Installed Languages】界面,勾選【Chinese(Simplified)】,即簡體中文,然后點擊下方的【Apply】按鈕;
  4. 最后在【Keyboard input method system】選項選擇【IBus】。

 
description

 

設置完中文語言包后,進入IBus輸入法設置:

 

  1. 在菜單欄左上方點擊【Applications】->【Settings】->【IBus Preferences】選項;
  2. 第一次會提示IBus-Daemon尚未啟動,點擊【Yes】按鈕進行安裝,成功后菜單欄右上角出現一個語言圖標,並且彈出【IBus Preferences】界面;

description
 

  1. 進入【Input Method】界面,點擊【Add】來添加中文輸入法:選擇【Chinese】->【Pinyin】;

description

 

  1. 鼠標右鍵點擊菜單欄上的語言圖標【Restart】按鈕來重啟;

description

 

  1. 然后再次左鍵點擊,點擊【Chines-Pinyin】就可以輸入了。此時語言圖標也變成“拼”字;

description

 

  1. 打開一個編輯器或瀏覽器,可以看到我們此時輸入的已經是中文拼音。

description
 

 

安裝Visual Studio Code

 
既然要寫程序那就還需要一套IDE工具,同樣這里我們使用vn.py官方推薦的Visual Studio Code(VSCode),作為微軟出品的輕量級代碼編輯器,在Linux下的安裝和使用也同樣非常方便。

 

打開Visual Studio Code的官網:https://code.visualstudio.com/

 
description

 

在官網首頁點擊下載.deb版本:

 
description

 

Ubuntu下的deb格式安裝包,需要用使用dpkg命令來安裝。進入下載文件所在的目錄/root/Downloads,鼠標在空白處右鍵點擊【Open Terminal Here】進入終端:

 
description

 

輸入下面命令安裝:
 

sudo dpkg -i code_1.37.0-1565227985_amd64.deb

 
description
 

安裝完成后會發現VSCode不能正常啟動,因為Xfce和VSCode的默認設置存在兼容性問題,需要手動配置,在終端中運行下面命令:

 

sudo sed -i 's/BIG-REQUESTS/_IG-REQUESTS/' /usr/lib/x86_64-linux-gnu/libxcb.so.1

 

再次嘗試啟動VSCode,已經可以正常打開運行,注意上述命令輸入運行后界面沒有任何輸出。

 
 

安裝Python3.7

 

Ubuntu 18.04系統中內置了Python 2.7和3.6,並且輸入python命令時默認啟動的是Python2.7。

 
description

 

但v2.0版本的vn.py則是基於Python 3.7,如果安裝新的Python 3.7版本,則需要把新安裝的Python 3.7設置為系統默認的Python環境,同時將pip命令也指向Python 3.7的版本。
 

手動進行上述命令的重新定向容易導致各種問題,所以這里我們選擇使用Minconda(Python 3.7 64位)。作為最有名的Python科學計算發行版本Anaconda的輕量小弟,安裝完成后會自動設置其內部的Python 3.7為系統默認環境。
 

打開Minconda官網,選擇【Linux】系統的Python 3.7【64-bit】版本下載:

 
description

 

下載完成后,進入文件所在目錄/root/Downloads可以看到.sh格式的Miniconda安裝包,鼠標在空白處右鍵,點擊【Open Teminal Here】進入終端,然后輸入命令進行安裝:

 

bash Miniconda3-latest-Linux-x86_64.sh

 
description

 

安裝完畢后,在終端運行Python,可以看到當前的版本已經變成Python 3.7:

 
description

 

折騰至此,終於完成我們的目標:支持遠程圖形桌面的阿里雲Ubuntu量化交易服務器~~未來Linux使用熟練后,也同樣可以選擇關閉圖形界面,以純命令行的形式來運行vn.py的自動交易功能。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM