ubuntu16 部署flask+nginx项目
admin
2024-01-20 22:39:29
0

由于ubuntu16默认用的python3.5,需要重新安装一个3.8的python

sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wgetwget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tar.xz
tar -xf Python-3.8.0.tar.xz
cd Python-3.8.0
./configure prefix=/usr/local/python3
make
sudo make altinstall
sudo rm /usr/bin/python
sudo ln -s /usr/local/python3/bin/python3.8 /usr/bin/python
sudo rm /usr/bin/python
sudo ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3
sudo rm /usr/bin/pip
sudo ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip
sudo rm /usr/bin/pip3
sudo ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3

cd到项目目录,安装缺失的库

sudo pip3 install -r requirement.txt

运行时候会出现_sqlite3找不到

Modulenetfounderror: no module named'_sqlite3'

安装下面这个库

sudo apt-get install libsqlite3-dev

重新上面的步骤,编译一把python即可

cd Python-3.8.0
./configure prefix=/usr/local/python3
make
sudo make altinstall

安装ngnix

sudo apt-get install nginx
sudo /etc/init.d/nginx start

打开浏览器访问你的服务器,输入http://localhost/,你应该能看到Nginx欢迎页.

配置Nginx

首先删除掉Nginx的默认配置文件:

sudo rm /etc/nginx/sites-enabled/default

创建一个我们应用使用的新配置文件/etc/nginx/sites-enabled/my_nginx.conf:

upstream flask{server 127.0.0.1:5000;server 127.0.0.1:5001;
}server {# 监听80端口listen 80;# 本机server_name localhost;# 默认请求的urllocation / {#请求转发到gunicorn服务器proxy_pass http://flask;#设置请求头,并将头信息传递给服务器端proxy_set_header Host $host;}
}

配置gunicorn

安装命令如下:

pip3 install gunicorn

安装信息如下:

[root@server01 ~]# pip3 install gunicorn
Looking in indexes: https://mirrors.aliyun.com/pypi/simple/
Collecting gunicorn
  Downloading https://mirrors.aliyun.com/pypi/packages/69/ca/926f7cd3a2014b16870086b2d0fdc84a9e49473c68a8dff8b57f7c156f43/gunicorn-20.0.4-py2.py3-none-any.whl (77kB)
     |████████████████████████████████| 81kB 7.1MB/s 
Requirement already satisfied: setuptools>=3.0 in /usr/local/python3/lib/python3.7/site-packages (from gunicorn) (39.0.1)
Installing collected packages: gunicorn
Successfully installed gunicorn-20.0.4
WARNING: You are using pip version 19.2.1, however version 19.3.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

配置全局命令:安装完毕之后,全局环境是无法直接执行的,需要找到二进制文件软链接到​​/usr/bin​​路径下。

# 安装之后,无法直接执行命令
[root@server01 ~]# gunicorn -h
-bash: gunicorn: command not found

搜索安装之后,​​gunicorn二进制可执行文件​​的位置:

[root@server01 ~]# find / -name "*gunicorn*" -ls | grep python3 | grep bin
405121    4 -rwxr-xr-x   1 root     root          236 Dec 12 08:31 /usr/local/python3/bin/gunicorn

设置软链接如下:

[root@server01 ~]# ln -s /usr/local/python3/bin/gunicorn /usr/bin/gunicorn
[root@server01 ~]# 
[root@server01 ~]# ls -ll /usr/bin/gunicorn
lrwxrwxrwx 1 root root 31 Dec 12 08:38 /usr/bin/gunicorn -> /usr/local/python3/bin/gunicorn

配置软链接之后,就可以全局环境使用gunicorn了,例如查看版本如下:

[root@server01 ~]# gunicorn -v
gunicorn (version 20.0.4)
 

启动项目

cd到项目目录下

export环境变量

export DEBUG=True
export FLASK_ENV=development
gunicorn -w 4 -b 127.0.0.1:5000 --access-logfile access.log --error-logfile error.log run:app

