先说下大体上的做法,开发环境上要新弄一个 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. SpringBoot使用Nacos服务发现

    本文介绍SpringBoot应用使用Nacos服务发现. 上一篇文章介绍了SpringBoot使用Nacos做配置中心,本文介绍SpringBoot使用Nacos做服务发现. 1.Eureka闭源 相 ...

  2. Redis新接触

    一.redis简介 redis即Remote Dictionary Server,是一个key—value存储系统. 二.优点 1.redis支持的存储类型较多,如String.List.Hash.s ...

  3. java线程系列之三(线程协作)

    本文来自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/7433673,转载请注明. 上一篇讲述了线程的互斥(同步),但是在很多情况 ...

  4. Python字符串的相关操作

    1.大小写转换 判断字符串 s.isalnum() #所有字符都是数字或者字母 s.isalpha() #所有字符都是字母 s.isdigit() #所有字符都是数字 s.islower() #所有字 ...

  5. Buffer --缓冲器

    一. 启动Buffer缓冲器 node 输入 buffer 创建一个新的buffer var buf = new buffer(''hello word) 查看buf的长度 buf.length 运行 ...

  6. GMA Round 1 波动函数

    传送门 波动函数 f(x)是一个定义在R上的偶函数,f(x)=f(2-x),当$x\in[-1,1]$时,f(x)=cos(x),则函数$g(x)=f(x)-|cos(\pi x)|$,求g(x)在[ ...

  7. 由PHP实现单向链表引发的对象赋值,对象传参,链表操作引发的一系列问题

    2019年2月25日14:21:13 测试版本php 5.4 ,5.6,7.0,7.2 代码请看: https://www.cnblogs.com/zx-admin/p/10373866.html 1 ...

  8. Java中如何使用非强制类型转换把字符串转换成int类型

    ①强制类型转换代码如下: String string = "123456"; int a,b = 0; @Test public void String2Int1() { //方法 ...

  9. 字符串转xml,特殊字符的问题

    字符串转xml,如果字符串包含&,< 等特殊符号,转成xml 需要特殊处理,否则XML解析会出错. String uuid = UUID.randomUUID().toString(). ...

  10. MYSQL 事务和用户权限

    一. 什么是事务:简单说,所谓事务就是一组操作,要么操作都成功要么都不成功. 二.事务的使用流程 1. 第一步:开启一个事务,start transaction; 2. 第二步:正常的SQL语句操作, ...