您的位置:首页 > 运维架构 > Nginx

nginx+uwsgi+flask小例子

2015-12-26 14:05 633 查看
准备买个阿里云搭个网站,由于还没开始写网站,所以就先有本地实验一下,网上找了很多关于nginx+uwsgi的资料,可能是我自己手残的原因,总是搭建有问题。结合了几篇文章,最后用了一天时间才做完。。。

不希望忘了写下来:

1、安装virtualenv

这个看这文章的小伙伴应该都会。。。

2、在/home/www/my_flask/下新建 virtualenv venv

个人喜欢,建在哪都看自己,注意权限。

3、新建一个test.py

这个不用多说自己的flask项目

在virtualenv中 

pip install flask


4、安装uwsgi

pip install uwsgi


5、配置uwsgi 

配置文件:config.ini

放在哪不重要,记得就行

[uwsgi]
# 指向网站目录
chdir = /home/www/my_flask/
 
# python 启动程序文件
#wsgi-file = test.py
module = test
# python 程序内用以启动的 application 变量名
callable = app
socket = 127.0.0.1:8080
# 处理器数
processes = 4
#pythonpath = /home/www/my_flask/venv
# 线程数
threads = 2
#状态检测地址
stats = 127.0.0.1:9191


6、安装配置supervisor

supervisor 用来运行uwsgi

Supervisor是一个进程管理工具

用途就是有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断。当进程中断的时候我希望能自动重新启动它,此时,我就需要使用到了Supervisor

安装:

sudo apt-get install supervisor


配置文件:/etc/supervisor/conf.d/xxxx.conf

[program:my_flask]
# 启动命令入口
command=/home/www/my_flask/venv/bin/uwsgi  /home/www/my_flask/config.ini
# 命令程序所在目录
directory=/home/www/my_flask
#运行命令的用户名
user=root
autostart=true
autorestart=true
#日志地址
stdout_logfile=/home/www/my_flask/logs/uwsgi_supervisor.log


service supervisor start #开启


7、测试一下。127.0.0.1:8080

8、安装nginx

apt-get install nginx


要是不成功,或者没有,自行百度,nginx+操作系统

安装nginx 配置文件:/etc/nginx/sites-available/default

server {
listen  80;
server_name  192.168.1.125; #公网地址
location / {
include      uwsgi_params;
uwsgi_pass   127.0.0.1:8080;  # 指向uwsgi 所应用的内部地址,所有请求将转发给uwsgi 处理
}
}


浏览器输入192.168.1.125 有域名输入域名

总结,到这就结束了,但是我还是帮我和大家梳理一下这个的过程

nginx搭建好后,访问192.168.1.125或者是域名,就会跳转到这个地址的网站

nginx配置好后将会将浏览器的请求交个uwsgi 地址是127.0.0.1:8080 

请求到了uwsgi后会调用module中的test程序flask  中的app项目,交个flask来处理

supervisor能够将uwsgi守护好,有问题自行重启啊。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: