CentOS7.2+Python3x+Flask部署标准化配置流程

   2023-02-09 学习力0
核心提示:转自:https://zhuanlan.zhihu.com/p/24554242 Step1.安装最基本的开发工具,吐槽一下除此之外的任何垃圾教程# yum groupinstall "Development tools"# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-dev

转自:https://zhuanlan.zhihu.com/p/24554242

 

Step1.安装最基本的开发工具,吐槽一下除此之外的任何垃圾教程

# yum groupinstall "Development tools"
# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel

Step2.下载代码 configure → make → make altinstall

3.5.2下载安装同 下:

 

# cd /usr/local/src
# wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz
# tar -zxvf Python-3.4.3.tgz 
# cd Python-3.4.3
# ./configure --prefix=/usr/local/python
# make && make altinstall

Step3.安装Python3.4公用库

# echo "/usr/local/python/lib" >> /etc/ld.so.conf
# ldconfig

Step4.安装Python3.4至 /usr/local/bin/

# ln -s /usr/local/python/bin/python3.4 /usr/local/bin/python

 

Step5. 确认是否安装正确

# /usr/local/python/bin/python3.4 -V
# python -V

 

 

Step6.安装Easy_Install

# cd /usr/local/src
# wget https://pypi.python.org/packages/source/s/setuptools/setuptools-18.0.1.zip
# unzip setuptools-18.0.1.zip
# cd setuptools-18.0.1
# /usr/local/bin/python setup.py install
# ln -s /usr/local/python/bin/easy_install /usr/local/bin/easy_install

Step7.安装Pip

# /usr/local/bin/easy_install pip
# ln -s /usr/local/python/bin/pip /usr/local/bin/pip

Step8.安装Virtualenv

# pip install virtualenv
# ln -s /usr/local/python/bin/virtualenv /usr/local/bin/virtualenv

Step9.安装Virtualenvwrapper

# pip install virtualenvwrapper

Step10.配置Virtualenvwrapper参数设定

$ vim ~/.bashrc
if [ -f /usr/local/python/bin/virtualenvwrapper.sh ]; then
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/python/bin/virtualenvwrapper.sh
fi

补充virtualenvwrapper用法

 

1.创建环境

mkvirtualenv env1
mkvirtualenv env2

环境创建之后,会自动进入该目录,并激活该环境。

 

2.切换环境

workon env1  # # (运行:ls ~/.virtualenvs 可见)
workon env2

3.列出已有环境

workon

4.退出环境

deactivate

5.删除环境

rmvirtualenv

6.创建project

项目将创建到PROJECT_HOME目录下,实际上相当于在某个目录下,建了一个环境。

mkproject 

补充配置nginx

1.下载nginx

yum install nginx

 

2.启动nginx服务

systemctl start nginx

3.配置

默认的配置文件在 /etc/nginx 路径下,使用该配置已经可以正确地运行nginx;如需要自定义,修改其下的 nginx.conf 等文件即可。

4.测试

在浏览器地址栏中输入部署nginx环境的机器的IP,如果一切正常,应该能看到如下字样的内容。

 

5. 列出所有端口状态

netstat -ntlp

配合 kill -9 pid

 

补充Gunicorn配置

 

Gunicorn 绿色独角兽 是一个Python WSGI UNIX的HTTP服务器。这是一个pre-fork worker的模型,从Ruby的独角兽(Unicorn )项目移植。该Gunicorn服务器大致与各种Web框架兼容,只需非常简单的执行,轻量级的资源消耗,以及相当迅速。

Gunicorn 应该装在 virtualenv 环境下,安装前记得激活workon env1!

(venv) $ pip install gunicorn

一行搞定运行Web:

(venv) $ gunicorn -w 4 -b 127.0.0.1:8080 wsgi:application

注:各个参数的具体含义相信都能找到。

 

补充进程守护

 

Supervisor守护神不支持python3,centos7不支持Upstart,蛋疼!

截至现在仍旧没有找到解决方案,但是意外收获了systemd作为守护神保护常规的python程序进程。

