每次开发Python项目时,对于所有Python开发人员来说,最枯燥的不是修改代码,而是实时将自己的代码上传至远程服务器,进行测试或者部署,本人最初开发也是这样,通过使用Xshell 5,WinSCP等工具对项目进行远程部署测试,每次都得花大量时间,对开发和部署来说,太过于繁琐,后来发现捷克公司开发的工具捷克JetBrainsPyCharm具有将Python项目自动部署到远程服务器的功能,为开发提供了很大的帮助。

这几种部署项目到远程服务器的操作方式,我为大家一一介绍:

Xshell 5

使用Xshell 5可以部署多种项目(Java,Python,脚本等)到远程服务器,具体操作如下:

首先需要将部署文件上传下载:

// 首先安装lrzsz

# yum -y install lrzsz

// 上传文件,执行命令rz,会跳出文件选择窗口,选择好文件,点击确认即可。

# rz

// 下载文件,执行命令sz

# sz

通过Xshell 5登录到远程服务器,执行rz命令将项目上传至远程服务器,然后在命令窗口通过命令启动项目,比如Java的web项目若要部署在linux服务器的tomcat下,需要将项目的war包上传至服务器Tomcat  webapp目录下或者jar包上传至指定  目录下,通过启动sh startup.sh、./startup.sh命令或者启动jar包命令等(不同项目启动方式不同),主要看你项目部署路径和部署方案,当重新部署的时候,需要通过sh shutdown.sh  、./shutdown.sh命令或者用ps -ef |grep java 获取Java进程号后通过killall -9 进程号,让Java项目停止运行,然后重新部署。

这种方案需要记得大多数linux命令,难度系数*****。

Xshell5+WinSCP

使用Xshell 5+WinSCP也可以部署多种项目(Java,Python,脚本等)到远程服务器,具体操作如下:

使用WinSCP将项目上传至远程服务器指定目录下,在通过Xshell 5命令窗口启动项目、停止或者重新启动,比如Java的web项目若要部署在linux服务器的tomcat下,需要将项目的war包上传至服务器Tomcat  webapp目录下或者jar包上传至指定  目录下,通过启动sh startup.sh、./startup.sh命令或者启动jar包命令等(不同项目启动方式不同),主要看你项目部署路径和部署方案,当重新部署的时候,需要通过sh shutdown.sh  、./shutdown.sh命令或者用ps -ef |grep java 获取Java进程号后通过killall -9 进程号,让Java项目停止运行,然后重新部署。通过操作命令即可完成操作,相对第一中更加容易理解,但操作过于复杂,建议新手使用!!!难度系数****。

JetBrainsPyCharm自动部署

JetBrainsPyCharm自动部署如下:
打开JetBrainsPyCharm点击Tools/Deployment/Configuration(或者File-Settings-Build,Execution,Deployment-Deployment都行),界面如下所示:

填写远程服务器信息,并测试远程服务器连接成功;

填写本地和远程服务器项目路径;

到这里我们就差最后一个环节;

点击File-Settings-Project,Project Interpreter,Add Remote;

最后点击Deployment Configuration选择开始配置的连接信息点击ok即可;

最后用JetBrains PyCharm打开项目,右键点击Deployment,Unpload to 配置名(或者Tools,Deployment,Unpload to),运行项目即可!!!

可能配置的时候有些复杂,但是如果你能配置好,测试部署方便很多 !!!

最后小编给大家几个很好用的命令,若项目无法运行时,可以的是通过ps -ef |grep Python查找自己运行项目的(可以根据项目名称)进程号,然后使用kill -9 进程号,杀掉自己项目运行的进程号使用killall -9 python 可以杀掉所有Python运行的进程(慎用),说不准你重新运行就可以了,记住这个是Python的哦,java的是通过ps -ef |grep java查找自己运行项目的(可以根据项目名称)进程号,然后使用kill -9 进程号,杀掉自己项目运行的进程号,或者ps -ef | grep java | grep -v grep |awk '{print $2}' | xargs -p kill -9杀掉所有Java进程,慎用!!!

