Python 学习笔记(3) —— CentOS部署Python

2018-09-26  本文已影响0人  董欣jam

进入/home/目录,下载Python3.6.5


wget -c https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

解压安装包


tar -xzvf Python-3.6.5.tgz

进入目录


cd Python-3.6.5

预防编译时报错的准备工作


yum -y install gcc

yum -y install zlib*

yum -y install openssl openssl-devel

修改编辑 Python-3.6.5/Modules/Setup.dist 文件,去掉下面行的注释


#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

#_socket socketmodule.c timemodule.c

#_ssl _ssl.c \

#  DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \

#  L$(SSL)/lib -lssl -lcrypto

编译安装包,指定安装路径,并执行安装命令

注意:prefix参数用于指定将Python安装在新目录,防止覆盖系统默认安装的python


./configure --prefix=/usr/bin/python36

make && make install

修改系统默认的Python路径


mv /usr/bin/python /usr/bin/python-2.6.6

建立新的软连接,指向Python-3.6


ln -s /usr/bin/python36/bin/python3.6 /usr/bin/python

修改一下yum


vi /usr/bin/yum

将第一行中的 #!/usr/bin/python 修改为 #!/usr/bin/python-2.6.6 保存

修改环境变量,不然PIP用不了


vi /etc/profile

最下面加上:


PATH=$PATH:$HOME/bin:/usr/bin/python36/bin

刷新环境变量


source /etc/profile

换pip阿里源,根目录下


mkdir ~/.pip

vi ~/.pip/pip.conf

写上下面内容,保存


[global]

index-url = http://mirrors.aliyun.com/pypi/simple/

trusted-host = mirrors.aliyun.com

升级一下pip


python -m pip install --upgrade pip

测试一下


pip -V

安装虚拟环境 virtualenv


pip install virtualenv

进入项目目录(不非得这个目录,根据你的需要)安装venv环境


cd /var/www/项目目录

virtualenv vent

进入虚拟环境


. vent/bin/activate

从git下载代码到服务器

1、用克隆方式下载,进入项目目录


cd /var/www/项目目录

git clone 远程项目地址

2、用pull命令实现 ,进入项目目录,初始化本地文件夹


cd /var/www/项目目录

git init

git pull 远程项目地址 master

安装依赖包


pip install -r requirements.txt

安装gunicorn,gunicorn 是一个python编写的高效的WSGI HTTP服务器


pip install gunicorn

测试运行服务


gunicorn -w 4 -b 127.0.0.1:8000 wsgi:application

解释 -w :要开多少个worker,即开启几个进程 -b :指定host地址 wsgi:声明入口wsgi文件中的全局变量

如果出现openssl-devel ERROR with rpm_check_debug vs depsolve


yum remove postfix

Supervisor进程托管,新建进程 命令:


/var/www/项目目录/vent/bin/gunicorn -w 4 -b 0.0.0.0:8000 wsgi:application

工作目录:


/var/www/项目目录/

Nginx用源文模式新建站点


server {

    listen      80;

    server_name  192.168.51.12;

    location / {

        proxy_pass        http://127.0.0.1:8000;

        proxy_set_header  Host $host;

        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;

    }

}

上一篇下一篇

猜你喜欢

热点阅读