しばやん雑記

Azure Serverless とメイドさんが大好きなフリーランスのプログラマーのブログ

HttpPlatformHandler の検索結果:

Hack Azure! #3 Catch up Ignite 2020 Azure updates フォローアップ

…簡単です。これらは HttpPlatformHandler によって実現されています。Azure Functions の Custom Handler と同じような形で Web アプリケーションを任意のランタイムで実行できる仕組みです。 Azure Functions v2 のプラットフォームアップデート .NET Framework 4.8 がほぼ全ての Azure のパブリックなリージョンにデプロイされましたが、次には Azure Functions v2 のプラットフォ…

Azure App Service (Windows / Linux) に Java アプリケーションをデプロイして動かす簡単な方法

… に対応した際には HttpPlatformHandler を使うために Web.config を用意する必要がありましたが、そういう時代は既に終わっていたようです。ドキュメントにも書いてあるように app.jar というファイル名でデプロイすると、App Service が自動的に適切な設定でアプリケーションを立ち上げてくれるようになってました。ちなみにこの挙動は Windows と Linux で共通となっています。 By default, App Service exp…

Deno を Azure App Service (Windows / IIS) で動かしてみた

…ってしまえば、後は HttpPlatformHandler でプロセスの管理と HTTP のプロキシをさせてしまえばよいので簡単です。考え方は Node.js のデプロイの時と同じなので、特に難しいことはありません。以下のような web.config を作成しました。HttpPlatformHandler の一般的な定義です。example.ts は元記事のものをそのまま貰ってきて wwwroot 以下に保存しました。 <?xml version="1.0" encoding…

Node.js アプリを Azure App Service へ最適な形でデプロイする

…ode の代わりに HttpPlatformHandler を使う App Service (Windows) では Node.js アプリの実行には iisnode が使われるようになっていますが、一般的な 実行方法とは異なるので挙動が違ったり、設定が煩雑だったりします。今回は HttpPlatformHandler を使って、Node.js アプリを実行するようにしました。Web.config は以下のようにシンプルですが、arguments の値はアプリ毎に変える必要が…

ASP.NET / IIS で X-Forwarded-Proto の値を正しく扱いたい

…後ろに PHP や HttpPlatformHandler が居る場合には使えません。要はサーバー変数を書き換えてあげれば良いので、URL Rewrite でも同じことが実現できます。 <system.webServer> <rewrite> <!-- unlock が必要なので少し面倒 --> <allowedServerVariables> <add name="HTTPS" /> <add name="SERVER_PORT" /> </allowedServerVar…

IIS 10.0 に対応した ARR Helper をインストールする

IIS

…e / ARR / HttpPlatformHandler は IIS 10.0 に対応したインストーラーが公開されているので、もちろんインストール出来ます。インストール後に Program Files\IIS\Application Request Routing 以下を開くと、ひっそりと存在する x86 / x64 向けの ARR Helper のインストーラーが見つかるはずです。これは IIS 10.0 に対応したインストーラーになっているので、普通にインストール出来ま…

ASP.NET Core 1.0 のプロジェクト構造とエントリポイントの話

…ダーとストリームのプール数など、パフォーマンスに関わる部分の設定が行えます。IISIntegration に関しては、以前に HttpPlatformHandler から ASP.NET Core Module に切り替える理由を書いたので、そっちを参照してください。IIS を使わない場合、特に Windows 以外で使う場合には、UseIISIntegration は不要です。とりあえずエントリポイントの話はこれで終わりにします。次は Startup 周りを調べる予定です。

ASP.NET Core が HttpPlatformHandler から専用の IIS モジュールに移行する理由

… IIS 向けには HttpPlatformHandler が採用されてきましたが、少し前に HttpPlatformHandler から fork した ASP.NET Core Module が使われることになりました。公式からアナウンスと移行する理由が発表されています。ざっくりと説明すると、HttpPlatformHandler は ASP.NET Core 専用ではなく、Java や Ruby などを動作させるための汎用的なリバースプロキシですが、最近は ASP.NE…

Build 2016 で発表された ASP.NET Core セッションについて

…います。これまでは HttpPlatformHandler を使っていましたが、そこから fork した ASP.NET Core Module が提供されるようになりました。Kestrel を直接 80 番で公開するのではなく、IIS や nginx などのプロキシを通すようにしておきましょう。 Azure Service Fabric for Developers Service Fabric のセッションですが、メインはキーノートでも登壇した Illyriad Game…

Azure Web Apps に最新版の Java をインストールする Site Extension を作った

…フォルダにコピーしてHttpPlatformHandler使えば行けるよ?」みたいなコメントが来たんですがががが— 帝国兵 (@superriver) 2016年3月3日Heroku の Buildpack みたいに、標準以外のランタイムをサクッとインストールできる仕組みがあれば、みんな幸せになれそうですよね。Java の Site Extension でめんどくさいのが、配布形式がインストーラーしか存在していないという点ですね。そのあたりは先人の知恵を借ります。他にも何点か…

