1. 程式人生 > 其它 >CentOS7 部署flask和paddleX

CentOS7 部署flask和paddleX

技術標籤:系統運維centospaddlepaddleflask

CentOS7 部署flask和paddleX

1、官網下載anaconda,部署python環境

#許可權
chmod +x Anaconda3-2020.11-Linux-x86_64.sh

#安裝anaconda
bash Anaconda3-2020.11-Linux-x86_64.sh

#生效啟動conda
source ~/.bashrc

#建立虛擬環境
conda create -n web_dev python=3.7

#啟用虛擬環境 web_dev
conda activate web_dev

#退出虛擬環境
conda deactivate

#conda配置國內映象
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

#pip設定國內映象
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

2、部署 flask

#在虛擬環境內
#安裝pip
pip install flask

#或採用requirements.txt檔案部署
pip install pipreqs
pipreqs ./
pip install -r requirements.txt

3、部署paddleX

#在虛擬環境內
#安裝paddlepaddle 安裝1.3paddleX 需1.8.5版本paddelpaddle
pip install paddlepaddle==1.8.5 -i https://mirror.baidu.com/pypi/simple

#安裝其他依賴
pip install common dual tight data prox -i https://mirror.baidu.com/pypi/simple

#安裝paddle
pip install paddle -i https://mirror.baidu.com/pypi/simple

#安裝paddleX
pip install paddlex -i https://mirror.baidu.com/pypi/simple

#安裝依賴庫
yum install libSM-1.2.2-2.el7.x86_64 --setopt=protected_multilib=false
yum install libSM.x86_64
yum install libXext.x86_64
yum install libXrender.x86_64

#後臺啟動
nohup gunicorn -w 2 -b 0.0.0.0:8081  app:app &

4、部署nginx

#安裝epel-release
yum install epel-release

#安裝nginx
yum install nginx

#啟動
systemctl start nginx

#停止
systemctl stop nginx

#過載conf
systemctl reload nginx

配置nginx.conf(檔案預設在/etc/nginx)

server {
    listen       *埠號*;
    server_name  localhost;

    root         /usr/share/nginx/html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;
	
	#跨域
    location / {
        index  index.html index.htm;
        add_header Access-Control-Allow-Origin *;
        add_header 'Access-Control-Allow-Headers' 'Authorization,authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,X-Requested-With';
    }

    error_page 404 /404.html;
    location = /404.html {
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    }
}