bottleをmod_wsgiで動かす(CentOS7, Python2.7)
環境 Link to heading
- CentOS 7.3
- Apache 2.4.6
- mod_wsgi 3.4
- Python 2.7.5
- bottle 0.12.13
上記環境を用意しbottleで作成したWebページを表示させます。
各バージョンはyumやpipを使ってデフォルトでインストールできるものです。
設定ファイル等は編集せずデフォルトのままでOKです。
参考にインストールコマンドを載せておきます。
# yum install epel-release
# yum install httpd mod_wsgi python-pip
# pip install bottle
Apacheの設定 Link to heading
/etc/httpd/conf/httpd.conf の末尾に以下を追加
WSGIScriptAlias / /var/www/html/adapter.wsgi
アダプタの作成・編集 Link to heading
/var/www/html/adapter.wsgi を作成し以下の内容を記述
# coding: utf-8
import sys, os
import bottle
dirpath = os.path.dirname(os.path.abspath(__file__))
print(dirpath)
sys.path.append(dirpath)
os.chdir(dirpath)
import index
application = bottle.default_app()
「import index」の位置が重要だったりします(最初import文を上にまとめて書いててハマりました)。
ページを記述 Link to heading
/var/www/html/index.py を作成し以下の内容を記述
# coding: utf-8
from bottle import route
@route('/')
def index():
return "Hello, world."
Apacheの再起動と確認 Link to heading
# systemctl restart httpd
Webブラウザで「http://127.0.0.1」にアクセスし、「Hello, world.」と表示されれば成功