xshell使用ssh方式登录远程服务器访问(localhost或者127.0.0.1)http:8080的网页,以联邦学习的fateboard为例

引言:远程连接服务器时,需要使用localhost:8080端口,比如使用联邦学习的fateboard,深度学习的jupyter notebook和tensorboard等。因为服务器一般是linux操作系统,没有图形来显示,因此应当使用本地(一般为windows操作系统)的浏览器来访问远程的8080端口。在这个过程中遇到不少坑以此记录。

目录

一. 选择合适的云服务器

二. 开放服务器的8080端口

三. xhsell连接


一. 选择合适的云服务器

  1. 想要连接云服务器的http服务的8080端口,首先服务器要开放这个端口。上服务器的实例控制台,可以发现一般都会开启TCP的22,21,20,443等常用端口,以实现文件传输、连接请求等服务。然而一般并没有开启http的8080端口,要我们手动登录服务器官网登录个人控制台,在实例中设置。一般租的服务器默认的关闭防火墙的(如下图),防火墙功能由控制台里面的安全组控制,通过安全组设置自己要开放的端口。
  2. 为什么放弃了腾讯云服务器?我发现腾讯云服务器改了端口似乎没用,后来上网查一下发现大家也是这样,首先是去腾讯的“云+社区”提问,发现有人说往安全组添加规则即可,下面回复说没用,点赞还较多。

 

 

      除此以外还有一篇博客总结了他在使用腾讯云服务器时遇到的坑:https://www.cnblogs.com/zeussbook/p/10191051.html,博主表示使用腾讯服务器的安全组设置8080端口时的问题(和我遇到的好像。。。),并说使用说明太乱了(同感)。我感到有一个大坑,索性换了服务器,从而用阿里云服务器。

      3.使用阿里服务器ECS安全组说明很清楚:https://help.aliyun.com/document_detail/25471.html?spm=a2c4g.11186623.6.853.7e99201aX9UESa。尤其下面这句话非常重要:

         之前在腾讯云服务器没看到这个,而且上述博客也说明了腾讯云服务器设置后还过一会。所以我访问localhost:8080老是失败(他是使用Tomcat)。

二. 开放服务器的8080端口

          按照https://help.aliyun.com/document_detail/25471.html?spm=a2c4g.11186623.6.853. 7e99201aX9UESa更新安全组规则即可。

三. xhsell连接

        

  1. 有些博主使用在本地xshell界面中输入ssh username@address_of_remote -L 127.0.0.1:1234:127.0.0.1:8888来绑定服务器端口(https://www.dazhuanlan.com/2020/01/06/5e1290bee6149/)。实际上,上述方式就是在建立隧道,即把访问本地的端口变成访问服务器上的端口。而我们就是想要在本地浏览器来访问服务器的8080端口来调试(下面以使用fateboard为例子)
  2. 使用xshell隧道功能,右键自己的会话->属性->连接->ssh->隧道,添加规则:

          源主机指本地机器,目标主机指云服务器,含义就是如果在本地浏览器输入localhost:8080,就会访问到服务器的localhost:8080。其中,本地的端口值可以自行设置其他可用值(如1234)。点击连接,登陆上服务器。点击查看->隧道窗格,下面就可以出现渠道和转移规则(这里查了好久,看其他教程都是直接说,原本都不知道在这里,我还以为我的版本不对)

         状态显示打开,说明连接成功

     3. 服务器那边端口8080开放了,本地xshell连接后,就可以使用本地浏览器访问远程的localhost:8080了。不同的的board的设置还有有些不同,tensrboard需要在服务器上执行一条指令。以下主要讲解fateboard(以单机版本为例子),按官网执行:https://github.com/FederatedAI/FATE/tree/master/standalone-deploy

        

#Get code
FATE $ wget https://webank-ai-1251170195.cos.ap-guangzhou.myqcloud.com/docker_standalone-fate-1.3.0.tar.gz
FATE $tar -xvf docker_standalone-fate-1.3.0.tar.gz

#Execute the command
FATE $ cd docker_standalone-fate-1.3.0
FATE $ bash install_standalone_docker.sh

#Validation results
FATE $ CONTAINER_ID=`docker ps -aqf "name=fate_python"`
FATE $ docker exec -t -i ${CONTAINER_ID} bash

    执行到docker exec -t -i${CONTAINER_ID} bash后,目录变为:

   如果执行测试程序:bash ./federatedml/test/run_test.s 此时在浏览器执行localhost:8080只会出现fateboard面板,没有running的样例:

    实际上,测试样例没有使用fateboard。按照官网的例子,应该在fate#下进入examples/ federatedml-1.x-examples/,执行python quick_run.py。此时进入fateboard,查看成功:

          点击一个即可查看运行进度:

          注意:偶尔服务器繁忙时也会登不上。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值