スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
総合案内当ブログについて
Windowsの目次Linuxの目次Linuxの目次2・ ・自作PC関連の目次Web技術関連の目次
全記事一覧情報サイト新着RSS一覧

Sponsored Link

concrete5.7をCentOS ServerのLEMP環境でコア共有して複数サイト動かしてみる

CentOSサーバーに2つのconcrete5を入れてたんですが、コア共有して複数サイトを動かすというTipsがあるみたいなので試してみました。

concrete5をコア一つで複数サイト動かすよ。Nginxでね。
How to run multiple concrete5 installs on a single core (Apache vhost config)

環境はCentOS6.5 x64 Nginx 1.6.2 PHP 5.3.3 MySQL 5.1.73
concrete5 5.7はひとつは5.7.1、ひとつは5.7.0.4。concrete5自体は公式サイトconcrete5.orgで今のところの最新版5.7.1が入手できます。
ちなみにWPx2 Drupal x1 concrete5 x2 動いてるので編集モード入るとそこそこ重い。とはいえWPは割と軽快に動いているのでサーバー的にきっついわけじゃないと思うんだけど、concrete5 x2を同時に編集しようとするとそこそこ重いのでそのへんも改善されたらいいなー。
Tipsでは新規インストールだけど、見た感じコア周りのファイル削除して、共有コアへのリンクを貼るって感じだったので環境壊さずに行けるかもと思ってそのまま行ってみました。一応は成功したけれども、削除入れる方のサイト(ディレクトリ)にそこそこコンテンツ作ってあったり重要なファイルあるときとかはバックアップとって、起動しなくなっても復元できるようにしといたほうがいいと思いますよ。

1.現状その1
/var/www/以下にconcrete57とconcrete5というディレクトリがあって、それぞれ別にインストールしたのでそれぞれ別に動いています。

$ ls /var/www/
admin concrete57 hoge.cgi js wordpress
app config.php html php5.ini wordpress-3.9.1-ja.tar.gz
basercms css icons tminwp
cgi-bin drupal img test.php
concrete5 error index.php uploads


今回はこのうちconcrete5ディレクトリ(concrete5.7.0.4)の方のコアを削除、concrete57ディレクトリの方はそのまま残してこちらのコアを共有することにします。

$ ls /var/www/concrete5
LICENSE.TXT application concrete index.php packages robots.txt updates


こっちのconcrete updatesを削除してconcrete57へのリンクを貼る予定。

