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

再在centos上也弄一个 virtualenv虚拟环境。然后把开发环境上的代码传到centos,开启虚拟环境,拉引入的库,就可以启动了。如果有好方法管理你程序里的引用库,

最前面的步骤也可以不做,直接在IDE比如pychorm里开发就行了。

这里还是按Windows也弄一个 virtualenv环境的开始写。

  • 开发环境:Windows7(8/10应该一样)、python3.6、tornado(版本号不是很敏感)
  1. 安装 pip install virtualenv
  2. 检测安装(选)  virtualenv --version
  3. 创建虚拟环境工作空间 virtualenv venv
    后面这个venv参数是空间名。
  4. 启用空间 venv\Scripts\activate

    补充一下退出是 deactivate.bat

  5. 把你整个python项目粘一份到Scripts里,创建好空间后,你启动cmd位置的目录会有对应名字(如这里venv)文件夹。
  6. 安装基础依赖
    pip install requirements
    pip install tornado
  7. 用一个文本记录程序的依赖(这就是在这个目录下编辑你的程序的方便的地方)
    pip freeze > requirements.txt   # 此命令就把你所有的依赖包名和版本号保存到了这个txt文件内
  8. 进入你的程序目录的启动文件目录,可以试试在这里启动程序了。
    如我这里启动程序是main.py,那么python main.py
  • 部署到centos环境
    [centos7、其他同开发环境]
  1. 先安装特殊依赖 yum install zlib zlib-devel openssl openssl-devel -y
  2. 下载安装python3.6
    wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz进入到下载目录后解压
    tar xvJf Python-3.6.2.tar.xz -C /usr/local

    进到解压后目录cd /usr/local后执行编译
    ./configure && make && make install

    然后建立软连接

    ln -s /usr/local/bin/python3.6 /usr/bin/python3

    ln -s /usr/local/bin/pip /usr/bin/pip3

  3. 对应开发环境教程,安装virtualenv等,并创建空间,启用空间。
    安装:
    pip3 install virtualenv
    pip3 install tornado
    pip3 install requirements

    创建空间:virtualenv venv1
    启用空间:source venv1/bin/activate

  4. 把你的程序代码上传到空间里。这个就用刚在开发环境粘进去的项目文件就行,里面已经带了requirements.txt。
  5. 安装项目依赖:pip install -r requirements.txt
    这里可能会有些包报错,有些东西修改一下版本号也问题不大的。安不下去的可以试试。并且格式只能是[包名 版本号]的格式。

  6. 进入项目路径,试试直接启动py应用,就完成了。
    如果发现有报模块不存在,没引入的错,可以直接单独安装一下它。

centos上发布部署python的tornado网站项目完整流程的更多相关文章

  1. 最新JetBrainsPyCharm自动部署Python(Django,tornado等)项目至远程服务器

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

  2. Python+CGI,在Windows上快速部署Python到IIS

    通过CGI,我们可以快速在Windows上部署Python 1. Windows安装IIS服务 2. 在IIS里打开“ISAPI和CGI限制”->添加,路径=python.exe的完全路径+&q ...

  3. CentOS 7.6部署Vue + SrpingBoot + MySQL单体项目

    对于独立的项目(前端.后台单体服务.数据库),部署到新服务器上时,常常需要繁琐的配置与环境安装,这里介绍Centos 7.6下如何搭建基于Docker的环境,以及如何使用docker部署一套Vue + ...

  4. [原创] Go语言在Centos上的部署

    序言 Golang是个好东西啊.部署非常简单,对于运维人员来说太爽了. 传统的Nginx啊Apache啊,外加PHP以及各个插件啊搞得头晕. 用了Go之后就什么都不需要了.只要把生成好的文件向服务器上 ...

  5. CentOS上手工部署kubernetes集群

    本文完全是根据二进制部署kubernets集群的所有步骤,同时开启了集群的TLS安全认证. 环境说明 在下面的步骤中,我们将在三台CentOS系统的物理机上部署具有三个节点的kubernetes1.7 ...

  6. RAP在centos上的部署

    在centos7上部署RAP(非官方) 作者批注:该部署文档为网友贡献,仅供参考.war请参考主页README.md下载最新版本哟~~~ 感谢热情网友的Wiki整理!万分感谢! 系统: centos7 ...

  7. 在CentOS上安装部署MooseFS分布式文件系统

    参考资料: http://www.moosefs.org/tl_files/manpageszip/moosefs-step-by-step-tutorial-cn-v.1.1.pdf 环境介绍:OS ...

  8. 在windows环境下部署nuxt项目(线上发布部署)

    因为公司项目需要兼容SEO,同时我们也一直希望能够真正的实现前后端分离,于是毫不犹豫的选择了nuxt. 话说要重构前后端分离真是一个大工程,由于各种原因我们团队花了近两年时间都没有完成,最近才又重启把 ...

  9. linux 上安装部署python

    一般在linux中使用python 需要安装pyenv 进行版本控制 因为linux6.9自带的Python是2.6的 同时很多命令都是基于2.6开发的 所以系统环境不能改 我们要开发 只能用pyen ...

随机推荐

  1. C#细说多线程

    引言 本文主要从线程的基础用法,CLR线程池当中工作者线程与I/O线程的开发,并行操作PLINQ等多个方面介绍多线程的开发.其中委托的BeginInvoke方法以及回调函数最为常用.而 I/O线程可能 ...

  2. [Web]Restful风格的适用场景

    最近一直在兜兜转转Restful的相关内容,准备在原先的项目上构建restful的API. 实践过程很别扭,直到看到这篇文章[A Brief Introduction to REST], 我才终于断定 ...

  3. Java笔记(二十) 注解

    注解 一.内置注解 Java内置了一些常用注解: 1.@Override 该注解修饰一个方法,表示当前类重写了父类的该方法. 2.@Deprecated  该注解可以修饰类.方法.字段.参数等.表示对 ...

  4. iframe ios中h5页面 样式变大

    实际项目开发中,iframe在移动设备中使用问题还是很大的,说一说我的那些iframe坑 做过的这个后台管理框架,最开始的需求是PC,但随着业务需要,需要将项目兼容到ipad,后台的框架也是使用的开源 ...

  5. srand rand

    #include <stdlib.h> srand( (time(0)); rand()%100;

  6. 报错!!!Servlet.service() for servlet [action] in context with path [/myssh] threw exception [java.lang.NullPointerException] with root cause java.lang.NullPointerException

    这个为什么报错啊~~ at com.hsp.basic.BasicService.executeQuery(BasicService.java:33) 这个对应的语句是   Query query = ...

  7. ECMA Script 6_Generator

    Genertor  是一个普通函数,但是有两个特征: function 关键字 与 函数名之间有一个星号: 函数体内部使用 yield 表达式,定义不同的内部状态(yield 在英语里的意思就是“产出 ...

  8. Linux各目录及每个目录的详细介绍(转载)

    [常见目录说明] 目录 /bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里. /etc 存放系统管理和配置文件 /home 存放所有用户文件的根目录,是用户主目录的基点 ...

  9. iview menu组件手动收起与展开

    本文主要介绍menu组件在有子菜单时如何手动的展开与收起. 展开: 在需要展开的地方先设置openname变量如this.openname = ["设置"]; 再在$nextTic ...

  10. JL MTK 安防网关的 wifi 吞吐测试

    基本配置:   删除桥接中的 eth3 : brctl delif  br0 eth3   设置eth3的ip: ifconfig  eth3  192.168.1.100   开启数据转发: ech ...