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

转自: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数据分析及可视化实例目录

原文地址:https://www.cnblogs.com/badseal/p/8445596.html

时间: 2024-10-14 17:53:06

CentOS7.2+Python3x+Flask部署标准化配置流程的相关文章

Centos7中使用Docker部署Apollo配置中心

采用微服务开发框架开发项目时会涉及多个系统,如果要更改配置参数需要在多个系统间逐一更改,比较费时,而且容易遗漏,效率低下,次问题可以采用Apollo配置中心的方式解决,下面将介绍如何配置: 准备环境:本地环境win7/win10,docker所在服务器centos7 第一步 下载Apollo到本地并解压到磁盘,URL:https://github.com/ctripcorp/apollo (linux: wget https://github.com/ctripcorp/apollo/archi

redis服务部署及配置详解

Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表,集合和有序集合.支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能.所以Redis也可以被看成是一个数据结构服务器. Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为"半持久化模式"):也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为"全

Linux下计划任务和标准化工作流程

1.定时任务和计划任务: 2.一次性定时任务at(生产中很少使用) at命令: at [option] TIME        常用选项:     -V 显示版本信息:     -l: 列出指定队列中等待运行的作业:相当于atq     -d: 删除指定的作业:相当于atrm     -c: 查看具体作业任务     -f /path/from/somefile:从指定的文件中读取任务     -m:当任务被完成之后,将给用户发送邮件,即使没有标准输出  #注意:作业执行命令的结果中的标准输出和

基于Centos7.2的nginx部署

基于Centos7.2的nginx部署 部署背景:使用Nginx作为Tomcat的负载平衡器. 部署步骤: 安装zlib-devel.pcre-devel等依赖包 [[email protected] ~]#  yum install -y gcc gcc-c++ make libtool zlib zlib-devel pcre pcre-devel openssl openssl-devel 注:结合proxy和upstream模块实现后端web负载均衡 结合nginx默认自带的ngx_ht

保证服务器高可用性-灾难恢复(2)APP服务器的配置流程

上一篇文章写到了灾难恢复中WEB服务器的配置.其实说白了很简单,就是在另一个地方模拟出原始服务器集群的环境. 这个文章主要谢谢APP服务器的配置. 灾难恢复呢,对于APP服务器来说,无非包括两方面的内容: DB的配置,保证新的服务器也能连接到特定的DB服务器. 可以接收到新的WEB服务器的请求. DB的配置呢,无非就是配置一下DabaSource,测试连接这些的,直接在管理控制台上就可以配置了.(记住有的时候配置完DB之后需要重启Application Server甚至Node Agent才会使

CentOS7 安装cobbler自动部署ubuntu

CentOS7 安装cobbler自动部署ubuntu 一.简介 二.安装CentOS 7 调整配置及安装相关软件 1.调整配置 2.安装 epel 包 3.安装cobbler.cobbler-web 以及相关依赖软件 4.设置开机启动 三.Cobbler.tftp.dhcp.rsync配置 1.TFTP配置 2.配置rsync 3.配置/etc/cobbler/settings 4.修改/etc/cobbler/modules.conf 5.修改/etc/cobbler/dhcp.templa

Linux平台(Centos7)-lnmp一键式部署mysql,nginx,php,php-fpm服务

Linux平台(Centos7)-lnmp一键式部署mysql,nginx,php,php-fpm服务 1. 部署方式1:手动部署. 6 1.1. 配置防火墙. 6 1.2. 关闭firewall 6 1.3. 安装iptables防火墙. 6 1.4. 安装Apache 7 1.5. 安装MariaDB 9 1.5.1. 安装MariaDB 9 1.5.2. 启动服务. 10 1.5.3. 设置开机启动. 10 1.5.4. 为root账户设置密码. 11 1.5.5. 重启MariaDB 1

rsync服务配置流程-守护进程

rsync服务配置流程rsync守护进程服务部署流程: #第一步:检查软件服务是否安装[[email protected] ~]# rpm -qa|grep rsyncrsync-3.0.6-12.el6.x86_64如果rsync软件不存在yum install -y rsync #第二步:编写rsync的配置文件/etc/rsyncd.conf*****rsyncd.conf是rsync服务默认配置文件,但是默认不存在vim /etc/rsyncd.conf#rsync_config #cr

CentOS7上squid的部署及两种模式(4.1版本)

CentOS7上squid的部署及两种模式(4.1版本) 简介 squid是什么? Squid是一种用来缓冲Internet数据的软件.它接受来自人们需要下载的目标(object)的请求并适当地处理这些请求.也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面.Squid随之连接到远程服务器(比如:http://squid.nlanr.net/)并向这个页面发出请求.然后,Squid显式地聚集数据到客户端机器,而且同时复制一份.当下一次有人需要同一页面时,Squid可以简单地