debian + ASP.net
目的
debian8(jessie) で coreclr を使ってasp.net mvc を動かす
導入手順
- monoインストール
- dnvmインストール
- dnxインストール
- libuvインストール
- coreclrインストール
1. mono インストール
coreclrで実行するためにmonoは必要ないが今後のことを考えてインストールしておく
2. dnvm インストール
dnxバージョンマネージャー
$ sudo apt-get install unzip curl $ curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh && source ~/.dnx/dnvm/dnvm.sh $ dnvm upgrade
3. dnx インストール
アプリ向けの実行環境
$ sudo apt-get install -y libunwind8 gettext libssl-dev libcurl4-openssl-dev zlib1g libicu-dev uuid-dev
4. libuv インストール
非同期I/Oライブラリ
Node.jsで使用されている
$ sudo apt-get -y install automake libtool curl $ curl -sSL https://github.com/libuv/libuv/archive/v1.4.2.tar.gz | sudo tar zxfv - -C /usr/local/src $ cd /usr/local/src/libuv-1.4.2 $ sh autogen.sh $ ./configure $ make $ make install $ rm -rf /usr/local/src/libuv-1.4.2 && cd ~/ $ sudo ldconfig
5. coreclr インストール
.Net Core ランタイム
最新バージョンのdnx(coreclr)をインストールする
$ dnvm install -u -r coreclr
mono版を入れたい場合はこちら
$ dnvm install -u
指定バージョンのdnxをインストールする
* 下記のコマンドの場合は 1.0.0-beta8 をインストールする
$ dnvm install -r coreclr 1.0.0-beta8
動作確認
動作確認用のサンプルソースの取得
$ git clone https://github.com/aspnet/Home.git
実際のプロジェクトはsamplesディレクトリ配下にある。
ここにあるディレクトリ名とインストールする coreclr のバージョンを合わせる必要がある。
1.0.0-beta8 を実行する場合は以下の手順です
dnxのインストールされている/現在使用しているバージョンの確認
$ dnvm list
表示されたものでActiveの部分に*がついているものが現在選択されているバージョンです。
- 該当のバージョンのcoreclrがインストールされていない場合
$ dnvm install -r coreclr 1.0.0-beta8
- 該当のバージョンのcoreclrがインストールされているがActiveになってない場合
$ dnvm use -r coreclr 1.0.0-beta8
プロジェクトがあるディレクトリへ移動
$ cd samples/1.0.0-beta8/HelloMvc
プロジェクトのリストアで必要な情報の取得
$ dnu restore
プロジェクトの実行
$ dnx web
dnx web の部分は project.json のcommandsによって変わる
"commands": { "web": "Microsoft.AspNet.Server.Kestrel --server.urls http://*:5004" },
上のソースは1.0.0-beta8のproject.jsの一部を抜粋したものだが、この場合 dnx web で実行可能です。
また、アクセスurlも記載されている。
上記の場合は
http://localhost:5004