Raspberry Pi 2の1C-Bitrix

私たちの同僚でありパートナーであるOroblancoウェブスタジオは、Raspberry Pi 2マイコンで1C-Bitrixを起動するという興味深い実験を準備することにしました 。 親切な許可を得て、結果を公開します。 :)



* * *



なぜこれが必要なのかすぐに言いましょう。



これがまったく可能かどうかを理解してください。 Raspberry Pi 2がおもちゃではなくコンピューターであることを確認してください。



Bitrixがこのような弱いコンピューターでどのくらい高速で安定して動作するか(および動作するかどうか)を理解してください。



タスクは簡単ではないため、サーバーセットアップの専門家の資格を確認してください。



すべてがうまくいけば、「Bitrixは重く、遅く、不器用」であり、大きなコンピューティングリソースが必要であるという古い伝説を払拭します。



しばらく前に、Raspberry Pi 2を購入し 、組み立ててテレビに接続しました。 マシンは非常にスマートで、1 GBのメモリとクアッドコアプロセッサとDebianを搭載しており、RaspberryのバージョンではRaspbianと呼ばれています。 そして、私たちは1C-Bitrixの認定パートナーであるため、RaspberryとBitrixの間で手をかざして、何が起こるかを確認しました。



デフォルトの構成でRaspberry Pi 2を使用し、コンピューターに追加のHDDまたはSSDを接続せず、MicroSDをメインメディアとして残して、クリーンな形式の実験を選択しました。 エディトリアルオフィス「ビジネス」およびソリューション「オンラインストア」。 すぐに、彼らが言うように、頭に大ハンマーがかかる。



SDカード-特定のメディア。 最も時間のかかる操作は録音です。 私たちのメモリカードは最も遅くありません。さらに、Raspbianではこの点が考慮されており、ディスクへのすべてのユーザー書き込み操作はRAMにキャッシュされます(遅延記録)。したがって、ユーザーの観点からはすべてが「飛びます」。 しかし、サーバー構成のカードへの書き込みでは、マシンはどのように機能しますか? わかりません。 しかし、試してみてください。



また、apache + mysqldはリソースを消費するものであり、負荷がかかると実際にRAMのオーバーフローが発生し、システムがスワップの使用を開始し、「ディスク上に座っている」ため、サーバーが「横たわり」ます。 そのため、すぐにnginxとBitrixの複合操作モードに依存しました。これにより、リスクを最小限に抑えることができます。



はじめに



便宜上、通常のRaspbianおよびMidnight Commanderを配置します。 Raspbianは、不具合がなく、最大の「なめらかさ」と安定性のために選択されています。 グラフィックモード(Xサーバー)を無効にして、リソースを節約します。 その後、SSHを介してすべてを実行します。



必ずコマンドを実行してください



apt-get update apt-get upgrade
      
      





重要であることが判明しました。 パッケージを更新しないと、memcachedとnginxが不正になり、これに直面します。



Bitrixを入れます



Web環境のインストーラーをダウンロードします。



 wget http://repos.1c-bitrix.ru/yum/bitrix-env.sh chmod +x bitrix-env.sh ./bitrix-env.sh
      
      





スクリプトは「どんな種類のごみを私にくれていますか?」と言って、落ちます。 何が間違っているのかを調べます。 ええ、スクリプトが最初にチェックするのは、x86コマンドセットをサポートするシステムで実行されることです。 そして、私たちは彼に腕を滑らせました。 まあ、大丈夫、EU-1040とDEC VAXを扱った人たちは怖がらない。 スクリプトは編集しませんでした。 すべてを手動で設定し、必要なポートを開きます。



私たちが置いたもの:





Nginxとmemcachedはまだインストールしていません。純粋なApacheでどのように機能するかを見るのは面白いからです。



Bitrixディストリビューションをダウンロードし、インストールプロセスを開始します。 それはまだ置かれています!



おもしろい



それで、nginxとmemcachedなしで、純粋なapache上のRaspberry Pi 2でBitrixを取得しました。 APCキャッシングを接続します。 そのため、APC for Raspbianはエミュレートモードで動作します。 つまり、それが必要な人のためにあるように見えますが、実際はそうではありません。 したがって、実際には、サイトの速度は向上しません。



別の興味深いこと。 RaspbianのMemcachedはソケットを許可しません。 設定方法に関係なく、処方しないでください。 ソケットは作成されず、クラックも発生しません。 memcachedを使用する唯一の方法は、127.0.0.1スタブを使用することです。



オーバークロックをオフにする必要があります。 不安定な動作とコンピューターのフリーズにつながります。 デフォルトの周波数を900 MHzに設定する必要があります。



性能



純粋なApacheでのテスト時のBitrixパフォーマンスパネルは、6.5〜7.0の「オウム」を生成しますが、これは通常それほど悪くはありません。 一部の商用ホスティングサイトには、このような指標があります。 面白いのは、memcachedを接続した後、スピードメーターが3.5〜4.0に「低下」することです。 速度計のこの動作の理由は明らかではありません。 ここも-おもしろい。







Raspbian用のApacheは、決して最適化されていません。 これにより、大量のハングプロセスとRAMオーバーフローが発生します。 そのため、サーバーの数とRAMの消費を制限して、設定を調整する必要がありました。



MySQLは、メモリとパフォーマンスのためにサーバーを最適化するためのチューニングも必要としました。



一般に、システムは動作しますが、明らかに難しいです。 nginxの状況がどのように変化するかを見てみましょう。



オーバークロック



前述したように、nginxをインストールする前に、システムを更新する必要があります。 さもなければ、nginxは曲がっており、興味深いことに、Apacheを追い出します。 したがって、インストールを2回繰り返しました。 システムの更新なしで、更新あり。



もちろん、nginxをインストールした後、フロントエンドとバックエンド(2レベルアーキテクチャ)を構成し、Bitrixで複合モードを有効にし、nginx設定を調整し、複合キャッシュからすべての画像と既製のhtmlファイルを提供します。



サーバーの負荷を最大化し、考えられるすべての統計を取り除くために、Bitrix設定でCDNをオンにします。



nginxを接続して複合キャッシュを蓄積した後、サイトは非常に迅速に機能し始めます。 このように:







ファイナライズ



NAT経由でポートを転送して、外部からサーバーを確認し、ドメインでハングさせます。 セキュリティスキャナーをチェックし、予防的な保護を設定し、品質モニターテストを実行します。 システム全体のバックアップを外部Synologyサーバーに設定し、マイクロサーバーを外部監視に設定します。 システムの平均メモリ消費量は400〜700 MBです。 飛行中は正常です。















まとめ



やった! そして、私たち以外に誰も変質したことはないようです。私たちは世界で最初です。



Bitrixは、実証済みの事実であるあらゆるものに対応できます。



通常のパフォーマンスを得るには、コンポジットモード、nginx、apache + mysqldバンドルチューニングが必要です。



Raspberryでも、Bitrixは高速で実行できます。



プロジェクト構成



1C-Bitrix、「ビジネス」のエディション+ソリューション「オンラインストア」。



静的コンテンツの複合キャッシングとCDNが含まれています。



パソコン



ラズベリーパイ2



Broadcom BCM2836クアッドコアARMv7プロセッサー



RAM 1GB



メディア-32 GBマイクロSDカード



チャネル速度は30 Mb / s以下です。



Raspbian OS



BitrixとRaspberry Pi 2のサイト(raspberry.oroblanco.ru)にマウスまたは指を突くことができます。







著者:ドミトリー・イワノフ



オリジナル: www.oroblancostudio.com/en/blog/1c-bitrix-on-raspberry-pi-2.html



All Articles