最新JetBrainsPyCharm自动部署Python(Django,tornado等)项目至远程服务器的更多相关文章

  1. centos上发布部署python的tornado网站项目完整流程

    先说下大体上的做法,开发环境上要新弄一个 virtualenv的环境,在这个里面放你的开发调试,当然这个其实也不是必须的,但是这样会方便管理一些. 再在centos上也弄一个 virtualenv虚拟 ...

  2. nginx tomcat 自动部署python脚本【转】

    #!/usr/bin/env python #--coding:utf8-- import sys,subprocess,os,datetime,paramiko,re local_path='/ho ...

  3. IntelliJ IDEA自动部署项目至远程服务器与传统部署项目至远程服务器的区别

    每次开发Java项目时,对于所有Java开发人员来说,最枯燥的不是修改代码,而是实时将自己的代码上传至远程服务器,进行测试或者部署,本人最初开发也是这样,通过使用Xshell 5,WinSCP等工具对 ...

  4. Windows服务器Pyton辅助运维--01.自动Copy文件(文件夹)到远程服务器所在目录

    Windows服务器Pyton辅助运维 01.自动Copy文件(文件夹)到远程服务器所在目录 开发环境: u  Web服务器: Windows Server 2008 R2 SP1 IIS 7.5 u ...

  5. 部署web前端的react项目到linux服务器

    部署web前端的react项目到linux服务器 项目的目录结构 ``` ├─dlls #dlls编译后的问题 ├─doc #帮助文件入口 │ ├─src │ ├─apps #各个功能模块放在这里 │ ...

  6. 使用Nginx+uwsgi在亚马逊云服务器上部署python+django项目完整版(二)——部署配置及相关知识

    ---恢复内容开始--- 一.前提: 1.django项目文件已放置在云服务器上,配置好运行环境,可正常运行 2.云服务器可正常连接 二.相关知识 1.python manage.py runserv ...

  7. 部署Eclipse中的Web项目到Tomcat服务器运行

    用Eclipse开发Web项目时,可以通过Tomcat服务器运行Web项目,此时Web项目被部署在[WorkSpace]\.metadata\.plugins\org.eclipse.wst.serv ...

  8. Jenkins部署码云SpringBoot项目到远程服务器

    本文是上一篇文章的后续,上一篇只是利用Jenkins部署项目到本地,并启动,本文是将项目部署到远程服务器并执行. 1.环境准备 1.1 安装插件 上一篇文章已经介绍了需要安装的应用及插件,这一篇还需要 ...

  9. Python—实现ssh客户端(连接远程服务器)

    paramiko是一个基于SSH用于连接远程服务器并执行相关操作(SSHClient和SFTPClinet,即一个是远程连接,一个是上传下载服务),使用该模块可以对远程服务器进行命令或文件操作,值得一 ...

随机推荐

  1. 游戏服务器和Web服务器的区别

    用Go语言写游戏服务器也有一个多月了,也能够明显的感受到两者的区别.这篇文章就是想具体的聊聊其中的区别.当然,在了解区别之间,我们先简单的了解一下Go语言本身. 1. Go语言的特点 Go语言跟其他的 ...

  2. vue路由跳转的方式

    vue路由跳转有四种方式 1. router-link 2. this.$router.push() (函数里面调用) 3. this.$router.replace() (用法同push) 4. t ...

  3. Kubernetes的RBAC是啥

    RBAC: Role-Based Access Control,基于角色的权限控制,有以下三种角色 Role:角色,它其实是一组规则,定义了一组API对象的操作权限 Subject:被作用者,可以是人 ...

  4. 02-15 Logistic回归(鸢尾花分类)

    目录 Logistic回归(鸢尾花分类) 一.导入模块 二.获取数据 三.构建决策边界 四.训练模型 4.1 C参数与权重系数的关系 五.可视化 更新.更全的<机器学习>的更新网站,更有p ...

  5. Switch-case语句的应用

    /** switch语句有关规则    • switch(表达式)中表达式的值必须是下述几种类型之一:byte,short, char,int,枚举 (jdk 5.0),String (jdk 7.0 ...

  6. 谈linux服务器运维需要掌握的技能

    一.linux基础 包括对Linux整体的理解/使用和基本命令 二.运维的命令 运维相关的工具(命令) 三.基础服务 LAMP或LNMP :Apache/Nginx,MySQL,PHP/Python/ ...

  7. selenium3与Python3实战 web自动化测试框架 ☝☝☝

    selenium3与Python3实战 web自动化测试框架 selenium3与Python3实战 web自动化测试框架 学习 教程 一.环境搭建 1.selenium环境搭建 Client: py ...

  8. 域渗透基础之Windows 2012创建域控制器

    创建备份域控制器 这里就拿windows 2012 R2来当备份域控 如果一个域内有多个域控制器,可以有如下好处. 提高用户登录的效率:如果同时有多台域控制器对客户提供服务,可以分担审核用户登录身份( ...

  9. [CF722C] Destroying Array

    C. Destroying Array time limit per test 1 second memory limit per test 256 megabytes input standard ...

  10. [BZOJ1116] CLO

    1116: [POI2008]CLO Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1311  Solved: 709[Submit][Status] ...