Apacheによるホスティング
Apacheは、Linuxの標準的なWebサーバー機能です。
Nginxの特徴が高速・軽量であるのに対して、Apacheは高度な機能を持つWebサーバーで、Linuxにおける利用実績も多数あります。ここではApacheに対するホスティング方法について説明します。なお、Apacheの詳細なインストール方法については、多くのサイトで詳細に紹介されているため、本記事では割愛します。
ここでは参考までに筆者がCentOS 7を使用して、構成した手順を紹介します。前述した手順で、あらかじめ.NET Core SDKのインストールを行っておきます。
Apacheのインストール
最初にCentOSのシステムパッケージの更新を行います。
sudo yum update -y
Apacheのインストールは以下のコマンドで行います。
sudo yum -y install httpd mod_ssl
Apacheをリバースプロキシーとして構成する
Apacheのメインとなる構成ファイルは「/etc/httpd/conf/」ディレクトリにある「httpd.conf」です。
初期インストールされる「httpd.conf」には、IncludeOptional conf.d/*.conf
の記述があるため、「/etc/httpd/conf.d/」ディレクトリにある拡張子が「*.conf」となっているファイルがアルファベット順に読み込まれます。
そこで、「/etc/httpd/conf.d/」ディレクトリに、今回は「c1razor.conf」というファイル名で設定ファイルを作成し、以下の通り記述します。
<VirtualHost *:80> ProxyPreserveHost On ProxyPass / http://127.0.0.1:5000/ ProxyPassReverse / http://127.0.0.1:5000/ ServerName www.example.com ServerAlias *.example.com ErrorLog ${APACHE_LOG_DIR}hellomvc-error.log CustomLog ${APACHE_LOG_DIR}hellomvc-access.log common </VirtualHost>
VirtualHostブロックは複数定義することができるため、1つの「*.conf」ファイルに複数定義することもできます。
前述の通り、設定ファイルは拡張子が「*.conf」であれば読み込まれるため、サイト単位で複数ファイルに分けて定義することもできます。
この構成ファイルは80番ポートのトラフィックを受信し「www.example.com」および「*.example.com」サイトの仮想サーバーとして機能します。
仮想サーバーとして受信したリクエストは、IPアドレスの127.0.0.1、つまり自身の5000ポートに中継し、ProxyPass
とProxyPassReverse
で定義しているため、双方向通信を行います。
まとめ
2回にわたって、ASP.NET CoreやComponentOne for ASP.NET MVCを利用したアプリの開発方法やホスティングについて紹介してきましたが、いかがでしたでしょうか?
ComponentOne for ASP.NET MVCは、非サポートながらもあらゆる環境で高度なコントロールが開発できるため、手間のかかるユーザーインターフェースの開発の大きな手助けになってくれます。
今回はマルチプラットフォームをキーワードに開発方法の違いや、ホスティング方法の違いなどを確認しました。実稼働でホスティングする場合はアプリの死活監視や再起動、他セキュリティなどさまざまな考慮事項があるため、本稿で紹介したリンクなども併せて参考にしてください。
まだまだ、日本語のリソースが少ない状況のASP.NET Coreですが、本稿が何かの参考になれば幸いです。