2015年8月7日金曜日

Nginx サーバの作成顛末記。その2。

2015.08.06(木)



Nginx の設定をが思うようにいかず、エラーの処理対策にネットで資料を収集中たまたま "hello-world-nginx" という文字に目を止め、「KitematicでDockerを使ってみた」というページを知ることになった。 

早速、https://kitematic.com からDownload Kitematicをクリックし Kitematic (Beta) をダウンロードした。 

Publicky の記事によると次のようになっている。 
KitematicはDockerの実行環境となる仮想マシンのVirtualBoxとLinuxをMacOS上へ自動的にインストールし、GUIからDocker Engineのコンテナで起動するアプリケーションの一覧をDocker Hubから取得して一覧表示、クリックすればすぐにDocker上でアプリケーションを起動できるというもの。 

Nginx コンテナを作る。 

Kitematic (Beta) をダブルクリックして起動させ、Recommended の最初にある hello-world-nginx の 
CREATE ボタンをクリックした。 

しばらくして Containers 欄に hello-world-nginx が追加された。 
HOME タブをクリックすると最下部にフォルダアイコン /website_files があり、そのアイコンをクリックすると書類 (Documents) /Kitematic が表示された。 

書類 (Documents) /Kitematic をクリックすると index.html があり次のような内容が書かれている。 
Voilà! Your nginx container is running! 
To edit files, double click the website_files folder in Kitematic and edit the index.html file. 

そこで、書類 (Documents) の中のフォルダ Kitematic に表示させたい Web コンテンツを入れることにし、既存の index.html をコメントアウトし Apache サーバに置いているコンテンツの一つ "アトリエ・sitemix0 へようこそ!" を入れてみた。 

すると見事に "アトリエ・sitemix0 へようこそ!" が表示された。 

Nginx サーバを作成しようと何日もかけているのに成功しなかった作業が Kitematic を使ったら忽ち出来てしまったことに驚きを隠すことが出来ない。 

まだ、Docker についても Kitematic についても殆ど何も解っていないが、よく分からなくても Nginx サーバを起動させてしまえることは本当に素晴らしいことである。

Nginx サーバの作成顛末記。その1。

2015.07.27(火)


Nginx をインストールし Apache サーバのコンテンツを表示させてみようと思った。 
だいぶ前から Nginx に興味を持っていたが、昨日のこと下北沢の OpenSource Cafe で開かれた東京コンクリート・ファイ部の「 爆速!concrete5超高速環境を構築しよう」 の話の中に Nginx が出てきたので、改めて作業をしてみようと思ったのである。 

Nginx のインストールは homebrew を使って次のように行った。

$brew tap homebrew/dupes 
Warning: Already tapped! 

$brew tap homebrew/versions 
Warning: Already tapped! 

$brew tap homebrew/homebrew-php 
Warning: Already tapped! 

$brew install nginx 
==> Installing nginx dependency: pcre 
######### 100.0% 
==> Pouring pcre-8.37.yosemite.bottle.tar.gz 
/usr/local/Cellar/pcre/8.37: 146 files, 5.9M 
==> Installing nginx 
######### 100.0% 
==> Pouring nginx-1.8.0.yosemite.bottle.tar.gz 
==> Caveats 
Docroot is: /usr/local/var/www 

The default port has been set in /usr/local/etc/nginx/nginx.conf to 8080 so that 
nginx can run without sudo. 

nginx will load all files in /usr/local/etc/nginx/servers/. 

To have launchd start nginx at login: 
ln -sfv /usr/local/opt/nginx/*.plist ~/Library/LaunchAgents 
Then to load nginx now: 
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist 
Or, if you don't want/need launchctl, you can just run: 
nginx 
==> Summary 
/usr/local/Cellar/nginx/1.8.0: 7 files, 964K 

Nginx の設定を行い起動させると忽ちエラーの嵐となりその対策に幾日もかかることとなった。 

ようやく Nginx が起動していることを確認できたのは 2015.08.06(木)であった。 

$sudo nginx 
nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use) 
nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use) 
nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use) 
nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use) 
nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use) 
nginx: [emerg] still could not bind() 

$sudo lsof -i :80 
COMMAND PID USER FD TYPE  DEVICE SIZE/OFF NODE NAME 
nginx1300 root 6u IPv4 0x45bcdca151b2ad05 0t0 TCP *:http (LISTEN) 
nginx1301 nobody 6u IPv4 0x45bcdca151b2ad05 0t0 TCP *:http (LISTEN) 

しかし、Nginx で Apache サーバのコンテンツを表示させてることは未だ出来ていない。