今さらPython3 (65) - Apacheなど
第9章。果たしてWebは解きほぐせるのか?
- 作者: Bill Lubanovic,斎藤康毅,長尾高弘
- 出版社/メーカー: オライリージャパン
- 発売日: 2015/12/01
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
bottleとflask(フラスコ)というwebフレームワークを見てきたけど、これらの中ではそれ自身がもっているテスト用のwebサーバーを使っていたいたり、最小限の機能を備えたpython自身が持っているwebサーバーを使っていたけど、そろそろ聞いたことがあるアレの出番かなと思ったり。
Apache
Webサーバーと言えば、これでしょ?というぐらい、これが頭に浮かんでくるわけですよ。
Welcome! - The Apache HTTP Server Project
Macだと最初から入っているので、インストールせずにそのまま行けるはず。バージョンを確認してみよう。
$ apachectl -v Server version: Apache/2.4.16 (Unix) Server built: Jul 22 2015 21:03:09
起動してみる。
$sudo apachectl start
http://localhostにアクセス。
動いてるね。出ているファイルはこれかな?/Library/WebServer/Documents/index.html.en
ここで、apacheのデフォルトサイトを定義するファイルとやらを探さないといけない訳だね。Mac OSX Yosemiteの場合は、/etc/apache2/httpd.confに設定ファイルがあるという情報をググって得たんだけど、普通にサーチしても出て来ない。要は、隠しファイルになっているので、とりあえず力尽くでファイルがあるかどうか確認してみよう。
$ sudo vi /etc/apache2/httpd.conf
ただ、本に書いてあるとおりの箇所がないと思っていてググっていたら、ドンピシャのがあった。
Set up Virtual Hosts in Apache on Mac OSX 10.10 Yosemite
とりあえずコレに倣って設定してみよう。
# Virtual hosts Include /private/etc/apache2/extra/httpd-vhosts.conf
上の部分を検索して、Include文の先頭にある#を削除する。(アンコメント)
LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
この行もアンコメント。(てか、この行の方がファイルの上の方にあるはず)
引き続いて、ファイルをいじる前に、事故防止のためにバックアップ取っておきますか。
sudo cp /etc/apache2/extra/httpd-vhosts.conf /etc/apache2/extra/httpd-vhosts.conf.bak
編集モードで入ってみます。
$ sudo nano /etc/apache2/extra/httpd-vhosts.conf
やっと本に載っているのと同じような箇所を発見。
<VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "/usr/docs/dummy-host.example.com" ServerName dummy-host.example.com ServerAlias www.dummy-host.example.com ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log" CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common </VirtualHost>
ただ、本に載っているのとかなり構成が違っていて、いろいろ試してみたけど上手く行かず、ずっとIt works!が表示され続けました。この続きは、後で出直すことにしよう。
VirtualHost Examples - Apache HTTP Server Version 2.4
ここら辺の設定を少し勉強してから再トライだね。
他のwebサーバーたち
本の中ではセクション別れてしまっているけど、Webサーバーでまとめておく。
Welcome! - The Apache HTTP Server Project
nginx news
The uWSGI project — uWSGI 2.0 documentation
CherryPy — A Minimalist Python Web Framework
Pylons Project : Home
イベントベースサーバーというのもあるらしい。
Tornado Web Server — Tornado 4.3 documentation
What is gevent? — gevent 1.1rc3.dev0 documentation
Gunicorn - Python WSGI HTTP Server for UNIX
全部を試す訳にはいかないので、名前の列挙のみ。。。
その他のフレームワーク
まずは比較サイト押さえておかないと。
あとは列挙。データベースを背後に持って初めてアプリかなという気がするので、こういうのをやっておきたいところ。
The Web framework for perfectionists with deadlines | Django
web2py Web Framework
The Pyramid Web Framework — The Pyramid Web Framework v1.5.7
The Web Framework that scales with you. — TurboGears2 Website 3.0 documentation
akorn / wheezy.web — Bitbucket
この本は持っているので、djangoはちゃんと勉強したいと思いつつ、時間だけが経過しております。
Test-Driven Development with Python
- 作者: Harry J. W. Percival
- 出版社/メーカー: O'Reilly Media
- 発売日: 2014/06/11
- メディア: Kindle版
- この商品を含むブログを見る
(つづく)