position: absolute;

選択されているタグ : python

PythonのSimpleHTTPServerはいいねえ


私はSublime Textをマークアップには愛用していますが、最近SublimeServerを利用すると保存時に落ちるという事象が発生するようになりました。で、今の案件で「CodeKit使おう!」という気分になったので利用すると落ちる頻度が格段に上がるという事態に。SublimeServerを起動させずに利用すると落ちないので直接的な要因はまあ、それなんでしょうという感じです。

他のパッケージ(特にビルド系)との食い合せとかいろいろあるのでSublimeServerを悪者にするつもりもありませんし、ちゃんと原因究明すれば答えは出るんでしょうが、そこを探求するよりも他の方法でWebサーバー探すことに。

apacheを使うのも考えたんですが、マークアップ時の確認ではそこまでの機能は求めていませんし、confをいちいち編集するのも面倒(同意してくれるはず!…多分)。つか、コマンドライン(ターミナル、いわゆる黒い画面)でコマンド叩けばカレントのディレクトリをドキュメントルートにしてくれるような取り回しの楽なのないかなーと。で、浮上したのがPythonのSimpleHTTPServerでした。

python -m SimpleHTTPServer 8080

とコマンドを入力すれば、カレントのディレクトリをドキュメントルートにしてくれるので http://localhost:8080/ でアクセスできるようになります。SublimeServerだと http://localhost:8080/projectname/ だったので / 始まりのファイル指定を避けたりしていたのですが、ドメイン直下で展開もできるのでそちらも問題なし。Sublime Textも落ちなくなったので私的にはなんの不満もなくなりました。やー、便利。

あまりに便利なので ~/.bash_profile に

alias simplehttpd='python -m SimpleHTTPServer 8080'

と書き込んで早速ショートカットを作るほど。

利用するときの手順は以下



  1. Sublime Textからドキュメントルートにしたいディレクトリをターミナルで開く。 (MacTerminal 利用)
  2. simplehttpd と入力(私はaliasを作りましたが、作らない場合は python -m SimpleHTTPServer 8080)
  3. ブラウザで http://localhost:8080/ にアクセス


できました!

あとはCodeKitの設定が適切であればLiveReloadもしてくれるので、「なにF5押してんの?」ともならなくて済みます。

まあ、元々の原因であるSublimeServerの問題を放置している件については…まあ、その…気が向けば調査したいと思います。