SVNをFTPのちょっと進化したくらいな気軽さで簡単に使えないかと設定しようとして思いの外はまってしまったのでメモをしておく。
主に参考にさせていただいたのは以下のサイトだ。
[Linux]10分で作る、Subversionレポジトリ (CentOS 版)
Subversion導入ツアー
SVNをFTPのちょっと進化したくらいな気軽さで簡単に使えないかと設定しようとして思いの外はまってしまったのでメモをしておく。
主に参考にさせていただいたのは以下のサイトだ。
[Linux]10分で作る、Subversionレポジトリ (CentOS 版)
Subversion導入ツアー
NginxでPHPを使おうとした場合、別プロセスで動くPHPとFastCGIでのソケット経由でやり取りを行うことになる。これを管理するモジュールの一つにPHP-FPMというものがあり、今回はそれを使用することにする。
こちらのサイトにもPHP-FPMの詳しい説明が書かれてありとても参考になった。
apache のかわりにnginxを使ってみる(2) php-fpmをインストールする
PHPそのものもインストールされていないので、そちらのインストールも説明していく。
PHPは5.3.3まではパッチを当てる必要がある。それ以降であればPHP-FPMが予め組み込まれておりパッチを当てる必要は無い。そのため、レポジトリ登録したら一度確認をしてからインストール作業に入る。
リバースプロキシは、アクセスを代行して受け取るサーバーだ。wikipediaから引用すると、以下のような説明になる。
リバースプロキシ
リバースプロキシ(英: Reverse proxy)または逆プロキシは、特定のサーバへの要求を必ず経由するように設置されたプロキシサーバ。一般的なプロキシとは異なり不特定多数のサーバを対象としない。リバースプロキシは、不特定多数のクライアントから寄せられる要求に対して、応答を肩代わりすることにより特定のサーバの負担を軽減したり、アクセスを制限することにより特定のサーバのセキュリティを高めたりする目的に用いられる。
node.jsでアプリを作成しforeverで永続化した場合、xxx.xxx.xx:3000などと最後にポート番号がついてしまう、これがとても気になっており、nginxでリバースプロクシを入れてアプリごとサブドメイン運用をしようとしたきっかけとなった。もちろんサブディレクトリの方にも入れることができるので簡単な実験とかはそちらの方がいいのかもしれない。
またnodeには動的な物を任せ、静的な部分についてはnginxで取り扱う形のほうがパフォーマンスから見ても良いようだ。
それとリバースプロクシはwebsocketを通さないのでnginx_tcp_proxy_moduleを使用して動かす方法も書いておく。
ハイパフォーマンスHTTPサーバ Nginx入門を購入した。読んでいるとやっぱりnginxの再インストールをしたくなってきた。さらにグループだとかも見直しがしたくなってきたのでnginxだけでなくOSの再インストールからはじめることにした。
mongoDBのインストールまでは、今までと一緒で、nginxのインストールから変更となる。
ソースインストールで、しかも再インストールがありそうなnginxはpacoで管理するのがよさそうだ。
“make install”したソフトウェアを管理できる超便利ツール「Paco」
「Paco」で「make uninstall」できないソフトを削除する
yum,rpmで扱えないアプリケーションを管理するソフトpaco
nginxは「エンジンエックス」と読み、軽量高性能なHTTP、リバースプロキシ、メールプロキシだ。
公式からの説明を引用すると以下のようになる。
nginx [えんじんえっくす] は Igor Sysoev によって作られた HTTP とリバースプロキシのサーバで、メールプロキシサーバでもあります。Rambler (RamblerMedia.com) を含むロシアの多くの高負荷サイトで5年以上も動いています。Netcraft によると、nginx は 2010 年 4 月時点で 4.70% の人気サイトでサーバーとして、もしくはプロキシとして利用されています。成功例としては FastMail.FM や WordPress.com があります。
node.jsと同じくイベント駆動型アーキテクチャである。
nginxを表に置きリバースプロキシと静的ファイルの取り扱いを行い、裏に動的ファイルを扱う形でNode.jsを置く方法でVPSサーバーを構築していこうと考えている。
またwebsockeでリアルタイム通信を行う場合、そのままではリバースプロキシできないのでnginx_tcp_proxy_moduleというモジュールを使用する。この説明も加えておく。
まず今回はモジュールを組み込んだnginxのインストールと自動起動の設定までを行う。
< 追記>いろいろと見直しをし再インストールした。
引き続きMongoDBだが、これも以前のエントリとほぼ同じだ。
VPS作業メモ[8]-MongoDB
参考にさせて頂くサイトも同じだ。
2.0 からはじめる MongoDB – 第1回 #mongodbjp
MongoDB公式サイトでの記事はこちらにある。
RedHat Enterprise、CentOS、またはFedora LinuxにMongoDBをインストール
nvmでnode.jsのバージョンを、npmでパッケージを管理する方法を取る。
nvm (Node Version Manager)
複数バージョンを切り替え
npm (Node Package Manager)
アプリごとの使用パッケージを管理。
基本は以前のエントリと同じだ。
VPS作業メモ[6]-node.js
こちらも、確認のために見ていた。
Node.jsの管理はnvmで
CentOS5.5 に node.js をインストールする
今回はセキリュティを中心にしたCentOS基本設定を行う。
主にというか、ほぼこちらの記事を元にさせていただき設定を行った。
はじめてのさくら VPS + CentOS の初期設定からチューニングなどの作業まとめ
そして補足的にコチラを参考にさせていただいた。
さくらのVPSを借りたら真っ先にやるべきssh設定
CentOSをサーバーとして活用するための基本的な設定
さくらにもさくらのドメイン取得というサービスがあるのだけど、お名前.comの料金と比べると割高であり、また今ならキャンペーンでinfoドメインが一年目280円だったため、ドメインはお名前にしてさくらのVPSへ割り当てる方法をとることにした。
その際にこちらのサイトを参考にさせていただいた。
さくらVPSにお名前.comの独自ドメインを割り当てる
さくらのVPSにお名前.comでのドメインを割り当て
VPSのドメイン更新なので、この際更新はやめてドメインをお名前.comで取得、VPSサーバーをさくらへと移すことにした。それともに、nginxをリバースプロクシに使用して、node、mongoDBあたりで構成されたモダンなサーバーを作成してみることにする。
その際の設定で忘れてしまいそうな部分をメモにしておく事にした。
予定している作業内容
・お名前.comで取得したドメインをさくらのVPSで使えるように設定する。
・セキュリティなどのCentOS基本設定
・node.js – webアプリ
・mongoDB – データベース
・nginx – リバースプロクシ
・php-fpm – php
・wordPress
・(git,svn) – これまでのVPSサーバーでは結局使わなかったので、保留
追記、予めcentOSインストール時に入っていた模様。