Python - flask - apache への組込 - uwsgi


 クラウディア


1. 概要
2. インストール
3. uwsgi 設定

1. 概要

 「uwsgi」というのは、「php」で「mod_php」の代わりに「php-fpm」を使うようなもんですな。  「Gunicorn」とかいう、リバースプロキシちゅうのもあるようですが・・・。  「uwsgi」を使ってみます。

2. インストール

 「FreeBSD 15.0 RELEASE」へ組み込みます。  「root」ユーザ権限で。

cd /usr/ports/www/uwsgi

make config
 デフォルトのオプションです。

 何かの役に立つかもしれないので、「JSON」のチェックをいれておきます。


make NO_DIALOG=yes

make install
 「make」は、速いですが、わけわからないメッセージがわらわらと表示されました。  インストール時のメッセージを残しておきます。

===>  Installing for uwsgi-py311-2.0.31
===>  Checking if uwsgi-py311 is already installed
===>   Registering installation for uwsgi-py311-2.0.31
Installing uwsgi-py311-2.0.31...
===> Creating groups
Creating group 'uwsgi' with gid '165'
===> Creating users
Creating user 'uwsgi' with uid '165'

3. uwsgi 設定

 プロジェクトルートを。

/usr/local/www/flask
 として、「uwsgi」のコンフィグレーションファイルを作成します。

mkdir -pv /usr/local/www/flask
vi /usr/local/www/flask/uwsgi.ini
 下記を記述します。

[uwsgi]
chdir = /usr/local/www/flask
module = app:app

master = true
processes = 5

socket = 127.0.0.1:3031

vacuum = true
die-on-term = true

logto = /var/log/www/uwsgi.log
 2行目は、「flask」のアプリケーションの場所を定義しています。  3行目は、実行ファイル名と、「flask」のインスタンス名を定義しています。  5、6行目は、プロセス管理を定義しています。  8行目は、「apache」との通信ソケットを定義しています。  10、11行目は、終了時にソケットファイルをクリアする定義を行っています。  13行目は、ログファイルの定義を行っています。  「uwsgi」のプロセス定義を行います。

sysrc uwsgi_configfile="/usr/local/www/flask/uwsgi.ini"
sysrc uwsgi_profiles="flask_app"
sysrc uwsgi_flask_app_configfile="/usr/local/www/flask/uwsgi.ini"
sysrc uwsgi_enable="YES"
 起動します。

service uwsgi start

Processing uwsgi profile: flask_app
Starting uwsgi.
[uWSGI] getting INI configuration from /usr/local/www/flask/uwsgi.ini

TikTok Shop 【リピート用プログラム】
AbemaTV 無料体験