美文网首页
Centos7配置python3+flask环境

Centos7配置python3+flask环境

作者: 布拉德澈 | 来源:发表于2018-09-17 23:28 被阅读0次

一、拉取镜像:docker pull centos

1、创建cnetos容器:

docker run -ti --privileged -p 80:80 --restart=always -d --name container_name centos
# 让docker 容器开机自动启动:
docker update --restart=always container_name
# 进入容器:
sudo docker exec -it container_name /bin/bash 

2、安装python

# (1)、安装python3依赖
sudo yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
# (2)、下载python3.6.9
sudo wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz

# (3)、解包
sudo tar -zxf Python-3.6.9.tgz
# 编译安装Python3.6.9需要先安装
yum -y install libffi-devel
# (4)、编译安装python
sudo yum install gcc gcc-c++ -y
sudo ./configure --prefix=/usr/local/python3
sudo make
make altinstall
ls /usr/local/python3/bin   # 可以看到python3.6都已安装好。
# (5)、更改python链接
cd/usr/bin
sudo mv python python.backup
sudo ln -s /usr/local/python3/bin/python3.6  /usr/bin/python
sudo ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
# (6)、更改yum脚本配置:
ls yum*

然后修改罗列出来的文件,将所有的python改为python2:


1.png
# 比如,进入上图的yum
sudo vim yum
2.png
sudo vim /usr/libexec/urlgrabber-ext-down
sudo vim /usr/libexec/urlgrabber-ext-down
#  将/usr/bin/python改为/usr/bin/python2。
3.png

python3.6.9安装完成!

4.png

3、安装pipenv虚拟环境

设置pip

# 设置pip
sudo ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip

通过pip安装pipenv

sudo pip install pipenv
# pipenv安装完成后,指定workon_on位置
sudo vim ~/.bashrc
# 加入以下内容
export WORKON_HOME=$HOME/brad/envs

# 如果出现bash: pipenv: command not found
sudo ln -sv /usr/local/python3/bin/pipenv /usr/bin/pipenv

4、 虚拟环境之virtualenvwrapper

安装virtualenv以及virutalenvwrapper。并创建虚拟环境。

# 安装virtualenv
sudo pip install virtualenv

# 安装virtualenvwrapper
sudo pip install virtualenvwrapper

把下面两行代码添加到 ~/.bashrc文件中
打开文件
vim ~/.bashrc
写入以下四行代码
export WORKON_HOME=~/Envs   #设置virtualenv的统一管理目录
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'   #添加virtualenvwrapper的参数,生成干净隔绝的环境
export VIRTUALENVWRAPPER_PYTHON=/opt/python373/bin/python3     #指定python解释器
source /opt/python373/bin/virtualenvwrapper.sh #执行virtualenvwrapper安装脚本
读取文件,使得生效,此时已经可以使用virtalenvwrapper
source ~/.bashrc

二、安装最新版git:

1、安装所需软件包

sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
sudo yum install gcc perl-ExtUtils-MakeMaker
sudo yum install perl-ExtUtils-MakeMaker package

2、下载&安装

cd /tools/
sudo wget https://www.kernel.org/pub/software/scm/git/git-2.7.3.tar.gz
sudo tar xzf git-2.7.3.tar.gz
cd git-2.7.3
sudo make prefix=/usr/local/git all
sudo make prefix=/usr/local/git install
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
source /etc/bashrc

3、检查版本

git –version

4、设置本地信息

git config --global user.name "Your Name"
git config --global user.email "email@example.com"

创建SSH Key。在用户主目录/home/brad下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

ssh-keygen -t rsa -C "youremail@example.com"

三、安装docker_mysql

1、获取资源

docker pull mysql:8.0

2、使用如下命令在docker创建一个容器为mysql,设置配置文件、数据挂载,

(1)、为了安全性,我们应该将数据和配置放到宿主机中,首先执行下面的命令创建data目录和config目录

mkdir mysqltest
cd mysqltest
mkdir data
mkdir config

(2)、my.cnf配置文件内容如下

[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

(3)、执行下面命令创建容器

docker run -d -p 3306:3306 --restart always --privileged=true -e MYSQL_ROOT_PASSWORD="123456" --name brad_mysql -v=/home/mysql_data/data:/var/lib/mysql mysql:8.0 --character-set-server=utf8 --collation-server=utf8_general_ci --default-authentication-plugin=mysql_native_password

环境变量说明:
-e MYSQL_USER=”username”:添加用户username
-e MYSQL_PASSWORD=”pwd123”:设置usename的密码pwd123
-e MYSQL_ROOT_PASSWORD=”123456”:设置root的密码123456

镜像参数说明:
–character-set-server=utf8:设置字符集为utf8
–collation-server=utf8_general_ci:设置字符比较规则为utf8_general_ci

参数说明:
–restart always:开机启动 –privileged=true:提升容器内权限 -v=/mysqltest/config/my.cnf:/etc/my.cnf:映射配置文件 -v=/mysqltest/data:/var/lib/mysql:映射数据目录

四、安装nginx

# 1、下载nginx 
sudo wget http://nginx.org/download/nginx-1.12.2.tar.gz](http://nginx.org/download/nginx-1.12.2.tar.gz

# 2、安装依赖:
yum install gcc gcc-c++ openssl-devel pcre-devel httpd-tools –y 

#3、解包:
tar -zxf nginx-1.12.2.tar.gz

# 4、  创建nginx用户:
Useradd nginx

 cd nginx-1.12.2

#5、执行编译安装
  ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
   make

# 6、添加软链接:
 ln -s /usr/local/nginx/sbin/nginx /usr/sbin/

启动:nginx
停止:nginx -s stop

参看端口:netstat –anptu | grep nginx
查看nginx状态: ps -ef | grep nginx

如果没有netstat命令: yum install net-tools -y

nginx 配置

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  your ip;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            #root   html;
            #index  index.html index.htm;
            include uwsgi_params;
            # 指向uwsgi 所应用的内部地址,所有请求将转发给uwsgi 处理 
            uwsgi_pass 127.0.0.1:8008;
            # 指向虚拟环境目录 
            uwsgi_param UWSGI_PYHOME /root/.local/share/virtualenvs/bustools-MlxBNHYa; 
            #uwsgi_param UWSGI_PYHOME /root/wwwroot/bustools;
            # 指向网站根目录 
            uwsgi_param UWSGI_CHDIR  /root/wwwroot/bustools;
            # 指定启动程序
            uwsgi_param UWSGI_SCRIPT bustools:app;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
       root   html;
        }
    }
}

五、安装uWSGI

安装uWSGI的方式也很简单,pipenv安装即可:

pipenv install uwsgi

安装完了之后就是配置了,在项目目录下新建uwsgi.ini,在uwsgi.ini中输入以下内容:

[uwsgi]
socket = 0.0.0.0:8008
chdir = /root/wwwroot/bustools/
wsgi-file = manage.py 
callable = app 
processes = 1 
threads = 2 

进入虚拟环境 pipenv shell ,然后 uwsgi uwsgi.ini 就能启动!
重启Nginx服务:sudo service nginx restart
这时候打开浏览器,输入你的主机IP,就可以看到你的项目了。

相关文章

网友评论

      本文标题:Centos7配置python3+flask环境

      本文链接:https://www.haomeiwen.com/subject/obnfnftx.html