CodeZine(コードジン)

特集ページ一覧

ASP.NET CoreとComponentOneを使って、マルチプラットフォームで動作するWebアプリを作成しよう!【Mac/Linux編】

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2018/04/25 14:00
目次

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ポートに中継し、ProxyPassProxyPassReverseで定義しているため、双方向通信を行います。

まとめ

 2回にわたって、ASP.NET CoreやComponentOne for ASP.NET MVCを利用したアプリの開発方法やホスティングについて紹介してきましたが、いかがでしたでしょうか?

 ComponentOne for ASP.NET MVCは、非サポートながらもあらゆる環境で高度なコントロールが開発できるため、手間のかかるユーザーインターフェースの開発の大きな手助けになってくれます。

 今回はマルチプラットフォームをキーワードに開発方法の違いや、ホスティング方法の違いなどを確認しました。実稼働でホスティングする場合はアプリの死活監視や再起動、他セキュリティなどさまざまな考慮事項があるため、本稿で紹介したリンクなども併せて参考にしてください。

 まだまだ、日本語のリソースが少ない状況のASP.NET Coreですが、本稿が何かの参考になれば幸いです。



  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:ComponentZine(ComponentOne)

もっと読む

著者プロフィール

  • 森 博之(AZPower株式会社)(モリ ヒロユキ)

     Microsoft Azure、.NETテクノロジーを使用したWebサービスのプロダクトアーキテクト。他にも技術記事の執筆やトレーニング、セミナースピーカーを行っている。  Microsoft MVPをDeveloper Technologies、Visual Studio and Develo...

あなたにオススメ

All contents copyright © 2005-2022 Shoeisha Co., Ltd. All rights reserved. ver.1.5