ubuntu14.04 - Flask+Nginx+WSGI 배포 오류 문제
阿神
阿神 2017-05-16 17:17:52
0
3
811

Ubuntu 14.04에서 uWSGI 및 Nginx를 사용하여 Flask 애플리케이션을 제공하는 방법의 지침에 따라 Flask 애플리케이션을 배포했습니다. 튜토리얼의 간단한 예제를 사용하면 성공적으로 배포할 수 있지만 애플리케이션의 항목 파일을 내 항목으로 바꾸면 작동하지 않습니다. 소유하고 있는데, 이상한 점은 virtualenv 환경에서 바로 사용된다는 점

으아악

도 가능하지만

를 사용하세요. 으아악

가 작동하지 않습니다. 오류는 다음과 같습니다.

으아악

위 오류 메시지는 해당 주소가 사용되었다는 표시인데 해당 주소와 포트를 차지하는 여러 개의 주소와 포트가 열리지 않은 것입니다. 처음에는 이해가 되지 않습니다.

阿神
阿神

闭关修行中......

모든 응답(3)
某草草

신중하게 조사한 끝에 마침내 문제를 해결했습니다. 먼저 항목 파일의 코드를 게시하겠습니다.

으아악

uwsgi --socket 0.0.0.0:5000 --protocol=http -w wsgi를 사용하여 직접 실행했을 때 보고되는 오류는 질문에 게시된 오류 메시지와 동일하며, 주소가 사용 중입니다. 그런데 점유된 해당 애플리케이션을 프로세스나 포트에서 찾을 수 없는 이유는 무엇입니까? 꼼꼼히 비교해봤습니다: uwsgi --socket 0.0.0.0:5000 --protocol=http -w wsgi直接执行的时候,报的错如问题中贴的错误提示一样,地址被占用。但是进程中和端口都找不到占用的对应的应用程序,为啥简单的例子可以呢?我仔细对比了下:

#!/usr/bin/env python
# -*-  coding=utf-8 -*-

from application import create_app

__author__ = 'Riky'

app = create_app('idc')

app.run()

很明显因为我在IDE中开发中习惯了,而忽略了入口文件最基础的部分:

from flask import Flask
application = Flask(__name__)

@application.route("/")
def hello():
    return "<h1 style='color:blue'>Hello There!</h1>"

if __name__ == "__main__":
    application.run(host='0.0.0.0')

这样错误就变成了:

#入口在没有以下代码的前提下,使用python run.py 是可以执行的
if __name__ == "__main__":
    app.run(host='0.0.0.0')

而出现这个错误是一个比较让人无语的问题,uwsgi只能在入口文件识别application,而无法识别我定义的run。之所以会出现端口占用的情况,是因为app.run()实际上也执行了,但并不是uwsgi要加载的应用application 으아악

분명히 저는 IDE 개발에 익숙했기 때문에 항목 파일의 가장 기본적인 부분인

을 무시했습니다. 으아악

오류는 다음과 같습니다: #🎜🎜# 으아악 #🎜🎜#이 오류의 발생은 말문이 막히는 문제입니다. uwsgi는 항목 파일의 application만 인식할 수 있고, 제가 정의한 run은 인식할 수 없습니다. 포트가 점유되는 이유는 app.run()이 실제로 실행되기 때문인데, uwsgi가 로드할 애플리케이션 application이 아니기 때문입니다. #🎜🎜# #🎜🎜#마지막으로 다음으로 변경하세요. #🎜🎜# 으아악
曾经蜡笔没有小新

uwsgi에는 액세스 주소와 포트 번호를 정의할 수 있는 구성 파일이 있습니다. 제 생각엔 소켓.오류: [Errno 98] 주소 이미 사용 중 문장 오류가 uwsgi를 구성하지 않은 이유일 수 있습니다. uwsgi 구성과 플라스크 프로젝트 배포 과정은 제가 쓴 글을 참고하시면 됩니다 ㅎㅎ.
/a/1190000004294...

黄舟

netstat -ntlp 포트가 uwsgi에 의해 점유되어 있는지 확인합니다. 그렇다면 ps -ef | grep uwsgi가 pid를 찾은 다음 kill

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!