2.現状その2
編集モード、管理画面立ち上げてるとphp-fpm、MySQLあたりが結構負荷かかってます。まぁCPUフルロードってこたーないみたいですけど。
ちなみにCPUは Athlon64 x2 4800+。2コア2.5Ghz。メモリはDDR2 2G。
以下topコマンドの結果(タイミング逃したのでphp-fpm も mysql も出てないがw

top - 14:58:40 up 14 days, 17:36, 3 users, load average: 0.16, 0.06, 0.02
Tasks: 181 total, 1 running, 180 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.2%us, 0.3%sy, 0.0%ni, 98.7%id, 0.8%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1921952k total, 1764908k used, 157044k free, 304212k buffers
Swap: 3891196k total, 47876k used, 3843320k free, 741964k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
27646 tmin 20 0 15036 1236 892 R 0.3 0.1 0:01.42 top
1 root 20 0 19364 680 460 S 0.0 0.0 0:03.06 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.26 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:00.41 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
6 root RT 0 0 0 0 S 0.0 0.0 0:01.95 watchdog/0
7 root RT 0 0 0 0 S 0.0 0.0 0:00.32 migration/1
8 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/1
9 root 20 0 0 0 0 S 0.0 0.0 0:00.62 ksoftirqd/1
10 root RT 0 0 0 0 S 0.0 0.0 0:01.71 watchdog/1
(以下略)


ついでにfreeコマンドの結果。

$ free
total used free shared buffers cached
Mem: 1921952 1764792 157160 0 304212 741964
-/+ buffers/cache: 718616 1203336
Swap: 3891196 47876 3843320


軽くなるといいけどねー。

3.現状その3
Nginxのserverセクションの設定はこんな感じ。
location =/concrete5/ location =/concrete57/ で2つのconcrete5設定。あとPHPのためにfastcgiちょこちょこ。WPだけならconcrete5用の記述なしでも動くはず。


4..コア共有のためのディレクトリ削除とリンク貼り直し
コア無し(共有コアへのリンク)で動かすconcrete5ディレクトリ(今回は/var/www/concrete5)と共有コアを持っておくconcrete5ディレクトリ(今回は/var/www/concrete57)の現状をちと確認。

$ ls /var/www/concrete5
LICENSE.TXT application concrete index.php packages robots.txt updates
$ ls /var/www/concrete57
LICENSE.TXT application concrete index.php packages robots.txt updates


コア無しで動かすconcrete5ディレクトリ(今回は/var/www/concrete5)に移動してconcrete updatesディレクトリを削除。

$ cd /var/www/concrete5
$ sudo rm -rf concrete
$ sudo rm -rf updates


ちなみにこの段階で/concrete5ディレクトリ(concrete updatesが削除されたもの)にブラウザからアクセスしてみたら、まぁ表示はされてるけど右上のメニューをクリックしても管理画面メニューが出てきませんでした。やばいね!!
つまり安全に行くには concrete と updates を mv やら cp 使って別の場所に移動やらコピーしておいたりした方がいいかもしれません。

まぁrm -rf してしまったので引っ込みつかないし、あとはリンク作成するだけですね。

$ sudo ln -s /var/www/concrete57/concrete/ concrete
$ sudo ln -s /var/www/concrete57/updates/ updates
$ ls
LICENSE.TXT application concrete index.php packages robots.txt updates


lsで確認すると concrete updates の色が変わってリンクになってるのがわかります。
ls -la 使うとリンク先まで確認できます。

$ ls -la
drwxr-xr-x. 4 nginx nginx 4096 10? 20 15:08 2014 .
drwxr-xr-x. 19 nginx nginx 4096 10? 11 22:34 2014 ..
-rwxr-xr-x. 1 nginx nginx 1085 10? 11 22:33 2014 LICENSE.TXT
drwxr-xr-x. 17 nginx nginx 4096 10? 11 22:33 2014 application
lrwxrwxrwx. 1 root root 29 10? 20 15:07 2014 concrete -> /var/www/concrete57/concrete/
-rwxr-xr-x. 1 nginx nginx 42 10? 11 22:33 2014 index.php
drwxr-xr-x. 2 nginx nginx 4096 10? 11 22:33 2014 packages
-rwxr-xr-x. 1 nginx nginx 633 10? 11 22:33 2014 robots.txt
lrwxrwxrwx. 1 root root 28 10? 20 15:08 2014 updates -> /var/www/concrete57/updates/



5.動作確認
concrete5ディレクトリとconcrete57ディレクトリにブラウザからアクセス。
concrete57_1.png concrete5ディレクトリ(今回コア削ってリンクに差し替えた方)
もともと5.7.0.4だったのをリンクに差し替えたら勝手に5.7.1に変わってくれるかと思ったら、変わってないですね。

concrete57_2.png concrete57ディレクトリ(いじってない方)。5.7.1です。

ちなみにいじってない方のconcrete5はupdatesフォルダに5.7.1を突っ込んでUpdateかけたのですが、コア共有した方の(リンクに差し替えた方の)concrete5はそのupdatesフォルダに新しいバージョン突っ込まれた状態になってるようです。この後そのまま「更新」ボタンですぐにUpdateかけられましたけど。
んー、そうすると、コア共有して複数サイトにしても一括でUpdateはかけられない?逆に考えれば違うバージョンでも(互換性があれば)コア共有して複数サイト動かすこともできるんでしょうかね?このへんちょっとわかりませんが。
まぁ、意外にも(?)いとも簡単に動いてしまったし、再インストール無しでコア共有化することも出来ましたね。

6.共有前と比べて負荷とかどーなの?
作業前と同じくtopとfreeで確認してみましょうか。

top - 15:15:39 up 14 days, 17:53, 3 users, load average: 0.44, 0.19, 0.07
Mem: 1921952k total, 1674336k used, 247616k free, 304396k buffers
Swap: 3891196k total, 47876k used, 3843320k free, 668940k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
11644 nginx 20 0 303m 41m 7016 S 29.1 2.2 0:31.94 php-fpm
132 root 15 -5 0 0 0 S 0.3 0.0 2:13.76 kslowd001
11394 mysql 20 0 561m 42m 5184 S 0.3 2.3 12:54.40 mysqld
27646 tmin 20 0 15036 1240 896 R 0.3 0.1 0:08.38 top
1 root 20 0 19364 680 460 S 0.0 0.0 0:03.13 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.26 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:00.42 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
6 root RT 0 0 0 0 S 0.0 0.0 0:01.96 watchdog/0
7 root RT 0 0 0 0 S 0.0 0.0 0:00.32 migration/1
8 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/1
9 root 20 0 0 0 0 S 0.0 0.0 0:00.63 ksoftirqd/1
10 root RT 0 0 0 0 S 0.0 0.0 0:01.71 watchdog/1


$ free
total used free shared buffers cached
Mem: 1921952 1678752 243200 0 304544 669192
-/+ buffers/cache: 705016 1216936
Swap: 3891196 47876 3843320


うーん。。。あまり変わりませんねー。実際ブラウザ上で操作しても若干軽くなったような気がしないでもない感じ程度です。それでも管理的には楽でしょうねー。
applications以下で共有しても構わないものを更に共有してみるともっと軽くなるかもしれませんが、ここはテーマやらなんやらいろいろはいってるので、かなり深く知ってないときつそうですね。同じテンプレ、同じプラグイン、同じよーなレイアウトで複数サイト作るならここの共有もありなのかなー?なーんて思ってます。


関連記事
CentOS6.5+Nginx+php-fpm+MySQLでConcrete5.7
Concrete5.7.0が正式にリリースされたので早速CentOSサーバーに入れて動かしてみたよ
concrete5.7.0→concrete5.7.0.1 upgrade(CentOS6.5+LEMP)
MySQLのパスワード忘れた→復旧
CentOS6.6のLEMP環境のconcrete5とWordPressのちゅーにんぐ(MySQL編)
CentOS6.6のLEMP環境のconcrete5とWordPressのちゅーにんぐ(Nginx&PHP-FPM編
CentOS+LEMPでbaserCMS
Nginx+Wordpressで固定ページをTOPにしたら403になった件
関連記事
総合案内当ブログについて
Windowsの目次Linuxの目次Linuxの目次2・ ・自作PC関連の目次Web技術関連の目次
全記事一覧情報サイト新着RSS一覧

Sponsored Link

コメントの投稿

管理者にだけ表示を許可する
ブログ内検索

カスタム検索

フリーエリア

クリックで救える命がある。

レンタルサーバー

さくらのマネージドサーバ
さくらインターネットのVPS
ConoHaのVPS
WebARENA VPSクラウド
99円レンタルサーバー
【CloudCore VPS】
GMOクラウドのレンタルサーバー
転送量無制限 ABLENET
@WAPPYレンタルサーバー
SPPDレンタルサーバー

カテゴリー+月別アーカイブ

 

アクセスカウンター

現在の閲覧者数:

プロフィール

Author:tmin
PCヲタ。ライト2ちゃんねら。
スロット好きのギャンブラー。(元
むしろ人生がギャンブルだが目下のところ負けっぱなし。
座右の銘は「結果オーライ」。故に基本適当。
トラブルもまた楽しみのひとつ

コメント、トラバ、相互リンク歓迎。お気軽にどうぞ。
当ブログについて
Twitterでこっちとあっちの更新情報流すことにしてみます。
http://twitter.com/t_min
Project Mikunchu♪Wikiできました。
Mikunchu200x40.png


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。