HttpPlatformHandler v1.2 が公開されていました

IIS

…I を起動した時に HttpPlatformHandler がアップデートされていたことに気が付きました。インストールしてバージョンを確認したところ 7.1.1959.0 になっていました。前回のアップデートで調べた時にはバージョン 7.1.1954.0 だったので、少しだけビルド番号が上がっていました。ちなみに Azure Web Apps にインストールされているのは 7.1.1956.0 でした。Web PI で公開されているものよりも、少しだけ古いバージョンのようです…

ASP.NET 5 のサーバーから IIS (Helios) が削除された理由

…存在していなかった HttpPlatformHandler のリリースも、Helios 削除の理由として関係していたのではないかと思います。HttpPlatformHandler を使うことで、IIS の機能を利用しつつ Java などのアプリケーションを別プロセス空間で実行することが出来ます。つまり Java と ASP.NET 5 は IIS から同列に扱われるということになります。最後になってしまいましたが IIS (Helios) を削除するメリットを、また適当に意訳…

URL Rewrite 2.0 と Application Request Routing 3.0 がアップデートされていました

IIS

…ったので安心です。 HttpPlatformHandler 1.0 Download HttpPlatformHandler v1.0 x86 from Official Microsoft Download Center Download HttpPlatformHandler v1.0 x64 from Official Microsoft Download CenterHttpPlatformHandler に関しては変更点が記載されていませんでしたが、ビルド番号が 1…

JRuby を使うと Azure Web Apps でも Ruby on Rails 4 をデプロイするだけで動かすことが出来た

…h the new HttpPlatformHandler - Scott Hanselman結果としては、必要なファイルをコピーして少し修正するぐらいで Web Apps へ Rails 4 アプリをデプロイ出来るようになりました。GitHub にサンプルを上げてあります。shibayan/azure-jruby-sampleリポジトリ内にある必要なファイルは以下の 5 つになります。 .deployment deploy.cmd Web Apps のカスタムデプロイスクリ…

Azure Web Apps で HttpPlatformHandler を foreman っぽく使えるバッチファイルを作った

…t を動かした時に、HttpPlatformHandler が実行するアプリケーションを Procfile から読み込むようにしましたが、もうちょっと汎用的に作れる気がしたので修正してみました。Azure Web Apps で Hubot を Git でデプロイして動かす方法 - しばやん雑記foreman のパチモンなので pseudo-foreman という名前でリポジトリ作っておきました。中には Hubot のサンプルも入れてあるので、Azure Web Apps で動…

Azure Web Apps で Hubot を Git でデプロイして動かす方法

…われますが、今回は HttpPlatformHandler を使うので startup.cmd として以下のようなバッチファイルを作成しておきます。処理としては Procfile を読み込んで実行しているだけです。 @echo off SET DOCUMENT_ROOT=%~dp0 SET PROCFILE=%DOCUMENT_ROOT%Procfile SET PATH=%DOCUMENT_ROOT%node_modules\.bin\;%PATH% cd /d %DOCU…

Azure Web Apps が Go で書かれたアプリケーションのデプロイに標準で対応してました

…トで Go 言語を httpPlatformHandler を使って動かしてみた - しばやん雑記適当に Web App を作って git push してデプロイしてみたところ、特に問題なくデプロイは完了しました。ブラウザでアクセスするとあっさりと動作しました。バージョンは 1.4.2 なのもわかります。デプロイスクリプトの実行ログを確認すると、ソースコードを実行時にコンパイルするのではなくデプロイのタイミングで実行ファイルにコンパイルして、それを wwwroot にコピーす…

Azure Web Apps にひっそりと Go がインストールされていた

…ていれば、基本的に HttpPlatformHandler を使って HTTP リクエストを流し込むことが出来るので、Azure Web Apps で公式に Go がサポートされる日は近い気がします。同じことになるので、以前に Go を動かした時の記事をいくつか紹介しておきます。Azure Web サイトで Go 言語を httpPlatformHandler を使って動かしてみた - しばやん雑記Azure Web サイトで Martini を使ったアプリケーションを動かす…

Azure Websites のディレクトリ構造が変わっていた件と HttpPlatformHandler がアップデートされていた話

…ました。個人的には HttpPlatformHandler のアップデートが熱いです。 ディレクトリ構造が少し変更 これまでは C:\DWASFiles\Sites というパスに各サイト用のファイルが保存されていたのが、今日見てみると D:\local というパスに変わっていました。これまでは Temp ディレクトリのパスに ~ や # が混ざっていましたが、すっきりしていい感じですね。環境変数に LOCAL_EXPANDED が追加された気がしました。これを使えば本当のパス…

HttpPlatformHandler に追加された processesPerApplication を検証してみた

IIS

