찾다
백엔드 개발PHP 튜토리얼Ubuntu 1404의 virtualenv에서 Flask 애플리케이션을 호스팅하도록 Nginx uWSGI 구성에 대한 몇 가지 참고 사항

제목이 엄청 길지만, 이 글의 내용은 아주 간단합니다. 오늘날 Python 개발에 있어 가상 환경은 필수이지만, 때로는 오늘 이야기할 Flask 애플리케이션 호스팅 문제와 같이 가상 환경이 불필요한 문제나 함정을 가져올 수 있습니다.

Nginx uWSGI는 Python 웹 프로젝트 호스팅을 위한 최고의 선택이라고 할 수 있습니다. 물론 직접 개발하고 테스트하거나 트래픽이 거의 없는 애플리케이션, Gunicorn 또는 웹 서버에 적용하는 경우에도 마찬가지입니다. 웹 프레임워크와 함께 제공되는 것만으로도 충분하지만 오늘 이런 왕쌍을 만나는 상황에서 벗어날 수는 없습니다. 공식 문서에 따라 Nginx와 uWSGI를 각각 구성하고 uwsgi의 명령문을 사용하여 시작하면 문제가 없습니다. 그러나 ini 구성을 사용하여 uWSGI를 시작하려고 하면 502 bad gateway 오류가 발생합니다.

일부 문제 해결 후 - 문제 해결 프로세스가 명확하지 않음 - 문제를 발견했습니다. 내 uWSGI가 프로젝트의 virtualenv 디렉터리에 설치되었지만 ini 구성 파일이 가상 환경 디렉터리를 구성하지 않았으며 기존 온라인 블로그 튜토리얼의 ini 구성에는 이 문제가 언급되어 있지 않으므로 가상 환경의 구성을 추가하고 plugin = python 구성을 추가하는 것이 가장 좋습니다. 물론 이것은 사전에 설치되어야 합니다. 구체적으로 설치하는 것은 이 기사의 초점이 아니므로 지금은 자세히 설명하지 않겠습니다.

그래서 내 최종 ini 구성 파일 내용은 다음과 같습니다.

<code><span>[uwsgi]</span><span>plugins = <span>python</span></span><span>vhost = <span><span>true</span></span></span><span>chdir = <span>/home/k/Documents/demo</span></span><span>venv = <span>/home/k/Documents/demo/venv</span></span>#python module to import
<span>app = <span>main</span></span><span>module = <span>%(app)</span></span>#socket file's location
<span>socket = <span>/home/k/Documents/demo/%n.sock</span></span>#permissions for the socket file
<span>chmod-socket    = <span><span>666</span></span></span>#the variable that holds a flask application inside the module imported at line #6
<span>callable = <span>app</span></span>#location of log files
<span>logto = <span>/home/k/Documents/demo/%n.log</span></span><span>processes = <span><span>4</span></span></span><span>threads = <span><span>2</span></span></span></code>

내 프로젝트 디렉터리 구조는

<code>demo/
|____venv/
|____main<span>.py</span><span># 这个是应用的启动文件(对应 ini 配置中的 app)</span>
|____uwsgi<span>.ini</span>
|____uwsgi<span>.sock</span>
|____uwsgi<span>.log</span>
|____access<span>.log</span><span># 这个是 Nginx 中的 access 日志配置</span>
|____error<span>.log</span><span># 这个是 Nginx 中的 error 日志配置</span></code>
').addClass(' pre -번호 매기기').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

위 내용은 몇 가지 측면을 포함하여 Nginx uWSGI를 virtualenv에서 호스팅하도록 구성할 때 Ubuntu 1404에 대한 몇 가지 주의 사항을 소개합니다. 이 내용이 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
详细讲解Python之Seaborn(数据可视化)详细讲解Python之Seaborn(数据可视化)Apr 21, 2022 pm 06:08 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Seaborn的相关问题,包括了数据可视化处理的散点图、折线图、条形图等等内容,下面一起来看一下,希望对大家有帮助。

centos+nginx+uwsgi部署django项目上线的方法centos+nginx+uwsgi部署django项目上线的方法May 15, 2023 am 08:13 AM

我django项目叫yunwei,主要app是rabc和web,整个项目放/opt/下如下:[root@test-codeopt]#lsdjango_virtnginxredisredis-6.2.6yunwei[root@test-codeopt]#lsyunwei/manage.pyrbacstatictemplatesuwsgiwebyunwei[root@test-codeopt]#lsyunwei/uwsgi/cut_log.shloguwsgi.iniuwsgi.loguwsgi.p

详细了解Python进程池与进程锁详细了解Python进程池与进程锁May 10, 2022 pm 06:11 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于进程池与进程锁的相关问题,包括进程池的创建模块,进程池函数等等内容,下面一起来看一下,希望对大家有帮助。

Python自动化实践之筛选简历Python自动化实践之筛选简历Jun 07, 2022 pm 06:59 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于简历筛选的相关问题,包括了定义 ReadDoc 类用以读取 word 文件以及定义 search_word 函数用以筛选的相关内容,下面一起来看一下,希望对大家有帮助。

归纳总结Python标准库归纳总结Python标准库May 03, 2022 am 09:00 AM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于标准库总结的相关问题,下面一起来看一下,希望对大家有帮助。

比较Flask应用部署的Gunicorn和uWSGI性能对比比较Flask应用部署的Gunicorn和uWSGI性能对比Jan 17, 2024 am 08:52 AM

Flask应用部署:GunicornvsuWSGI的比较引言:Flask作为一种轻量级的PythonWeb框架,受到了很多开发者的喜爱。在将Flask应用部署到生产环境时,选择适合的服务器网关接口(ServerGatewayInterface,简称SGI)是至关重要的决策。Gunicorn和uWSGI是两种常见的SGI服务器,本文将对它们进行详细的

分享10款高效的VSCode插件,总有一款能够惊艳到你!!分享10款高效的VSCode插件,总有一款能够惊艳到你!!Mar 09, 2021 am 10:15 AM

VS Code的确是一款非常热门、有强大用户基础的一款开发工具。本文给大家介绍一下10款高效、好用的插件,能够让原本单薄的VS Code如虎添翼,开发效率顿时提升到一个新的阶段。

如何用nginx+uwsgi部署自己的django项目如何用nginx+uwsgi部署自己的django项目May 12, 2023 pm 10:10 PM

第一步:换源输入命令换掉Ubuntu的下载源sudonano/etc/apt/sources.list将以下全部替换掉原文件,我这里用的是阿里的源,你也可以换其他的。debhttp://mirrors.aliyun.com/ubuntu/bionicmainrestricteddebhttp://mirrors.aliyun.com/ubuntu/bionic-updatesmainrestricteddebhttp://mirrors.aliyun.com/ubuntu/bionicunive

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전