なんの共有もしない記事です。「小生、Win Server 使ってDjangoでWebアプリ作れるようになったデュフゥーw 」っていう自慢話です。正直二度とやりたくない。
事の発端
前にWebアプリケーションのベースを作ったんですが、自分が契約してるWin Serverに移管することにしました。途中までPHPでバックエンドのアプリケーションを作っていましたが、今後PHPを使う予定がないのと、VPSでWebアプリを動かしてみたかったという理由からVPSに移管します。
やったこと
- 外部に公開するポートの設定(FTP通信の設定と同じ)
- Windows ServerのIIS設定
- Djangoでプロジェクト立ち上げ
この3つです。
ネットワーク関係は大体ネットに書いてある記事をそのままやってもファイヤーウォールに邪魔されて「動かねーじゃねぇか。このxxxxxx(怒怒怒怒怒怒怒)」と台パンすることになります。
長野研ではFlask使ってるようなので、Djangoは使わないと思うのでいろいろ説明は省略しますが、添付のpdfファイル(Djangoのアプリケーション作成手順書)とWin Server側でWebを行為買いできるようIISを設定したうえでこの記事の通りにやればローカル上では動きます。
ローカル上では動いているのでシステム的には問題がないんですが、外部からアクセスしようとするとブラウザに「ページが存在しない」といわれます。ここで1台パン。
記事後半に書いてある”python manage.py runserver <Server IPアドレス>:8000”でコマンド実行すれば、問題ないようなことを書いてあるが、これも失敗。ここで2台パン。
「末尾についてる8000というのはポート番号なので、Win Server側でポートを公開する設定がされていないのでは」とひらめきます。Win ServerにFTPでファイル送る設定したさいに60000ポート以降を開放していたの思い出したので60000番を設定して起動したところなんとデバッグ用のページにアクセスできたってわけですよ。いいね。
近況
残業多すぎて何のやるきも出ねぇっす。
WinだからIISなんだね,ポート問題は確かにややこしいけど,パフォーマンスの高いウェブアプリを構築するスキルは,糧になると思う。
HerokuのHTTPサーバーはどんなものかよく知らないけれど,小規模のアプリはFlask,より洗練されたアプリの場合はジャンゴらしいですね。nodejsとWebSocketでリアルタイム通信を行う,計測マシン用アプリの作成は僕らの長年の目標だね。