2018では、WebサーバApacheがHTTPSアクセスをListenしています。そのため、PythonのWebフレームワークBottleでHTTPSアクセスをListenするWebアプリを運用したくても、ポートが競合するためうまくいきません。そこで、WSGIを使ったApacheとBottleの連携に挑戦してみました。Bottleとはこの前記事を書きました。Pythonの超軽量Webフレームワークです。プログラミング言語Pythonにおいて、WebサーバとWebアプリケーション(もしくはWebアプリケーションフレームワーク)を接続するための、標準化されたインタフェース定義である。WikipediaよりWebサーバ(Apache)とWebアプリケーションフレームワーク(Bottle)を接続できる仕組みです。3.7.3とBottleを使ったWebアプリを実行する仮想環境を作ります。3.7.3が導入されていることが前提です(こちらを参照)。仮想環境を置くディレクトリは/Users/username/webApp/test/です。そこにapplication.pyを作成します。前半は、pipenvで構築した仮想環境を起動させる部分、後半はBottleによるWebサーバです。今回はWSGIの練習なので、ローカルで実験してみます。mod_wsgiが有効になっている必要があります。私の環境では、前の記事で書いたとおり設定済みです。VirtualHostを有効にしている私の環境における設定ファイルは/usr/local/etc/httpd/extra/httpd-vhost.confです。localhostに関する設定を次のとおり記述します。WSGIScriptAliasで、スクリプトのパスとWebアドレスの対応を定義します。下記の設定では、http://localhost:8080/test/へのアクセスにapplication.pyが応答するようになります。granted</Directory></VirtualHost>設定ファイルの更新後は、Apacheを停止&再起動しましょう。ブラウザでアクセスしてみるhttp://localhost:8080/test/hello/hogeにアクセスしたときのレスポンスです。ApacheとBottleとの連携がうまくいきました。画像ファイルサイズを変更。Automatorでクイックアクション化。ファイル名をハッシュ値でリネーム。Automatorでクイックアクション化。BottleでWebSocketを試す。コメントをキャンセルメールアドレスが公開されることはありません。上に表示された文字を入力してください。コメントデータの処理方法の詳細はこちらをご覧ください。画像ファイルサイズを変更。Automatorでクイックアクション化。ファイル名をハッシュ値でリネーム。Automatorでクイックアクション化。DockerでHTTPS-PORTAL使うとHTTPSサイトの構築が超絶簡単DockerでWordPress+MySQL+phpMyAdmin+WSGIのプラクティスBB-8のプラモデルを作りました。プラモデル作りを再開。BottleでWebSocketを試す。fastenersで排他ロックを試す。Blue-black.ink。