底辺プログラマーが達人プログラマーになるまでこの広告は、90日以上更新していないブログに表示しています。mod_wsgiでWebサーバを構築してみたPython皆さんこんにちは、こんばんはTomoProgです。気がつけばもう4月も最終日。この4月に書いた記事数を見てみると、1件YouTubeを禁止した記事しか書いてなかったんですね。毎日書くと言っていた日々は何だったのか。そんなことは知りません。今回はUbuntuでDjango、Apache、mod_wsgiを使ってWebサーバを構築してみました。それでは頑張っていきましょう。Django?Apache?mod_wsgi?そもそも、Django、Apache、mod_wsgiってなんぞやという人も多いと思うので、自分の整理のためにも簡単に説明してみようと思います。Django(ジャンゴ)とはDjangoはPythonで書かれたWebフレームワークの1つです。PythonのWebフレームワークは数多く存在しますが、その中でもフルスタックのWebフレームワークなのが特徴的で、Webアプリを作成するために必要な機能はDjangoだけでほぼ実装できるみたいです。多くの機能を提供してくれるのですが、なんと無料で使用できます。ちなみに読み方は「ジャンゴ」です。「ディージャンゴ」と読んだ人は私と同レベルです。笑Apache(アパッチ)とはWebサーバソフトウェアの1つです。ほとんどのWebサービスはこのApacheで動いているのではないかと思っています。初版は1995年に公開されたらしいです。20年以上経った今でも多くの人が使用しているのは驚きですね。ちなみにApacheもDjangoと同じで無料で使えます。mod_wsgi(モッドウィズギィ)とはmod_wsgiはPythonプログラムをApache上で動作させるために必要なモジュールです。ApacheにDjangoで作ったWebサービスを公開するときに使用します。こちらも無料で使用可能です。必要なものをインストールするさて、使用するソフトやモジュールの紹介も終わったので、早速Ubuntuにインストールしていきましょう。Apacheのインストールまずは、WebサーバソフトウェアであるApacheをインストールします。ターミナルを開いて、以下のコマンドを入力します。apache2-dev構築した環境にブラウザからアクセスして以下のようなサイトが出てきたらApacheのインストールは完了です!!Djangoのインストール次はDjangoをインストールしていきましょう。Djangoは仮想環境で構築したいので、毎回お世話になるvirtualenvを入れていきます。virtualenvvirtualenvがインストールできたところで、仮想環境を作成し、仮想環境に入っておきます。WebAppの部分は任意で構いません。bin/activate(WebApp)がターミナルの先頭に表示されれば仮想環境に入れている状態です。(virtualenvコマンドでWebAppの部分を変更した人はその変更した名前になっていればOKです。)さて、仮想環境も出来たので、Djangoをインストールします。言っても仮想環境内でたった一行入力するだけです。djangodjangoがインストール出来たかどうかはインタラクティブシェルを起動して、以下のコードを入力します。django.get_version()インストールしたdjangoのバージョンが表示されればOKです。mod_wsgiをインストールあとはmod_wsgiに関するモジュールをインストールしていきます。こちらも仮想環境内でインストールします。mod-wsgi-httpdインストールに少し時間がかかるので、気長に待っていてください。これで必要なものはすべてインストール完了です。Worked!のページを出力してみます。仮想環境内でDjangoプロジェクトを作成します。mysiteの部分は任意のプロジェクト名で構いません。mysiteプロジェクトのディレクトリが作成されていれば成功です。あとは上記で作成したDjangoプロジェクトを以下のコマンドで80番ポートで起動させます。mysite/wsgi.pyuserに指定するユーザはログインしているユーザの名前を入れておけば大丈夫みたいです。Apacheが起動している場合は80番ポートが既に使用されているためエラーになると思います。その場合は以下のコマンドでApacheを一度止めてから、上のコマンドを試してみてください。mod_wsgiを使ってWebサーバを構築出来ました。これを使って何かWebアプリを作成する予定です。Djangoは公式ドキュメントも充実しているので、Python使っている人でWebフレームワーク使いたいという人はDjangoを使ってみてはどうかと思います。TomoProgです。TomoProgです。TomoProgです。TomoProgです。TomoProgです。»プロフィールid:TomoProg社会人6年目のプログラマーです。Birthdayプログラムで無事に誕生日を迎えました。(1)月別アーカイブ参加グループプログラミングはてなブログをはじめよう!TomoProgさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。