FlaskアプリケーションをGunicornで起動時のエラー対応
問題の概要
Gunicorn + Nginx + Flaskでアプリケーションをデプロイした際、プロジェクトは正常に起動するものの、APIアクセス時にエラーが発生しました。
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/gunicorn/workers/sync.py", line 135, in handle
self.handle_request(listener, req, client, addr)
File "/usr/local/ ...
7月24日 02:29 投稿
CentOS 7 環境における Apache 2.4 経由の Django プロジェクト導入ガイド
本手順では、CentOS 7 オペレーティングシステム上で Python および Django フレームワークを利用した Web アプリケーションを、Apache HTTP サーバーとの連携により公開する設定方法について記述します。対象バージョンは以下の通りです。
サーバー側 OS: CentOS 7
Web サーバー:Apache 2.4 系列
スクリプト言語:Python 2.7 (推奨 2.7.x)
フレームワーク:Django 1.8 ...
7月18日 20:53 投稿
Pythonにおける軽量Webフレームワーク:BottleとFlaskの構造と活用
Webフレームワークの基本アーキテクチャ
Webフレームワークの根幹は、本質的に「Socketサーバー」です。WSGI(Web Server Gateway Interface)または独自のSocket通信を起点とし、URLルーターがリクエストを特定の関数やクラスへ振り分けます。その後、テンプレートエンジンがロジックから渡されたデータとHTMLを合成し、最終的なレスポンスをブラウザへ返却するという ...
5月20日 10:39 投稿
Python Web開発入門:WSGI、Djangoインストール、主要フレームワーク比較
シンプルなWebサーバーの実装
以下は、socketモジュールを用いてHTTPリクエストを処理する最小限のWebサーバーの例です。
import socket
sock = socket.socket()
sock.bind(('127.0.0.1', 8080))
sock.listen(5)
conn, addr = sock.accept()
raw_data = conn.recv(1024).decode('utf-8')
path = raw_data.split('\r\n')[0].split(' ')[1]
conn.send(b'HTTP/1.1 200 OK\ ...
5月19日 15:33 投稿
Gunicornの設定と運用
1. Gunicornとは
Gunicornは、Unix系OS上で動作する高性能なPython WSGI HTTPサーバーです。HTTPリクエストを解釈するゲートウェイサービスとして機能します。通常、NginxのようなリバースプロキシやAWS ELBのようなロードバランサと、DjangoやFlaskなどのWebアプリケーションの間に配置されます。その動作モデルはプリフォークワーカーモデルに基づいており、eventletやgr ...
5月19日 12:21 投稿
CGIの仕組みとcgi-binディレクトリの役割
Web黎明期に登場したCGI(Common Gateway Interface)は、HTTPサーバーが外部プログラムと連携して動的コンテンツを生成するための規約である。cgi-binという特殊ディレクトリは、この規約を実現するための舞台として長年使われてきた。以下では、CGIの動作フローから実装例、そして現代の代替技術までを俯瞰する。
CGIが動くまでの流れ
ブラウザがURL(例: /cgi-bin/wea ...
5月15日 22:09 投稿