当前位置:   article > 正文

10分钟就能搭建远程开发环境?你早点怎么不出现(#`n´)!_远程硬件开发环境

远程硬件开发环境

疫情严重的日子里,人们对远程办公的渴望达到了巅峰。但在经历了多次试错与崩溃后,才发现能有一款与自己合拍的远程编程工具是多么的重要啊!

很多我们花费半天时间的事情,其实也许10分钟就能轻松搞定。本文就来为大家介绍3个 能在10分钟内搭建起来的强大又好用的远程开发环境 **!包含的编程工具有:Jupytercode-server以及PyCharm**。

虽然复工大潮正在逐步进行中,但仍然值得收藏!

毕竟手中有粮,才能心中不慌嘛!

Jupyter   

Jupyter是一个基于Python的交互式笔记本开发环境,一般在数据分析和算法研究领用的比较广。它最早叫做Jupyetr Notebook,现在功能进行了升级和改版,称作JupyterLab。

Jupyter强大得犹如万花筒,不光支持几十种编程语言的运行,并且还集成了Markdown语法,能够助你实现“文学编程”。

凭借方便的魔术命令和丰富的扩展插件,Jupyter犹如万花筒般有着非常多样化的功能,除了可以作为开发环境,Jupyter还能用来做幻灯片、演示教学以及分享笔记等等。

所以能把Jupyter用好,那真的是如同有神兵在手!

以Linux环境为例,Jupyter的部署主要有下面几个步骤:

第一步, 安装Jupyter

主要有两种方式:

①可以在Python环境下通过pip的命令 pip install --user jupyterlab 来安装。②可以直接安装Anaconda这个工具。

第二步,生成配置

在命令行中执行jupyter notebook命令生成配置文件。

$ jupyter lab --generate-config

    第三步,进行加密

    执行下面的Python命令生成加密过密码串,

    $ python -c "from notebook.auth import passwd; print(passwd())"
    Enter password:
    Verify password:
    sha1:40b227e347eb:2a3c56620f990edfe3aecd21fbf62e038c3f92b3
    • 1
    • 2
    • 3

    期间需要大家输入并确认自己的密码,之后就会输出加密后的密码,复制其中 :  后面的所有内容,然后切换到 ~/.jupyter 目录,利用openssl命令生成Https的秘钥和证书文件。

    注意,这种方式生成的证书是本地的,所以浏览器在访问Jupyter的时候会有警告,大家可以不用理会,点解接受或者同意就可以了。

    $ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mykey.key -out mycert.pem

      第四步,修改配置

      配置文件~/.jupyter/jupyter_notebook_config.py中的项目很多,我们这里只列出其中比较重要的几个配置项,其它的可根据需要自行进行修改设置。

      # *或者'0.0.0.0'表示开放本机所有IP地址的Jupyter服务,也可以指定本机某个IP地址
       c.NotebookApp.ip = '*'
       # 指定Jupyter的工作目录
       c.NotebookApp.notebook_dir = u'C:/Users/zzl-128/Desktop/tmp/' 
       # 默认是否打开浏览器
       c.NotebookApp.open_browser = False
       # 加密后的密码
       c.NotebookApp.password = u'sha1:40b227e347eb:2a3c56620f990edfe3aecd21fbf62e038c3f92b3'
       # 证书
      c.NotebookApp.certfile = u'C:/Users/zzl-128/.jupyter/mycert.pem'
      # 秘钥
      c.NotebookApp.keyfile = u'C:/Users/zzl-128/.jupyter/mykey.key'
      # 所用端口号
      c.NotebookApp.port = 8888
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13

      第五步 启动服务

      先使用端口映射将Jupyter服务的端口(如8888)映射到公网上,

      $ nohup jupyter lab &

        随后使用命令启动Jupyter服务,等上几秒钟在外网浏览器中输入 https://DDNS设置的域名:映射出来的端口号  ,不出意外的话就能连接上内网的Jupyter服务了,或者通过Jupyter中的终端工具来操作内网中的主机,或者使用内网的工程环境进行项目开发都是很方便的,由于我们做了加密,所以数据传输也是比较安全可靠的。

        code-server远程   

        说起code-server这个东东,知道的估计不多,但如果说起VScode,想必在IT圈无人不知无人不晓。

        VScode是一款轻量级的文本编辑器,由于配置灵活以及插件海量的特点,可以搭建很多种语言的项目开发环境,所以深受大家的喜爱,被称为世界上最强的编辑器!

        后来有“好事者”觉得不过瘾,搞了一个叫code-server的项目——把VScode搬上浏览器。

        没错,我们可以把code-server理解为Web服务版的VScode

        它和Jupyter类似,可以在浏览器中打开和使用,但相比而言,code-server远程的搭建更加简单一些:

        第一步,下载code-server

        可以在如下地址选择最新的code-server安装包(Linux环境)并下载解压,解压的文件中除code-server之外可以都删掉。

        https://github.com/cdr/code-server/releases

        第二步,准备Linux环境

        可以直接在Windows10的应用商店中安装一个Linux子系统,稳妥起见建议选择Ubuntu发行版。

        第三步,启动服务

        同样先使用端口映射将code-server服务的端口(如9999)映射到公网上,然后通过Windows Terminal打开子系统的命令行,并切换到code-server文件所在的目录。

        然后执行启动命令。

        $ nohup ./code-server --cert mycert.pem --cert-key mykey.key --host 0.0.0.0 --auth password --port 9999 &

          各选项参数的含义和前面的Jupyter比较类似,这里不再赘述。(有兴趣的同学可以通过 ./code-server --help 来查看其所有参数的使用说明。)

          最后,和Jupyter的远程一样,最后在外网浏览器中输入  https://DDNS设置的域名:映射出来的端口号  就可以尽情的享受Web上的VSCode了。

          PyCharm远程  

          PyCharm是目前Python语言最专业的集成开发环境,主针对Python开发的功能非常全面,通过插件也可以实现其它个别语言的开发,但没办法和上面两位相比。

          PyCharm的远程实际上代表了一类远程方式——ssh远程

          Java的IDAE、VSCode都可以按照这个思路来进行远程开发,其中的原理是相通的,这里以最具代表性的PyCharm为例来讲一讲如何通过ssh实现远程开发。

          远程开发要解决两个问题:①如何使用远程服务端的语言环境,也就是Python的解释器;②本地代码怎样如何传到服务端。在PyCharm中这两个问题都可以通过配置来实现。

          第一步, 开启ssh服务

          安装ssh服务并开启(网上教程非常的多,不会的话可自行搜索哦),然后配置公网IP并通过端口映射将ssh服务映射出去。

          第二步,设置远程解释器

          打开Pycharm,从菜单栏中依次选择 File → Settings → Project Interpreter 进入到解释器设置界面。

          点击Add选项并在弹出的面板中选择SSH Interpreter,依次输入远程地址和用户名密码、选择远程解释器路径就OK了;

          第三步, 设置远程文件同步

          从菜单栏中依次选择 Tools → Deployment →  Configuration ,进入到配置界面。

          点击添加(+)选择SFTP,

          根据自己的情况填写 Connection *和 Mappings *两个面板的信息,最后一确认也就OK了。

          如果要觉得每次上传代码很麻烦,可以勾选 Tools → Deployment → Automatic Upload 实现自动上传。如此之后你就可以实现在本地开心地编码,而在远程简单的运行和调试啦!

          上面讲的三个远程工具和方法都是用来进行开发或者测试的,只会有一些少量的数据传输,所以相对于直接使用TeamViewer等远程桌面工具而言,可以极大限度的减少网络带宽占用!

          此外,远程环境大家是可以共享共用的,这在一定程度上也避免了多套重复环境的搭建,对于公司而言,在提高了工作效率的同时也节省了系统资源。

          不过,需要注意的是,上文讲述的这些步骤都是在使用量不大的情况下进行的,如果有成百上千个甚至更多的人在同时使用的话,那性能上可能就扛不住了,这个时候建议使用dockerNginx等工具将这些服务搭建成集群的形式以供大家使用。

          本文作者:

          博海,一个沉迷于技术并且追求艺术的pythoner,欢迎与我交流(微信号:bohy_i)。


          更多科技资讯请见微信公众号:博文视点Broadview(微信号:bvbooks)

          声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/153332
          推荐阅读
          相关标签
            

          闽ICP备14008679号