重启nginx

sudo nginx -s reload

后台运行的话加一个-D参数

gunicorn -D -w 4 -b 127.0.0.1:5000 --access-logfile access.log --error-logfile error.log run:app

相关内容

热门资讯

【IPO追踪】零成交常态化,解... 港股市场最尴尬的处境,莫过于股价跌跌不休,连交易都无人问津。6月24日,美联股份(02671.HK)...
SK海力士冲刺美国上市,ADR... 若顺利完成,相关交易最快有望于下个月启动,并成为韩国企业历史上规模最大的海外股权融资项目之一。 人工...
伯恩斯坦:锂价上行周期远未结束... 6月23日消息,伯恩斯坦最新研报中上调锂价预测,并将 天齐锂业(002466.SZ)A股目标价从73...
原创 全... 中国与印度尼西亚之间,正在上演一场围绕镍矿资源的激烈博弈。令人颇感意外的是,这场博弈的主动挑起者竟然...
企业出海ESG合规与可持续发展... 中新网北京6月24日电 (记者 尹倩芸)2026年北京市“走出去”系列活动——企业出海ESG合规与可...
原创 中... 聊到现在的楼市,身边人想法差得挺远。有人还在等跌,觉得再观望一阵更稳妥。也有人盯上了官方最近放的几个...
企业微信Agent内测悄启 主... 继微信AI助手开启内测后,企业微信紧跟步伐开启了AI助手的内测,但跟微信嵌入的不是同一个Agent。...
马斯克官宣Starmind太空... IT之家 6 月 24 日消息,埃隆 · 马斯克(Elon Musk)今天(6 月 24 日)在 X...
5000亿市值巨头,盘中涨停 6月24日午后,立讯精密股价直线拉升,盘中触及涨停后开板。截至发稿,该股报75.39元/股,涨8.6...
中兴通讯爱理财?额度2年翻倍至... 图片来源:图虫创意 钱的流向,往往折射出一家企业的战略重心。 6月17日,中兴通讯在深圳召开股东大会...
中国掌控全球过半铜冶炼产能,美... 【文/观察者网 王恺雯】 面对中国在铜冶炼和精炼上的主导地位,美国试图通过关税及工业政策复兴国内铜产...
年内92宗IPO获受理 创业板... 来源:滚动播报 (来源:北京商报) 随着创业板深化改革持续推进,今年创业板IPO申报热度攀升,替代北...
SpaceX跌破IPO首日开盘... 来源:滚动播报 来源:中国基金报 【导读】SpaceX股价连续重挫 中国基金报记者 张舟 Space...
酒庄头条:在郎酒庄园,看见世界... 文/酒庄头条 中国酒业该向何处去?又如何走向国际市场?酿酒业是有根产业历史经典产业,郎酒以全球视野开...
100个选基指标|利润总额,真... 推荐阅读: 100个选基指标丨自然年度收益率,最简单,也最重要(第一期) 100个选基指标丨区间收益...
连云港开发区为AI“制药”按下... 从人才赋能、校地协同到产业落地,今年以来,连云港开发区通过一系列密集举措构建起全链条、立体化的产业赋...
1.08亿控股德维嘉:无锡振华... 一家传统汽车冲压件上市公司,正试图用一笔亿元级别的现金收购,为自己贴上“汽车智能化”的标签。 6月2...
ATFX:SpaceX下跌16... 来源:市场资讯 6月23日,ATFX汇评:美国航空航天代表性个股SpaceX,上市六个交易日,三个交...
嘉实基金李涛:长期视角决策未来... 嘉实成长共赢混合基金经理李涛表示, 投资理财本质上是一场长期主义的远行,权益投资本质是追求赚取产业与...
震裕科技可转债发行申请获深交所... 雷达财经 文|苏静 编|深海 6月23日, 震裕科技(300953)发布关于公司向不特定对象发行可转...