雲端小白的電子機養殖計畫 - 起code service

本系列文章預計規劃3~4篇,講述怎麼在雲端佈置訓練環境,如果你也興趣投入這個領域,就來一起學習,一起逐一攻破各個知識點吧

Even Pan
May 19, 2022

我們已經買好虛擬機了,也設定好使用者,那接下來可以做什麼?

通常工程師出手通常是為了解決某個需求

就我而言我覺得要ssh連線到虛擬機,並且只能透過指令介面執行很麻煩

我希望能舒適的起一個 vscode 介面(應該大部分的工程師都會熟悉的介面)並且讓我的 ipad 也能透過網頁寫 code,想打 code 就打 code ,想執行就執行。再方便不過了

於是,我們今天的工作就是部署 code server 雲端服務,快來跟我一起架設這個有趣的服務吧

今天的目標就是透過網頁起一個以下的服務

今天執行的內容其實非常簡單,只要幾行程式碼就可以搞定。

於是我會將教學分成兩個區域:

  • 簡易版: 開箱即用的code 照著做準沒錯讓你滿滿成就感
  • 文件閱讀版: 帶你深入文件,了解不同方法啟動的優劣與限制

簡易版

以下內容截錄自code-server專案

https://github.com/coder/code-server

在本機開啟terminal ,透過ssh進到server

貼上以下的code

修改config

預設的127.0.0.1會讓這個服務只有在本地可以看到,由於你面前的電腦(地端)不是我們正在操作的機器(Linode server的local),因此你看不到是正常的

要解決這個問題先暫時改成0.0.0.0

然後為了方便測是我先把密碼改成8888888,或你可以記錄下原本裡面預設的密碼,等等登入的時候會用到

我們先把設定改成上面這樣

重啟服務

結束

這時候根據你剛剛config.yaml透出的port號 以及密碼 就可以把在網頁執行你的code-server了

密碼填入剛剛我們在config設定的密碼 88888888在按下藍色的submit就可以連線了

接下來就順利登入了,進去建議直接改寫掉Color theme,身為深色系強迫症患者才能真正舒服工作

now we are talking

細心的人可能會發現: [可是伊凡 你最上面是帥帥的透過網址連線,而且是https 聽說連線的安全性比較有保障,怎麼我們是醜醜的數字組合來連線。]

這些設定需要用到DNS以及買網域,就讓我們在後續的文章娓娓道來啦~

Photo by Karsten Würth on Unsplash

[硬核預備] 如果你也是喜歡突破舒適圈的朋友,就讓我們一起看看工程師怎麼讀文件吧!

為什麼會需要文件閱讀版呢,對於初心者在透過關鍵字搜尋到理想的專案時,往往看不懂文件不知道怎麼啟動,就錯過了複用別人專案的機會,只好自己重新造輪子。 問高手怎麼做往往就被丟一句 看README 或是 文件已經很清楚了。 這巨大的鴻溝也是我開始工作幾個月後,嘔心瀝血才成長來的經驗。我決定不藏私跟大家分享怎麼掃略這些文件,找到關鍵需要執行的地方。如果有興趣跟隨工程師思路應用開源專案,大家可以一起看第二部分。

首先我們一樣從github開始https://github.com/coder/code-server

可以看到Getting started的第二點, manually installing code-server,給他勇敢點下去

你就會看到上述的這個連結

這個連結就是原廠文件

接著你就會看到各種不同的作業系統應該要怎麼安裝才對

我們依據server的型態採用Debian, Ubuntu的選項,具體安裝選項你可以依據實際部署的server採用。

點下上方綠色的字後,被跳轉到下方的Debian, Ubuntu區域

跑完這個檔案跟上方簡易版本一樣,需要用vim調整一下config.yaml 中的ip與密碼,並且重啟服務,如此一來就可以運作了

對於上方講的IP改domain name以及https的服務,就容我們下一篇再說吧

我花了大量的時間做功課並且問了對這些技術熟悉的朋友後才實現出來

繞了一大圈最後才發現文件裡面就有提到,而且是阻力非常低的快速配置好方法。 有興趣的夥伴們也可以先行研究一下,連結我留在下方,祝各位可以測試成功,走一點彎路最後研究出來會讓人成就感滿滿並且印象深刻。鼓勵你們也動手一起玩玩,讓好文件帶你用最輕鬆的方式實踐出技術。

https://coder.com/docs/code-server/latest/guide#using-lets-encrypt-with-nginx

--

--

Even Pan
Even Pan

Written by Even Pan

Technical blogger who like to held hands-on ml workshops. Fast-paced learner and highly interested in the latest technologies.

No responses yet