如何在linux上搭建flask环境

历经两天两夜,终于在服务器上部署了flask,真的是一路艰辛。期间重装系统200次,重装软件1000次,终于能跑通了,真的是累成狗,但最终是搭建好了,不然我真的很崩溃,这也告诉大家不要轻言放弃。好下面开始详细描述一下各个步骤

选择好软硬件环境

这个非常重要,我这选择环境遇到很多的坑,我从centos6一直到centos8都试了一遍,还有python的版本,从3.5到3.10,我这边成功突围,大家参照我的,省去很多的麻烦,我直接说我现在成功搭建的版本

系统:centos7.9

python版本:3.9.5

好,大家选择好了版本,下面就进行相关的配置

一、安装python3.9.5

安装之前首先要安装各种依赖包

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

接下来下载python3.9.5

wget https://www.python.org/ftp/python/3.9.5/Python-3.9.5.tar.xz

然后解压

tar -xvJf Python-3.9.5.tar.xz

进入Python-3.9.5

cd Python-3.9.5

./configure prefix=/usr/local/python3

make && make install

接下来添加软连接

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

添加pip3连接

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

接下来安装nginx

yum install nginx

二、创建站点目录

mkdir /var/www

在var目录下创建www,里面就是咱们的站点了

cd /var/www

mkdir mysite

进入www目录,然后创建mysite项目目录

接下来创建虚拟目录

python3 -m venv venv

激活虚拟目录

source venv/bin/activate

退出激活

deactivate

三、安装flask目录

在虚拟环境下安装

pip3 install flask

注意可能会遇到错误,需要安装依赖

yum install libffi-devel

然后重装python

./configure prefix=/usr/local/python3

make && make install

四、uwsgi配置

先退出虚拟环境

deactivate

安装uwsgi

pip3 install uwsgi

然后激活虚拟环境,不记得的话往上翻

进入mysite目录

cd /var/www/mysite

创建uwsgi.ini

vim uwsgi.ini

[uwsgi]
enable-theads=true
thunder-lock=true
vhost=true
socket=:8000
chdir=/var/www/mysite
#这条需要你的启动文件叫run.py,也可以自己起,根据自己的文件名
wsgi-file=/var/www/mysite/run.py
callable=app
master=true
buffer-size=65535
workers=4
max-requests=300

将上面复制进去,然后保存退出

接下来配置nginx

进入配置目录

cd /etc/nginx

打开nginx.conf

vim nginx.conf

编辑相关

接下来进入conf.d

cd conf.d

新建mysite.conf

vim mysite.conf

将下面内容复制进去

upstream mysite{ server 127.0.0.1:8000; }
server{

# 可以写80,就是默认的了,写地址就不用加端口了
listen 9000;
server_name 180.76.145.20;
charset utf-8;

access_log /var/log/nginx/log/mysite.access.log main;
error_log /var/log/nginx/log/mysite.error.log warn;

location / {
uwsgi_pass 127.0.0.1:8000;

include /etc/nginx/uwsgi_params;

}

}

好的,以上步骤完成了,基本上也就配置好了

在www、目录下启动uwsgi

uwsgi –ini mysite/uwsgi.ini

启动nginx

nginx

接下来就可访问了