SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
AzureでLaravel動かしてみた
[PHP] laravel.osaka #1 初めてのLaravel
JAZUG/Keiji Kamebuchi
@kosmosebi
Copyright© 2016, JAZUG All Rights Reserved.
Self Introduction
{
"name" : "Keiji Kamebuchi",
"corporation" : "pnop Inc.",
"mail" : "kamebuchi@pnop.co.jp",
"web" : "http://buchizo.wordpress.com/",
"twitter" : "@kosmosebi",
"award" : ["Microsoft MVP for Azure",
"Microsoft Regional Director"],
"timezone" : "-08:00 (PST)"
}
Copyright© 2016, JAZUG All Rights Reserved.
buchizo
Senior Fellow
@kosmosebi
Activities
Copyright© 2016, JAZUG All Rights Reserved.
https://azure.moe/
https://radio.azure.moe/
実は私は…
PHP / Laravel 初心者です
優しくしてください (;´Д`)
会社の同僚はPHP詳しい
でもOSSは好き
Azure チョットデキル
Azure/MicrosoftはOSS好き
Copyright© 2016, JAZUG All Rights Reserved.
Microsoft Azure?
Microsoftが提供しているクラウド
IaaS/PaaS/SaaS/MBaaS/IDaaSなど提
供中(ざっくり)
PaaSもいくつかある
(Windows上で動作する) Azure App
Service はPHPのランタイムが
標準で入ってる
• PHP 5.4 / 5.5 / 5.6 が標準で選択可能
• PHP 7 も拡張機能で簡単に追加可能
(ツール -> 拡張機能 -> 追加)
Copyright© 2016, JAZUG All Rights Reserved.
Azure App Service?
.NET Framework や PHP, Python, node.js が動くアプリケーショ
ンサーバー(PaaS)
用途によって大枠を4種類から選びます
• Web Apps / Mobile Apps / API Apps / Logic Apps
容易にスケール可能
GitやGitHubを使ったCI
FTP使ったデプロイも可
FreeプランからPremiumまで用途に応じて
選べる課金体系と性能
Zend Z-Ray使えたりもします
Copyright© 2016, JAZUG All Rights Reserved.
DBは?
Azureが提供
SQL Database (Microsoft SQL Server互換のSaaS)
DocumentDB (NoSQL)
Azure Table Storage (KVS) / Azure Blob Storage (ファイル)
3rd Party
ClearDB (MySQLを提供するSaaS)
• Azure上から作ったり操作できます
その他
SQLite (App Service上のローカルディスクに置く)
自前MySQL (IaaS上で自分で構築)
Copyright© 2016, JAZUG All Rights Reserved.
おまけ: DocumentDB
PHP用のプレーンなラッパーは作ったのですが(同僚が)
https://github.com/pnopjp/AzureDocumentDB-PHP
laravel用のドライバーなど作って活用してもらえると嬉しい
Copyright© 2016, JAZUG All Rights Reserved.
作り方
新規 -> Web + モバイル -> Web Apps
ホスト名、料金プラン(と作成先のデータセンター)、管理用
のグループを入力して作成
Copyright© 2016, JAZUG All Rights Reserved.
設定
設定 -> アプリケーション設定 -> PHP バージョンを 5.6に
Copyright© 2016, JAZUG All Rights Reserved.
設定
laravelは /public/ を参照する必要があるのでWeb Appsのルー
トの設定を変える
設定 -> アプリケーション設定 -> 仮想アプリケーションと
ディレクトリ
site¥wwwroot¥public にする
Copyright© 2016, JAZUG All Rights Reserved.
設定
拡張機能から composer をインストール
ツール -> 拡張機能 -> 追加 -> composer
追加後はWeb Appsを再起動
Copyright© 2016, JAZUG All Rights Reserved.
デプロイ
FTPを使う方法
作ったファイルをそのままアップロード
Gitなどを使う方法
リポジトリにpush
デプロイ後、Azure上でデプロイスクリプトが実行されます
• ※ 特に何もしなくてもいい…はず(後述)
Copyright© 2016, JAZUG All Rights Reserved.
Bad Know-How
Azure上にpushしたけどデプロイに失敗する
A1: composerが入ってないもしくは入れたけどちゃんと再起動して
ない
A2: オプティマイズに時間がかかりすぎてタイムアウトする
• → Laravelのスクリプトを調整してみると良いかも
• https://laracasts.com/discuss/channels/servers/deploying-as-an-azure-web-app
• app/Console フォルダに CompileCommonClasses.php を追加
• composer.json 内の post-install-cmdを空に
Copyright© 2016, JAZUG All Rights Reserved.
"post-install-cmd": [
],
CompileCommonClasses.php
<?php
namespace App¥Console¥Commands;
use Illuminate¥Foundation¥Console¥OptimizeCommand;
use Illuminate¥Support¥Composer;
class CompileCommonClasses extends OptimizeCommand
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'optimize:classes';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Optimize common classes for Laravel';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct(Composer $composer)
{
parent::__construct($composer);
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$this->info('Compiling common classes');
$this->compileClasses();
}
}
Copyright© 2016, JAZUG All Rights Reserved.
Copyright© 2016, JAZUG All Rights Reserved.
まとめ
意外と素直に動くと思います
MySQLだけちょっと苦しいところがある
その他サービスとの連携含めて興味がわいたら是非触って
みてください
Copyright© 2016, JAZUG All Rights Reserved.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

とにかく分かりづらいTwelve-Factor Appの解説を試みる
とにかく分かりづらいTwelve-Factor Appの解説を試みるとにかく分かりづらいTwelve-Factor Appの解説を試みる
とにかく分かりづらいTwelve-Factor Appの解説を試みる
 
AWS Amplify - Auth/API Category & Vue 構築ハンズオン
AWS Amplify - Auth/API Category & Vue 構築ハンズオンAWS Amplify - Auth/API Category & Vue 構築ハンズオン
AWS Amplify - Auth/API Category & Vue 構築ハンズオン
 
第二世代MDD(萌え駆動開発)によるプログラミングWin32 #CLRH89
第二世代MDD(萌え駆動開発)によるプログラミングWin32 #CLRH89第二世代MDD(萌え駆動開発)によるプログラミングWin32 #CLRH89
第二世代MDD(萌え駆動開発)によるプログラミングWin32 #CLRH89
 
基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装
 
OPC UAをオープンソースやフリーのソフトで遊んでみた
OPC UAをオープンソースやフリーのソフトで遊んでみたOPC UAをオープンソースやフリーのソフトで遊んでみた
OPC UAをオープンソースやフリーのソフトで遊んでみた
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
 
スレッドダンプの読み方
スレッドダンプの読み方スレッドダンプの読み方
スレッドダンプの読み方
 
Azure Network Security Group(NSG) はじめてのDeep Dive
Azure Network Security Group(NSG) はじめてのDeep DiveAzure Network Security Group(NSG) はじめてのDeep Dive
Azure Network Security Group(NSG) はじめてのDeep Dive
 
ざっくり解説 LINE ログイン
ざっくり解説 LINE ログインざっくり解説 LINE ログイン
ざっくり解説 LINE ログイン
 
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
 
130821 owasp zed attack proxyをぶん回せ
130821 owasp zed attack  proxyをぶん回せ 130821 owasp zed attack  proxyをぶん回せ
130821 owasp zed attack proxyをぶん回せ
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
PHP7の内部実装から学ぶ性能改善テクニック
PHP7の内部実装から学ぶ性能改善テクニックPHP7の内部実装から学ぶ性能改善テクニック
PHP7の内部実装から学ぶ性能改善テクニック
 
React + Amplifyで アプリ開発
React + Amplifyで アプリ開発React + Amplifyで アプリ開発
React + Amplifyで アプリ開発
 
プロダクト開発してわかったDjangoの深〜いパーミッション管理の話 @ PyconJP2017
プロダクト開発してわかったDjangoの深〜いパーミッション管理の話 @ PyconJP2017プロダクト開発してわかったDjangoの深〜いパーミッション管理の話 @ PyconJP2017
プロダクト開発してわかったDjangoの深〜いパーミッション管理の話 @ PyconJP2017
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容
 
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作るSpring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作る
 
AWS で Presto を徹底的に使いこなすワザ
AWS で Presto を徹底的に使いこなすワザAWS で Presto を徹底的に使いこなすワザ
AWS で Presto を徹底的に使いこなすワザ
 
Azure Search 大全
Azure Search 大全Azure Search 大全
Azure Search 大全
 

Destacado

スクリプトによるAzure管理Tips / JAZUG 2014.09.26
スクリプトによるAzure管理Tips / JAZUG 2014.09.26スクリプトによるAzure管理Tips / JAZUG 2014.09.26
スクリプトによるAzure管理Tips / JAZUG 2014.09.26
Keiji Kamebuchi
 

Destacado (12)

ゆるふわAzure Functions
ゆるふわAzure FunctionsゆるふわAzure Functions
ゆるふわAzure Functions
 
VYATTA USERS MEETING Spring 2014 - JAZUG
VYATTA USERS MEETING Spring 2014 - JAZUGVYATTA USERS MEETING Spring 2014 - JAZUG
VYATTA USERS MEETING Spring 2014 - JAZUG
 
ちょっと分かった気になるAzure概要
ちょっと分かった気になるAzure概要ちょっと分かった気になるAzure概要
ちょっと分かった気になるAzure概要
 
C#ユーザー会 //build/ まとめ(サーバー編)
C#ユーザー会 //build/ まとめ(サーバー編)C#ユーザー会 //build/ まとめ(サーバー編)
C#ユーザー会 //build/ まとめ(サーバー編)
 
Azure &lt;3 Openness
Azure &lt;3 OpennessAzure &lt;3 Openness
Azure &lt;3 Openness
 
Azure How to Learn & ゆるふわ雑談Q&A
Azure How to Learn &ゆるふわ雑談Q&AAzure How to Learn &ゆるふわ雑談Q&A
Azure How to Learn & ゆるふわ雑談Q&A
 
Infrastructure as code for azure
Infrastructure as code for azureInfrastructure as code for azure
Infrastructure as code for azure
 
クラウドことはじめ
クラウドことはじめクラウドことはじめ
クラウドことはじめ
 
Azure概要とハイブリッドWebサイトとか / 2014.09.27
Azure概要とハイブリッドWebサイトとか / 2014.09.27Azure概要とハイブリッドWebサイトとか / 2014.09.27
Azure概要とハイブリッドWebサイトとか / 2014.09.27
 
Azure App Service Overview LT
Azure App Service Overview LTAzure App Service Overview LT
Azure App Service Overview LT
 
スクリプトによるAzure管理Tips / JAZUG 2014.09.26
スクリプトによるAzure管理Tips / JAZUG 2014.09.26スクリプトによるAzure管理Tips / JAZUG 2014.09.26
スクリプトによるAzure管理Tips / JAZUG 2014.09.26
 
Azure Functions と Serverless - 概要と企業向け Tips
Azure Functions と Serverless - 概要と企業向け TipsAzure Functions と Serverless - 概要と企業向け Tips
Azure Functions と Serverless - 概要と企業向け Tips
 

Similar a AzureでLaravel動かしてみた

Similar a AzureでLaravel動かしてみた (20)

ヤフー発のメッセージキュー「Pulsar」のご紹介
ヤフー発のメッセージキュー「Pulsar」のご紹介ヤフー発のメッセージキュー「Pulsar」のご紹介
ヤフー発のメッセージキュー「Pulsar」のご紹介
 
ヤフー発のメッセージキュー 「Pulsar」のご紹介@jjug ccc 20171118
ヤフー発のメッセージキュー 「Pulsar」のご紹介@jjug ccc 20171118ヤフー発のメッセージキュー 「Pulsar」のご紹介@jjug ccc 20171118
ヤフー発のメッセージキュー 「Pulsar」のご紹介@jjug ccc 20171118
 
Hadoop ~Yahoo! JAPANの活用について~
Hadoop ~Yahoo! JAPANの活用について~Hadoop ~Yahoo! JAPANの活用について~
Hadoop ~Yahoo! JAPANの活用について~
 
第104回 php勉強会@東京 Laravel
第104回 php勉強会@東京 Laravel第104回 php勉強会@東京 Laravel
第104回 php勉強会@東京 Laravel
 
メッセージキュー「Pulsar」の紹介 @OSC_20171007
メッセージキュー「Pulsar」の紹介 @OSC_20171007メッセージキュー「Pulsar」の紹介 @OSC_20171007
メッセージキュー「Pulsar」の紹介 @OSC_20171007
 
OSC2013@FUKUOKA
OSC2013@FUKUOKAOSC2013@FUKUOKA
OSC2013@FUKUOKA
 
20150613 Azure最新Update
20150613 Azure最新Update20150613 Azure最新Update
20150613 Azure最新Update
 
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
 
Go (5) JAZUG 関西とゆかいな仲間たち的な
Go (5) JAZUG 関西とゆかいな仲間たち的なGo (5) JAZUG 関西とゆかいな仲間たち的な
Go (5) JAZUG 関西とゆかいな仲間たち的な
 
20151024 Azureデータストア概要
20151024 Azureデータストア概要20151024 Azureデータストア概要
20151024 Azureデータストア概要
 
いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-
 
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
 
Drupal deployment trial on Engine Yard
Drupal deployment trial on Engine YardDrupal deployment trial on Engine Yard
Drupal deployment trial on Engine Yard
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
 
Hack On Air - Microsoft APIs
Hack On Air - Microsoft APIsHack On Air - Microsoft APIs
Hack On Air - Microsoft APIs
 
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
 
ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニア
ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニア ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニア
ヒカラボ「自社サービス開発会社で活躍し続けるために必要な○○とは?」開発エンジニア
 

Último

Último (7)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

AzureでLaravel動かしてみた