Ubuntu1404配置Nginx+uWSGI托管virtualenv下Flask应用的一点注意事项
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Ubuntu1404配置Nginx+uWSGI托管virtualenv下Flask应用的一点注意事项,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1914字,纯文字阅读大概需要3分钟。
内容图文
![Ubuntu1404配置Nginx+uWSGI托管virtualenv下Flask应用的一点注意事项](/upload/InfoBanner/zyjiaocheng/159/c1b5bac2669548f99f724a0a0c824fb1.jpg)
Nginx + uWSGI 可以说是 Python Web 项目托管的不二之选,当然,如果只是自己开发测试,或者应用在访问量很小的应用上,Gunicorn 甚至 Web 框架自带的 web server 也许就够了,但是我们逃不开会碰到这对王者组合的情况,今天我就遇到了这样的坑。按照官方文档分别配置 Nginx 和 uWSGI 后,使用 uwsgi 的命令语句启动,没有任何问题,但是尝试使用 ini 配置启动 uWSGI 后,则会遇到一直报 502 bad gateway
的错误。
一番排查后——排查过程不表——发现问题所在,我的 uWSGI 安装在了项目的 virtualenv 目录中,然而 ini 配置文件却没有配置虚拟环境目录,而网上现有的博客教程里的 ini 配置都是没有提到这个问题的,所以,我们加上虚拟环境的配置,并且注意,最好加上 plugin = python
这一条配置,当然了,这个需要提前安装,具体如何安装,不是本文重点,暂不赘述了。
所以,我最终的 ini 配置文件内容如下:
[uwsgi]plugins = pythonvhost = truechdir = /home/k/Documents/demovenv = /home/k/Documents/demo/venv#python module to import
app = mainmodule = %(app)#socket file's location
socket = /home/k/Documents/demo/%n.sock#permissions for the socket file
chmod-socket = 666#the variable that holds a flask application inside the module imported at line #6
callable = app#location of log files
logto = /home/k/Documents/demo/%n.logprocesses = 4threads = 2
而我的项目目录结构则是:
demo/
|____venv/
|____main.py# 这个是应用的启动文件(对应 ini 配置中的 app)
|____uwsgi.ini
|____uwsgi.sock
|____uwsgi.log
|____access.log# 这个是 Nginx 中的 access 日志配置
|____error.log# 这个是 Nginx 中的 error 日志配置
').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('').text(i));
};
$numbering.fadeIn(1700);
});
});
以上就介绍了Ubuntu 1404 配置 Nginx + uWSGI 托管 virtualenv 下 Flask 应用的一点注意事项,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
内容总结
以上是互联网集市为您收集整理的Ubuntu1404配置Nginx+uWSGI托管virtualenv下Flask应用的一点注意事项全部内容,希望文章能够帮你解决Ubuntu1404配置Nginx+uWSGI托管virtualenv下Flask应用的一点注意事项所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。