動作環境
さくらのVPS
almalinux9
apache
wsgi導入済み
flaskは未導入
hello.py
#WSGIはHTTPリクエストを受け取ると、application()を呼び出してHTTPレスポンスを返す
def application(environ, start_response):
status = '200 OK'
output = b'Hello World!!' #bは、バイト文字列を表すプレフィックス
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
apacheの設定ファイルを以下のように編集
$ sudo vim /etc/httpd/conf.d/hello.conf
WSGIScriptAlias /hello /var/www/hello/hello.py
# WSGIをデーモンで実行する場合は以下の二行を追加
# WSGIDaemonProcess myflaskapp processes=2 threads=15 display-name=%{GROUP}
# WSGIProcessGroup myflaskapp
<Directory /var/www/hello>
Order allow,deny
Allow from all
</Directory>
バーチャルホストの場合
<VirtualHost *:80>
ServerName example.com
WSGIScriptAlias / /path/to/your/application.wsgi
</VirtualHost>
<VirtualHost *:80>
ServerName example2.com
# ここにはWSGIScriptAliasを指定しない
</VirtualHost>