PyCharm遠程調試服務器python代碼

pycharm上開發python代碼爽的一批,可是寫好的代碼要放在遠程訓練服務器上才跑的起來,pycharm Professional版本的Deployment提供了遠程調試功能。

 

對於沒有公網IP的遠程訓練服務器,需要先配置端口轉發,這裏介紹兩種端口轉發方式。

一、端口轉發

端口轉發姿勢一:使用natapp的免費隧道(公網可訪問,危險係數⭐⭐⭐⭐⭐,不推薦使用)

0、在遠程服務器上開啓sftp服務

1、登錄https://natapp.cn/ 註冊賬號,之後選擇購買免費隧道,隧道協議選擇TCP,本地端口22,購買後可以拿到authtoken。

2、下載natapp和config.ini 放到遠程訓練服務器/usr/local/natapp路徑下,在config.ini中添加authtoken。

3、添加執行權限

chmod +x natapp

4、./natapp 運行,運行後,可以看到轉發後的穿透地址

 

端口轉發姿勢二:ssh借道有(辦)公網IP的機器((辦)公網可訪問,風險自行評估)

0、公司給配置了一臺Ubuntu系統的臺式機器A,開發時想用自己的Windows筆記本B,把遠程CentOS訓練服務器記爲C

1、首先需要修改臺式機A上的ssh配置文件,如果不修改配置的話,將只有機器A可以訪問訓練服務器C。

$ sudo vim /etc/ssh/sshd_config

添加:

GatewayPorts yes
PasswordAuthentication yes

然後重啓機器A的sshd服務使上述配置生效。

$ sudo systemctl restart sshd

2、在訓練服務器C上向機器A主動建立SSH連接,轉發訓練服務器C的22號端口

3、用ssh命令轉發端口,ssh -NTf -R 轉發端口號:localhost:22 機器A的用戶名@機器A的IP

ssh -NTf -R 2333:127.0.0.1:22 [email protected]*.25*

輸入密碼後就在後臺運行了

4、驗證

在機器B上

ssh [email protected]*.25*

登陸上的話證明建立成功了

5、理論上,A和B可以是同一臺機器,也就是C可以直接把端口轉發給有pycharm的開發機器。不過由於我的開發機上下班會帶着移動,移動過程中SSH不能保持長連接,經常要重新配置IP,所以選擇了用辦公室的臺式機中轉。

 

二、遠程調試

0、機器B上安裝PyCharm Professional版本

1、PyCharm ->Tools ->Depolyment ->configuration 配置如下

2、測試一下是否能夠連接到服務器,如果還是無法連接到遠程服務器的話,可以輸入命令:ls -l /etc/ssh ,看看這個文件夾下的文件權限是什麼,如果不是600,運行命令chmod 600 /etc/ssh/* #運行命令後重啓ssh即可

3、這樣,Deployment的配置就完成了。這個配置完成了之後,其實是相當於配置了一個ftp工具連接到服務器上,從而可以查看和修改服務器上的文件。可以通過Tools > Deplotment > Browse Remote Host來打開相應的RemoteHost面板,這個面板顯示的就是服務器上的文件,顯示的範圍是你在Deployment中的Connection選項卡下配置的Root path路徑下的文件及文件夾。

可以直接在RemoteHost面板裏雙擊某個文件並且直接進行編輯。雙擊某個文件後你可以看到編輯區域的頂部有一個橫條,並且橫條的右邊有三各按鈕,分別是比較,撤銷和上傳操作。你在這裏面編輯文件之後,可以直接點擊上傳按鈕,就會提交到服務器了。但不推薦這樣編輯代碼,因爲整個項目實際上並不在本地。

4、要把整個項目同步到本地,可以打開Deployment->configuration->Mapping選項卡,更改一下本地路徑和遠程路徑,本地路徑應爲新建的空文件夾,我們要把遠程路徑下的代碼同步到這個本地空文件夾

5、設置代碼自動在服務器上進行同步

tools->Deployment->Options

以下文件(夾)默認不自動同步

.svn;.cvs;.idea;.DS_Store;.git;.hg;*.hprof;*.pyc

可以通過tools->Deployment->Options修改

6、在Pycharm->File->Settings->Project->Project Interpreter中可以使用同樣的訪問地址添加遠程服務器上的Python解釋器

選擇解釋器在服務器上的路徑

爲項目配置解釋器

配置完成之後,試運行,可以看到用的是服務器上的解釋器啦

 

ENJOY~!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章