2014年9月29日月曜日
Windows でDockerを使う
Windows上でDockerを使ってみたかったので、なんとなくメモ。
Boot2DockerのWindows用のパッケージがあったので、ダウンロードしてインストール。
VirtualBoxも併せてインストールされる。
windows用Boot2Docker
https://github.com/boot2docker/windows-installer/releases
Dockerの仕組み上Windowsでは成り立たないので、Boot2DockerはVirtualBoxのVMで構築したDocker専用(?)のLinux環境と連携する仕組みをとっている模様。
使い方はほぼLinuxで使うのと変わらないけど、DockerコンテナはあくまでVM上のDockerで動いている。
Nginxのイメージをpullして、-p 80:80で、ポートマッピングさせても、転送するのはVMのIPアドレスへのアクセスに対してだけ。
Windows上のブラウザから、http://localhost:80/ でアクセスしてもNG。
VirtualBoxのゲストOSのIPアドレスを指定しないと表示されない。
あとWindowsのファイルシステムを共有するのもすんなりいかない。
試してないけど、やりかたとしては、2つくらいありそう
時間ができたら試してみる
1)ファイル共有用に、Sambaのコンテナを走らせて、Boot2DockerとWindowsの両方に共有させる
2) VirtualBoxの共有フォルダ機能を利用してBoot2Dockerの方にWindowのフォルダをマウントさせる
※Boot2Dockerの標準イメージだと、VirtualBoxの共有フォルダをマウントできないみたいで、別のイメージを使うか、いろいろと手間をかけないといけない模様
どちらかの方法でBoot2Dockerに共有させてから、-vオプションで指定する。
参考ページ
http://www.infoscoop.org/blogjp/2014/09/24/docker_on_windows/
http://blog.monoweb.info/blog/2014/07/25/docker/
2014年9月15日月曜日
Zend_Controller_RequestからAccept-Languageの取得する方法
ブラウザから送信されるAccept-Languageを取得する必要があったので、なんとなくメモ
PHPのグローバル変数から取得する場合)
$_SERVER["HTTP_ACCEPT_LANGUAGE"]
取得例: ja,en-us;q=0.7,en;q=0.3
Zend_Controller_Requestから取得する場合)
PHPのグローバル変数から取得する場合)
$_SERVER["HTTP_ACCEPT_LANGUAGE"]
取得例: ja,en-us;q=0.7,en;q=0.3
Zend_Controller_Requestから取得する場合)
androidでBluetooth SPP通信
Androidからの接続が詳しそうなのでとりあえずめも。
http://www.bright-sys.co.jp/blog/android-using-bluetooth-spp/
http://d.hatena.ne.jp/propella/20120403/p1
iOSからBluetooth SPPで制御をしているようなので、メモ
http://todotani.cocolog-nifty.com/blog/2013/02/iphonembedbulet.html
http://reinforce-lab.github.com/blog/2013/01/21/ios-ble-introduction/
http://s2jp.com/apps/bluetooth-terminal/
http://www.slideshare.net/taiko19xx/gamekitbluetooth
http://www.atmarkit.co.jp/fsmart/articles/ios_sensor04/01.html
http://www.bright-sys.co.jp/blog/android-using-bluetooth-spp/
http://d.hatena.ne.jp/propella/20120403/p1
iOSからBluetooth SPPで制御をしているようなので、メモ
http://todotani.cocolog-nifty.com/blog/2013/02/iphonembedbulet.html
http://reinforce-lab.github.com/blog/2013/01/21/ios-ble-introduction/
http://s2jp.com/apps/bluetooth-terminal/
http://www.slideshare.net/taiko19xx/gamekitbluetooth
http://www.atmarkit.co.jp/fsmart/articles/ios_sensor04/01.html
<?php
function myloader($classname) {
return @include str_replace('_', DIRECTORY_SEPARATOR, $classname).'.php';
}
spl_autoload_register('myloader');
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/application'));
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library'),
APPLICATION_PATH."/models",
get_include_path(),
)));
// 年月日文字列の定義(ログファイル名に使用)
define('DATESTAMP', Date('Y-m-d'));
//require_once 'Zend/Loader/Autoloader.php';
$al= Zend_Loader_Autoloader::getInstance();
$al->setFallbackAutoloader(true);
$al->registerNamespace('Oni_');
$cachefile = APPLICATION_PATH . '/../data/cache/plugins.php';
if (file_exists($cachefile)) {
include_once $cachefile;
}
Zend_Loader_PluginLoader::setIncludeFileCache($cachefile);
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap()
->run();
Windows環境でNginx+FastCGIの環境を構築したかったので、なんとなくメモ
1.Nginx download
http://nginx.org/en/download.html
スタート:nginx.exe
ストップ:nginx.exe -s stop
リロード:nginx.exe -s reload
2.PHP download
http://windows.php.net/download/
3.PHP環境構築
php.ini-productionからphp.iniを作成
php.iniを編集
extension_dir = "ext" を有効化する
extensionで必要なDLLを有効にするmb_stringは必ず入れる
log_errors=Onにする
timezoneを設定する
date.timezone =Asia/Tokyo
4 NginxのFastcgiの設定
nginx.confに以下を追加
--------------------ここから--------------------
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
--------------------ここまで--------------------
(参考サイト)
http://server-setting.info/blog/windows-amp-nginx-install.html
http://himaxoff.blog111.fc2.com/blog-entry-63.html
http://server-setting.info/centos/php-fpm-php-cgi.html
5.PHP-FPMの代わりにPHP-CGIの起動
php-cgi.exe
スタート:c:\nginx\php\php-cgi.exe -b 127.0.0.1:9000 -c c:\nginx\php\php.ini
ストップ:taskkill /f /IM php-cgi.exe
6.NginxとPHP-CGIの起動スクリプト
start-nginx.bat
--------------------ここから--------------------
@ECHO OFF
cd c:\nginx
start c:\nginx\nginx.exe
start /b c:\nginx\php\php-cgi.exe -b 127.0.0.1:9000 -c c:\nginx\php\php.ini
ping 127.0.0.1 -n 1>NUL
echo Starting nginx
echo .
echo .
echo .
ping 127.0.0.1 >NUL
EXIT
--------------------ここまで--------------------
stop-nginx.bat
--------------------ここから--------------------
@ECHO OFF
cd c:\nginx
c:\nginx\nginx.exe -s stop
taskkill /f /IM php-cgi.exe
EXIT
--------------------ここまで--------------------
1.Nginx download
http://nginx.org/en/download.html
スタート:nginx.exe
ストップ:nginx.exe -s stop
リロード:nginx.exe -s reload
2.PHP download
http://windows.php.net/download/
3.PHP環境構築
php.ini-productionからphp.iniを作成
php.iniを編集
extension_dir = "ext" を有効化する
extensionで必要なDLLを有効にするmb_stringは必ず入れる
log_errors=Onにする
timezoneを設定する
date.timezone =Asia/Tokyo
4 NginxのFastcgiの設定
nginx.confに以下を追加
--------------------ここから--------------------
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
--------------------ここまで--------------------
(参考サイト)
http://server-setting.info/blog/windows-amp-nginx-install.html
http://himaxoff.blog111.fc2.com/blog-entry-63.html
http://server-setting.info/centos/php-fpm-php-cgi.html
5.PHP-FPMの代わりにPHP-CGIの起動
php-cgi.exe
スタート:c:\nginx\php\php-cgi.exe -b 127.0.0.1:9000 -c c:\nginx\php\php.ini
ストップ:taskkill /f /IM php-cgi.exe
6.NginxとPHP-CGIの起動スクリプト
start-nginx.bat
--------------------ここから--------------------
@ECHO OFF
cd c:\nginx
start c:\nginx\nginx.exe
start /b c:\nginx\php\php-cgi.exe -b 127.0.0.1:9000 -c c:\nginx\php\php.ini
ping 127.0.0.1 -n 1>NUL
echo Starting nginx
echo .
echo .
echo .
ping 127.0.0.1 >NUL
EXIT
--------------------ここまで--------------------
stop-nginx.bat
--------------------ここから--------------------
@ECHO OFF
cd c:\nginx
c:\nginx\nginx.exe -s stop
taskkill /f /IM php-cgi.exe
EXIT
--------------------ここまで--------------------
登録:
投稿 (Atom)