做網(wǎng)站不掙錢鎮(zhèn)江優(yōu)化推廣
文章目錄
- 一、前期準備
- 1. 檢查IDE版本是否支持
- 2. 服務(wù)器需要開通SSH服務(wù)
- 二、Pycharm本地鏈接服務(wù)器測試
- 1. 配置服務(wù)器python解釋器
- 三、使用內(nèi)網(wǎng)穿透實現(xiàn)異地鏈接服務(wù)器開發(fā)
- 1. 服務(wù)器安裝Cpolar
- 2. 創(chuàng)建遠程連接公網(wǎng)地址
- 四、使用固定TCP地址遠程開發(fā)
本文主要介紹如何使用Pycharm進行遠程開發(fā),并實現(xiàn)在家遠程與公司服務(wù)器資源同步。
新版本Jetbrains系列開發(fā)IDE(IntelliJ IDEA,PyCharm,GoLand)等都支持遠程使用服務(wù)器編譯,并且可以通過SFTP同步本地與服務(wù)器項目代碼。
這樣做的好處是**我們只要連接上服務(wù)器就能開始干活兒,不用折騰環(huán)境,**不占用個人筆記本資源,最重要的是不用忍受筆記本的爛風扇噪音。
接下來我來教大家如何配置實現(xiàn)在家遠程利用公司服務(wù)器資源開發(fā):
一、前期準備
1. 檢查IDE版本是否支持
本文以Pycharm舉例,IntelliJ IDEA操作方式相同。
確認您安裝的PyCharm是社區(qū)版還是專業(yè)版,只有專業(yè)版才支持遠程開發(fā)功能。
在這里查看軟件版本:工具欄help->about
顯示 Professional Edition,即為專業(yè)版。
2. 服務(wù)器需要開通SSH服務(wù)
執(zhí)行:
sudo systemctl status sshd
active表示已開通
二、Pycharm本地鏈接服務(wù)器測試
1. 配置服務(wù)器python解釋器
找到工具欄的 [File] -> [Settings],打開以下設(shè)置彈窗,搜索interpreter找到[Python interpreter]設(shè)置項
點擊Add Interpreter,選擇On SSH
將實例SSH指令中的Host、Port與Username進行匹配和填寫(Username均為root,Host和Port查看自己實例的SSH指令)
輸入服務(wù)器登陸密碼:
繼續(xù)下一步,直到看到 completed 字樣,再點下一步。
選擇System Interpreter(選擇服務(wù)器的代碼解釋器),選擇服務(wù)器的遠程Python解釋器路徑(如果您安裝了其他Python或虛擬環(huán)境則根據(jù)實際情況填寫)
配置項目路徑,意思是本地項目和遠程實例中的哪個目錄進行關(guān)聯(lián),這里設(shè)置為我演示項目的目錄(不建議使用默認的/tmp目錄)
選擇好自定義同步項目文件夾,點擊文件夾圖標:
彈窗內(nèi)左側(cè)為本地項目路徑,右側(cè)為服務(wù)器項目路徑,可以自行修改:
我修改的遠程路徑為:/root/projects/pythonlearn,點 ok
檢查一下遠程服務(wù)器的解釋器和同步路徑,點 Create
如果配置均無誤PyCharm會配置一下,之后我們在本機項目最下邊可以看到 SFTP 字樣和服務(wù)器信息,說明我們的配置成功,此時我們不光使用服務(wù)器編譯代碼,項目還能與服務(wù)器同步。
我鏈接服務(wù)器后同步出的數(shù)據(jù)如下:
此處我們在本地測試成功,但是這樣配置的意義就是可以實現(xiàn)異地使用服務(wù)器的資源開發(fā),這里我們**需要將SSH時使用的本地IP映射為公網(wǎng)TCP地址,才能實現(xiàn)異地開發(fā)。**這樣我們只需本地編寫代碼,遠程到服務(wù)器編譯并同步代碼。
三、使用內(nèi)網(wǎng)穿透實現(xiàn)異地鏈接服務(wù)器開發(fā)
1. 服務(wù)器安裝Cpolar
本地測試完成后,我們需要在服務(wù)器上安裝cpolar內(nèi)網(wǎng)穿透工具,通過cpolar 轉(zhuǎn)發(fā)本地端口映射的公網(wǎng)地址,我們可以很容易實現(xiàn)遠程訪問。下面是安裝cpolar步驟:
cpolar官網(wǎng)地址: https://www.cpolar.com
- 使用一鍵腳本安裝命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
- 向系統(tǒng)添加服務(wù)
sudo systemctl enable cpolar
- 啟動cpolar服務(wù)
sudo systemctl start cpolar
cpolar安裝成功后,在外部瀏覽器上訪問Linux 的9200端口即:【http://服務(wù)器的局域網(wǎng)ip:9200】,使用cpolar賬號登錄,登錄后即可看到cpolar web 配置界面,結(jié)下來在web 管理界面配置即可
Ubuntu18及Centos7之前的系統(tǒng),需要使用手動安裝Cpolar,詳見:
Linux手動安裝Cpolar方法 - cpolar 極點云
2. 創(chuàng)建遠程連接公網(wǎng)地址
登錄cpolar web UI管理界面后,點擊左側(cè)儀表盤的隧道管理——創(chuàng)建隧道:
- 隧道名稱:可自定義,注意不要與已有的隧道名稱重復
- 協(xié)議:tcp
- 本地地址:22 (本地ssh默認端口)
- 域名類型:臨時隨機TCP端口
- 地區(qū):選擇China
點擊創(chuàng)建
創(chuàng)建成功后,打開左側(cè)在線隧道列表,查看剛剛創(chuàng)建隧道后生成的tcp地址,這個地址就是公網(wǎng)連接地址,接下來使用這個地址:1.tcp.cpolar.cn:20747 ,替換我們的本地地址。
我們再次回到編譯器設(shè)置界面, 點擊Add Interpreter,選擇On SSH
找到[Python interpreter]設(shè)置項,選擇Existing,修改Python編譯器地址:
選擇后邊是 agent 這個 sever選項
點 管理
修改本地地址為公網(wǎng)TCP地址,修改端口號。
修改為:
點擊Apply部署,點 ok,自動跳轉(zhuǎn)為:
點 ok
輸入服務(wù)器登陸密碼:
配置完畢,點Next
我們可以看到已經(jīng)鏈接成功,可以看到編譯器路徑和項目保存路徑,點 create:
等待一會加載:
此時Python編譯器處已經(jīng)顯示我們配置的公網(wǎng)地址,點Apply,就配置完成。
項目頁面左下角已經(jīng)顯示我們編譯器的路徑,此時我們編譯代碼使用的就是服務(wù)器編譯器,運行完畢后結(jié)果返回至Pycharm。
小結(jié)
為了方便演示,我們在前述過程中使用了Cpolar生成的TCP地址隧道,其公網(wǎng)地址是隨機生成的。
這種隨機地址的優(yōu)勢在于建立速度快,可以立即使用。然而,它的缺點是網(wǎng)址是隨機生成,這個地址在24小時內(nèi)會發(fā)生隨機變化,更適合于臨時使用。
我一般會使用固定TCP域名,原因是我希望每天打開開發(fā)工具直接上手工作,不用這配置一下那配置一下,接下來我教大家如何固定TCP地址:
四、使用固定TCP地址遠程開發(fā)
訪問官網(wǎng)控制面板,保留TCP:
Cpolar - secure introspectable tunnels to localhost
保留一個固定tcp地址,登錄cpolar官網(wǎng),點擊左側(cè)的預留,找到保留的tcp地址,為遠程服務(wù)器連接保留一個固定tcp地址:
- 地區(qū):選擇China VIP / China VIP Top。
- 描述:即備注,可自定義
點擊保留
地址保留成功后,系統(tǒng)會生成相應(yīng)的固定公網(wǎng)地址,將其復制下來:
打開cpolar web ui管理界面,點擊左側(cè)儀表盤的隧道管理——隧道列表,找到我們上面創(chuàng)建的TCP隧道,點擊編輯
選擇 固定TCP端口:
修改隧道信息,將保留成功的固定tcp地址配置到隧道中
- 端口類型:修改為固定TCP端口
- 預留的tcp地址:復制粘貼官網(wǎng)保留成功的地址
點擊更新
隧道更新成功后,點擊左側(cè)儀表盤的狀態(tài)——在線隧道列表,可以看到公網(wǎng)地址已經(jīng)更新成為了固定TCP地址。
我們?nèi)匀恢貜椭暗牟僮?#xff0c;將原來的隨機TCP地址替換為固定TCP地址:
找到工具欄的 [File] -> [Settings],選擇Existing,修改Python編譯器地址:
按照如下方法填寫我們固定好的TCP地址和端口號:
點擊Apply后,點 ok
點 Next
點 ok
輸入服務(wù)器登陸密碼
配置完畢,點 Next。
這里我們看到,已經(jīng)自動查到我們服務(wù)器中編譯器路徑和項目保存路徑;點 create。
點Apply部署,點 ok
此時我們可以看到左下角已經(jīng)顯示使用我們固定地址的Python編譯器:
本教程最終效果已經(jīng)達成。我們已經(jīng)能夠使用永久固定地址來遠程操作服務(wù)器中的Python編譯器并將運行結(jié)果返回到Pycharm,代碼修改還能通過這個TCP地址同步,這樣我們就可在任意地點遠程使用服務(wù)器的強大算力來編譯各種復雜的項目而不占用本地資源!