分享好友 系统运维首页 频道列表

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

Centos  2023-02-09 23:050

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

 

查看更多关于【Centos】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
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

0评论2023-02-10677

CentOS下查看文件和文件夹大小 linux查看文件夹大小
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。  df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。  df可以查

0评论2023-02-10731

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

0评论2023-02-10442

如何在centos7启动时自动挂载硬盘
在/etc/rc.local中加入如下的语句,这样就不用每次重启后手动挂载了(后面挂载的目录根据自己的需求而定):mount  /dev/sdb1 /usr/sharedfiles/sdbmount  /dev/sdc1 /usr/sharedfiles/sdcmount  /dev/sdb1 /root/sdbmount  /dev/sdc1 /root/sdc注意:可以

0评论2023-02-10535

centos7.2 开启防火墙
开启防火墙当我们修改了某些配置之后(尤其是配置文件的修改),firewall并不会立即生效。可以通过两种方式来激活最新配置 systemctl restart firewalld 和 firewall-cmd --reload 两种方式,前一种是重启firewalld服务,建议使用后一种“重载配置文件”

0评论2023-02-10997

CentOS7 安装 Python3.8后 pip 安装报错
[root@localhost Python-3.8.0]# pip install bs4Collecting bs4Using cached https://files.pythonhosted.org/packages/10/ed/7e8b97591f6f456174139ec089c769f89a94a1a4025fe967691de971f314/bs4-0.0.1.tar.gzERROR: Command errored out with exit status

0评论2023-02-10961

[转]How to install PHP 5.3 on CentOS
在DIAHosting买了一个VPS,自带PHP5.1.6.我想安装wordpress,但是由于版本比较新,要求PHP也要是5.2以上的,于是我就安装了PHP5.3.20--------------------------------------------------------------------------------------------------------------------

0评论2023-02-10997

外部访问docker内部容器centos的http服务
1.创建容器docker run -d -it -h dd -p 5000 --name bbbbb centosdd 是用户名 --name 后面是容器名字2.在我们开始安装Nginx及其他所需软件之前先安装一些前提软yum install python-setuptools yum -y install epel-release yum install python-pip pip instal

0评论2023-02-10480

Centos7安装yum命令 centos8如何安装yum
步骤如下http://mirrors.163.com/centos/7/os/x86_64/Packages/到上面这个网站去下载如下RPM包(为版本号,根据最新的自己替换即可)python-iniparse-.noarch.rpmyum-metadata-parser-.x86_64.rpmyum-.centos.noarch.rpmyum-plugin-fastestmirror-*.noarch.rp

0评论2023-02-10760

CentOS 7 - 安装Python 3
Enable Software Collections (SCL)Software Collections, also known as SCL is a community project that allows you to build, install, and use multiple versions of software on the same system, without affecting system default packages. By enabl

0评论2023-02-10592

centos清除历史命令
1、rm -f /root/.bash_profile  历史命令记录在此文件2、history -c   清除缓存会话退出后重新连接输入history可以看到历史命令清空了。两条命令的顺序不能乱

0评论2023-02-09473

更多推荐