美文网首页
centos7配置nginx+python3+flask+uws

centos7配置nginx+python3+flask+uws

作者: 吃肉666 | 来源:发表于2020-04-09 11:32 被阅读0次

    准备工作

    1. 安装VIM
    yum install vim
    
    1. 安装git
    yum -y install git
    
    1. 安装依赖包
    yum -y groupinstall "Development tools"
    yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
    mysql相关的一些依赖包
    yum install mysql-devel gcc gcc-devel python-devel
    

    虚拟环境依赖包(python3.7需要这个依赖包)

    yum install libffi-devel -y
    

    安装python3

    1.下载Python3安装包

     cd /tmp
     wget https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tar.xz
    

    2.建python3存放目录

    mkdir /usr/local/python3
    

    3.安装Python3

    tar -xvJf  Python-3.7.7.tar.xz
    cd Python-3.7.7
    ./configure --prefix=/usr/local/python3  --with-ssl
     make && make install
    

    4.创建软链接

    ln -s /usr/local/python3/bin/python3 /usr/bin/python3
    ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
    

    5.安装完成,输入python3测试

    python3
    

    创建虚拟环境

    virtualenv是一个可以在同一计算机中隔离多个python版本的工具。有时,两个不同的项目可能需要不同版本的python,如 python2.7 / python3.6 ,但是如果都装到一起,经常会导致问题。virtualenv能够用于创建独立的Python虚拟环境,多个Python相互独立,互不影响。
    virtualenvwrapper这个软件包可以让我们管理虚拟环境变得更加简单。不用再跑到某个目录下通过virtualenv来创建虚拟环境,并且激活的时候也要跑到具体的目录下去激活。
    使用pip安装包前,先更新pip。

    pip3 install --upgrade pip
    

    1.安装virtualenv、virtualenvwrapper

    pip3 install virtualenv
    pip3 install virtualenvwrapper
    

    2.进入.bashrc文件中,定义virtualenvwrapper路径
    在文末填入以下代码并保存

    vim ~/.bashrc
    
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    export WORKON_HOME=$HOME/virtualenvs
    export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/python3/bin/virtualenv
    source /usr/local/python3/bin/virtualenvwrapper.sh
    
    • 指定python解释器
    • virtualenvwrapper存放虚拟环境的目录,其中Envs为自己取得名字,以后创建的新的虚拟环境都存放在这个文件夹下。
    • 设置virtualenvwrapper.sh文件路径

    3.运行.bashrc文件

    source ~/.bashrc
    

    4.创建虚拟环境

    mkvirtualenv --python=/usr/bin/python3 py_web
    
    • --python=的是你要使用的python解释器的路径,后面的是虚拟环境的名字。

    5.mkvirtualenv常用基本命令

    列出创建的所有虚拟环境名字

    workon
    

    进入某个虚拟环境

    workon xxx
    
    • xxx为虚拟环境的名字

    退出虚拟环境

    deactivate
    

    删除虚拟环境

    rmvirtualenv xxx
    
    • xxx为要删除的虚拟环境名字

    异常情况
    假如source ~/.bashrc时,提示以下错误
    source ~/.bashrc
    -bash: /usr/local/bin/virtualenvwrapper.sh: No such file or directory
    【原因】
    .bashrc文件中的virtualenvwrapper.sh所在目录错误。

    【解决方案】
    ①查找virtualenvwrapper.sh所在目录

    find / -name "virtualenvwrapper.sh"
    /usr/local/python3/bin/virtualenvwrapper.sh
    ②把.bashrc文件的virtualenvwrapper.sh目录更改为实际所在目录

    source /usr/local/python3/bin/virtualenvwrapper.sh # virtualenvwrapper.sh实际所在目录
    假如创建虚拟环境时,提示以下错误

    mkvirtualenv my_env
    ERROR: virtualenvwrapper could not find virtualenv in your path
    【解决方案】
    ①查找virtualenv所在目录

    find / -name "virtualenv"

    /usr/local/python3/bin/virtualenv
    ②创建软链接

    ln -s /usr/local/python3/bin/virtualenv /usr/local/bin/virtualenv

    进入虚拟环境安装flask

    workon xxx
    pip install flask
    

    如果已经写好代码了可在本地运行

    pip freeze > requirements.txt
    

    导出requirements文件,然后到虚拟环境中安装

    pip install -r requirements.txt
    

    CentOS7下使用YUM安装MySQL5.6

    1.检查系统中是否已安装 MySQL。

    rpm -qa | grep mysql
    

    返回空值的话,就说明没有安装 MySQL 。

    2.查看已安装的 Mariadb 数据库版本。

    rpm -qa|grep -i mariadb
    

    3.卸载已安装的 Mariadb 数据库。

    rpm -qa|grep mariadb|xargs rpm -e --nodeps
    

    4.再次查看已安装的 Mariadb 数据库版本,确认是否卸载完成。

    rpm -qa|grep -i mariadb
    

    5.下载安装包文件。

    wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
    

    6.安装mysql-community-release-el7-5.noarch.rpm包

    rpm -ivh mysql-community-release-el7-5.noarch.rpm
    

    执行 yum repolist all | grep mysql 命令查看可用的 mysql 安装文件。

    6.安装mysql。

    yum install mysql-server
    

    7.检查mysql是否安装成功。

    rpm -qa | grep mysql
    

    8.启动 mysql 服务 。

    systemctl start mysqld.service #启动 mysql
    systemctl restart mysqld.service #重启 mysql
    systemctl stop mysqld.service #停止 mysql
    systemctl enable mysqld.service #设置 mysql 开机启动
    

    9.设置密码 。
    mysql5.6 安装完成后,它的 root 用户的密码默认是空的,我们需要及时用 mysql 的 root 用户登录(第一次直接回车,不用输入密码),并修改密码。

    mysql -u root
    mysql> use mysql;
    mysql> update user set password=PASSWORD("这里输入root用户密码") where User='root';
    mysql> flush privileges; 
    
    
    

    10.设置远程主机登录

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'your username'@'%' IDENTIFIED BY 'your password';
    

    执行以下命令,为root 用户添加远程登录的能力。

    mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";
    

    安装uwsgi

    1.安装

    pip3 install uwsgi 
    ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
    

    安装完成后建立软链接

    2.配置ini配置文件(可写在任意地方)

    [uwsgi]
    chdir = /root/ffwang/app/wxms
    socket = /tmp/logs/wxms.sock
    http=0.0.0.0:5000
    virtualenv =/root/virtualenvs/py_web
    wsgi-file=manager.py
    callable = app
    master = true
    vacuum = true
    processes = 2
    thunder-lock = true
    #防止惊群
    harakiri = 60
    #超时时间(秒)
    daemonize = /tmp/logs/wxms.log
    #进程会在后台运行,并输出日志
    pidfile = /tmp/logs/wxms.pid
    enable-threads = true 
    preload=True 
    lazy-apps=true
    

    3.启动uwsgi

    uwsgi --ini xxx.ini
    

    4.停止uwsgi

    uwsgi --stop XXX/XXX.PID
    

    安装nginx

    1.下载nginx
    下载版本号可根据目前官网最新稳定版自行调整

    wget -c https://nginx.org/download/nginx-1.16.1.tar.gz
    

    2.解压和安装

    tar -zxvf nginx-1.16.1.tar.gz
    cd nginx-1.16.1
    

    使用默认配置

    ./configure
    

    编译安装

    make && make install
    

    3.查找安装路径,默认都是这个路径

    whereis nginx
    ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
    

    4.启动nginx

    nginx #启动
    nginx -s stop #停止
    nginx -s quit #退出停止
    nginx -s reload #重新加载配置文件,修改nginx.conf后使用该命令,新配置即可生效
    
    ps aux|grep nginx #查看进程找到master进程
    kill -HUP XXX #重启nginx
    
    

    5.问题
    uwsgi wxms.sock文件不要放在root目录下,要不nginx会报错

    相关文章

      网友评论

          本文标题:centos7配置nginx+python3+flask+uws

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