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~!

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