HttpPlatformHandler に新しく追加された processesPerApplication の挙動が気になったので簡単に検証してみました。動かすアプリとしては手軽な Go を選びました。テンプレ的なコードですが、Martini を使った最低限のサーバーを用意します。 package main import "github.com/go-martini/martini" func main() { m := martini.Classic() m.Get("/"…

HttpPlatformHandler が IIS 8 以降の拡張機能として正式にリリースされていました

IIS

…イトを調べていたら、HttpPlatformHandler がダウンロード可能になっていることに気が付きました。HttpPlatformHandler v1.0 : The Official Microsoft IIS SiteHttpPlatformHandler については httpPlatformHandler をもっと面白く使っていきたい - しばやん雑記 を参照してもらえると理解しやすいかと。Azure Websites での Java 対応の要として使われている …

httpPlatformHandler をもっと面白く使っていきたい

…に同時に追加された httpPlatformHandler ですが、何か面白い使い方があると思うので軽くまとめておきます。まずはちょっと似てる ARR と httpPlatformHandler の違いから簡単に。 ARR の場合 ARR の役割はリバースプロキシとロードバランサーになるので、基本的には HTTP トラフィックをそのまま別の URL やサーバー群に振り分けます。Application Request Routing : The Official Microso…

Azure Web サイトに Ruby on Rails アプリケーションを簡単にデプロイするスクリプトを作った

…合が出るようです. httpPlatformHandler + thin で動作を確認 startup.bat と Web.config で httpPlatformHandler と thin を使って動かすための設定を行っているので、デプロイが正常に完了した後であれば、そのままページを表示できるはずです。とりあえず Ruby on Rails の基本的な画面まで確認出来ました。カスタムデプロイスクリプトを使うことで、これまでみたいに Kudu のコンソールを立ち上げて環境…

Azure Web サイトに Ruby / Perl / Go をインストールするスクリプトのリポジトリを作った

…FastCGI や httpPlatformHandler などで動かしてきましたが、いい加減にランタイムのインストールがだるくなってきたので、インストールの処理を簡単にするためのスクリプトを作りました。とりあえず Ruby / Perl / Go に関しては GitHub にリポジトリ作って置いてあります。shibayan/AzureWebSitesSetupScripts · GitHubREADME が中途半端で Ruby しか書いてないですが、このあたりは追い追い対応…

Azure Web サイトの Kudu が更新されて DaaS の統合や細かい修正が行われていた話

…りました。ちなみに、httpPlatformHandler で起動したプロセスには何もつかないので、内部的には WebJobs と httpPlatformHandler でプロセスの起動が少し異なっているようです。この機能は新ポータルの Processes にも欲しいですね。 環境変数の追加 REGION_NAME 環境変数が追加されて、今の Web サイトがどのリージョンで動いているかアプリケーション側から取得できるようになりました。そして SITE_BITNESS 環境…

Azure Web サイトで Revel を使ったアプリケーションを動かす

…アルにはありますが、httpPlatformHandler を使うためにポート番号を指定する必要があります。調べたところ run の 3 つめの引数でポート番号を指定できるらしいので、以下のように呼び出せば問題なさそうです。 revel run myapp dev %HTTP_PLATFORM_PORT%これで Web.config を書けば動くと思ったのですが、go.exe へのパスが通っていないとエラーになってしまったので、バッチファイルを経由して revel run を…

Azure Web サイトで Martini を使ったアプリケーションを動かす

…トで Go 言語を httpPlatformHandler を使って動かしてみた - しばやん雑記 にて Azure Web サイト上で Go 言語を動かすことが出来たので、今回は Martini というフレームワークを使ったアプリケーションを動かすことが出来るか調べました。アプリケーションと言っても、Martini の公式サイトに載っているサンプルコードを動かしてみるレベルなので、README を見ながら作業をしていきます。martini/README_ja_JP.md a…

Azure Web サイトで Go 言語を httpPlatformHandler を使って動かしてみた

…だったので、今回は httpPlatformHandler を使って実現してみたいと思います。 Go 言語のインストール Downloads - The Go Programming LanguageGo 言語は Windows 版の 32bit バイナリを使いました。一度、ローカルにダウンロードしてもいいですが、Web サイトには curl と unzip が入っているので、以下のコマンドを叩くだけでインストール出来ます。 curl -O https://storage.g…

Azure Web サイトに Ruby 2.1.3 と DevKit をサクッとインストールするバッチを作った

…in --no-ri --no-rdoc 実際に thin を使って Rails アプリを動かすためには httpPlatformHandler の設定が必要になりますが、手順は以前に Redmine をインストールした時と同じもので問題ありません。Windows Azure Web サイトで Redmine 2.5 を動かしてみた - しばやん雑記Mac でも Visual Studio Online "Monaco" を使えば、同じように簡単にインストール出来るはずです。

Microsoft Azure Web サイトのマイナーな変更点を調べてみた

…応を行うようです。 httpPlatformHandler 1.1 JDWP 対応のためにかどうかわかりませんが、httpPlatformHandler が 1.1 にアップデートされているような気がします。モジュールの処理を考えると、安定性とパフォーマンスの向上という可能性も十分ありですが。 Python 3.4 の FastCGI / WSGI 前回で Python 3.4 がインストールされていること確認しましたが、applicationHost.config にもしっ…