●Nginx
●Apache
Apacheのインストール方法
- ApacheはVer2.2.3を使用。
- 本状態で、開通確認(http://localhostへのアクセス)をしてもエラーとなるが、これはApacheの設定ファイル(httpd.conf)(※1)中のServerAdmin(※2)が未記入となっている為であり、メールアドレスを記載することで回避される。
→この状態で、タスクマネージャを開いてみると、確かにhttpd.exeが起動されていることが確認できる。
ちなみに、apacheをインストールするとスタートアップメニューにもapacheのショートカットが登録されているため、自動起動をやめたい場合はこれを削除するとともに、そもそも本プログラム自体が自動起動でインストールされるているため、スタートアップの状態を”自動設定”から”手動”に変更する必要もある。この設定については、Windows Management Consoleで変更ができる。
(※1)httpd.confの詳細については、本HPを参照のこと。(その他参考HP)
(※2)管理者のメールアドレスを記載する欄。
リバースプロキシの設定
MEANスタックのように、Angular⇒server.js(Express)へアクセスするプログラムをデプロイする場合、Herokuへのアップの際はあまり気にする必要は無いがEC2のようなIaaSにデプロイする際はWebサーバ(Apache等)のリバースプロキシの設定が必要となる。
私の場合、EC2はUbubntu+Apache構成であるが、Ubuntuの場合Apacheの設定ファイルが他とは違う構成になっているので注意が必要。参考ページ
①以下モジュールを有効化する。
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_balancer
sudo a2enmod lbmethod_byrequests
⇒sudo systemctl restart apache2 (若しくはsudo service apache2 restart)でapacheを再起動して有効化する。
②/etc/apache2/sites-available/000-default.conf を書き換える(VSCodeだと保存できないため、sudo vi xxxで変更&保存する)ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
⇒sudo systemctl restart apache2 で再起動
③server.jsを起動した上でEC2にアクセスすると、Apache⇒Angular⇒Apache(port8080)⇒server.js(port8080)でアクセスし動いた!
●IIS
- インストール方法 ⇒参考 ※下記参考1にあるようにcgiにチェック入れないと、後ほどの「ハンドラーマッピングの追加」においてfastcgiが見つからずにエラとなるので要注意(2023.8.20)
- 設定方法 ⇒参考1、参考2
- IISでDjangoを動かすには、Microsoftの提供しているIIS-Python接続モジュール「wfastcgi」を利用 。
wfastcgiを利用するためロック解除及びwfastcgi-enable については、特権アカウントから実施する必要あり。1つのサイトで実施した後にサイト追加した際に再度実施するとエラが出るが、既に登録済の警告メッセージなので気にしなくてOK(参考) - IIS_iusrsを追加するには、「選択するオブジェクト名を入力してください」のところでiis_iusrsと書いて「名前の確認」ボタンを押すと出てくる(iis_iusersとミススペルしたために初めは出てこなかった。。)⇒iis_iusrs(参考)、ワーカープロセス(参考、参考)
- collecstatic実施した後にweb.configをstaticに保管する必要ある模様⇒参考
- IISでDjangoを動かすには、Microsoftの提供しているIIS-Python接続モジュール「wfastcgi」を利用 。
- 参考 IIS のアプリケーションプールとは?
コメントを残す