flask+uwsgi+nginx

如题,这里记录一会用到的一些知识

环境: Ubuntu 18.04

一、首先理解三者之间的关系:

这里不再赘述,因为这位大哥讲的很清楚,链接如下:

flask+uwsgi+nginx三者关系

二、关系理清之后就开始部署:

注: 此次部署的文件结构大致为下,方便后面参考配置文件

srv
└── text-board
├── app
├── flask
├── log
├── config.ini
└── tmp

text-board为项目主目录,flask为创建的虚拟环境,config.ini文件为之后配置的uwsgi文件。

Ubuntu下安装nginx:

sudo apt-get install nginx

在服务器添加安全组之后,浏览器输入ip访问能看到nginx的欢迎界面,说明启动成功。如果出现不能访问或不能连接之类,可进控制台看看是否设置安全组。

配置nginx:

nginx的默认配置目录为/etc/nginx/conf.d
在该目录下创建文件file_name.conf,这里即执行sudo vim text-board.conf然后接下来就是配置nginx了,参考配置文件如下:

# 配置服务器
server {
	# 设置监听端口
	listen 80; 

	# 有域名写域名 没有就先把ip整上去
	server_name 139.155.21.209;  

	# 指定编码
	charset utf-8; 

	# 可设定日志路径, 默认路径为 var/log/nginx
	# access_log [路径] [格式]

	# 指定项目路径uwsgi
	location / { 
		# 导入一个Nginx模块用来和uWSGI进行通讯,导入uwsgi配置
		include uwsgi_params; 
		
		# 设置连接uWSGI超时时间
		uwsgi_connect_timeout 30; 
		
		#转发端口,需要和uwsgi配置当中的监听端口一致
		uwsgi_pass 127.0.0.1:9000;  
		
		#虚拟环境的目录,没有的可以写上编译器的位置
		uwsgi_param UWSGI_PYTHON /srv/text-board/flask
		
		#run为之前run.py的run,app为flask对象
        uwsgi_param UWSGI_SCRIPT run:app; 
        
        #项目根目录
        uwsgi_param UWSGI_CHDIR /srv/text-board;
	}
}

然后就是uwsgi的配置了:

(配置文件的位置见上方的文件结构树)

#下面这个不能少,不然不能识别这是uwsgi的配置文件,会报错
[uwsgi]

#uwsgi 启动时所使用的地址与端口
socket = 127.0.0.1:9000

#指向项目根目录
chdir = /srv/text-board

#python 启动程序脚本文件,这里用的是绝对路径
wsgi-file = /srv/text-board/run.py

#python 程序内用以启动的 application 变量名(即flask对象)
callable = app

#启用主进程
master = true

#当服务器退出的时候自动删除unix socket文件和pid文件。
vacuum = true

#处理器数
processes = 1

#线程数
threads = 2

#状态检测地址
stats = 127.0.0.1:9191

#安装uwsgi-plugin-python后需要添加的一个参数
plugins = python 

然后启动uwsgi,如果不写绝对路径的话记得cd到相应目录

sudo uwsgi --ini /srv/text-board/config.ini

注:运行uwsgi时会出现一大堆。。。
接着浏览器输入ip能看到自己写的项目了。。

ps:第一次弄这个,中途各种报错,快被玩坏了。。

参考(好人一生平安。。。)
组长的Django+Nginx+uwsgi部署
Flask Web Ubuntu服务器部署
Python3 基于 Nginx 部署 Flask 项目
flask+uwsgi+nginx环境部署
用uWSGI和Nginx部署Flask项目
Flask+uwsgi+Nginx部署应用
uwsgi常用参数详解

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值