有关systemd的介绍和使用推荐阮一峰老师的以下两篇博客,写的非常详细和全面

这一篇就写到这里,部署就这样啦,中途会出现一些BUG,可以肯定是你程序的问题,仔细检查哈!

 

胶水语言博大精深,

本主只得一二为新人带路,

老鸟可去另一专栏:Python中文社区

新手可查阅历史目录:

Python数据分析及可视化实例目录

 

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 用Xshell设置CentOS密钥登录
    用Xshell设置CentOS密钥登录
    今天带来设置X shell 密钥登录  因为用的中文x shell 所以按照中文设置很简单1.点击工具(Tools)------新建用户密钥生成向导(New User key Wizard)(附图)2.然后出现下图时,记得密钥类型 选择RSA.其实选择DSA ,也能实现,二者其实是不同的算法。(我用的R
    03-08
  • centOS下安装Adobe Flash Player
    centOS下安装Adobe Flash Player
    centOS下安装Adobe Flash Player  2009-10-09 11:29:33|  分类:linux|  标签: |订阅 写出来就这么简单几步,当初刚接触Linux的时候搜索了很长时间,找了很多资料,总是出现这样那样的问题,最后终于摸索出最简单最有效的安装的方法。 随便打开一个带
    03-08
  • 部署Node.js项目(CentOS) node项目搭建
    部署Node.js项目(CentOS) node项目搭建
    操作步骤步骤 1:创建ECS实例选择操作系统为公共镜像CentOS7.2。使用root用户登录Linux实例。步骤2:部署Node.js环境—二进制文件安装该部署过程使用的安装包是已编译好的二进制文件,解压之后,在bin文件夹中就已存在node和npm,无需手工编译。安装步骤:1、
    02-10
  • centos安装python与jdk centos安装python3.7
    centos安装python与jdk centos安装python3.7
    安装python#压缩包安装[root@china ~]# yum -y install zlib*Loaded plugins: fastestmirror, refresh-packagekit, securityLoading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun
    02-10
  • centos6下同时安装python2和python3
    #build-essential compile packagesyum groupinstall "Development Tools"yum install openssl-develyum install zlib-develyum install make gcc gcc-c++ kernel-develhttp://unix.stackexchange.com/questions/291737/zipimport-zipimporterror-cant-decomp
    02-10
  • CentOS下查看文件和文件夹大小 linux查看文件夹
    当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。  df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。  df可以查
    02-10
  • centos7 离线升级/在线升级操作系统内核
    centos7 离线升级/在线升级操作系统内核
    centos7 离线升级/在线升级操作系统内核目录一.前言二.系统环境三.系统内核下载网址四.centos7离线升级系统内核1.先查看系统环境2.离线升级系统内核五.在线升级系统内核一.前言CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于
    02-10
  • centos7 rc.local脚本执行不成功
    腾讯云 centos7   配置文件/etc/rc.local的内容如下:#!/bin/sh#secu_agent init monitor, install at Thu Aug 3 11:19:41 CST 2017/usr/local/sa/agent/init_check.sh/dev/null 21/usr/sbin/ntpdate ntpupdate.tencentyun.com /dev/null 21 /usr/local/qclo
    02-10
  • 如何在centos7启动时自动挂载硬盘
    在/etc/rc.local中加入如下的语句,这样就不用每次重启后手动挂载了(后面挂载的目录根据自己的需求而定):mount  /dev/sdb1 /usr/sharedfiles/sdbmount  /dev/sdc1 /usr/sharedfiles/sdcmount  /dev/sdb1 /root/sdbmount  /dev/sdc1 /root/sdc注意:可以
    02-10
  • centos7.2 开启防火墙
    开启防火墙当我们修改了某些配置之后(尤其是配置文件的修改),firewall并不会立即生效。可以通过两种方式来激活最新配置 systemctl restart firewalld 和 firewall-cmd --reload 两种方式,前一种是重启firewalld服务,建议使用后一种“重载配置文件”
    02-10
点击排行