SNSの導入——MFS分散ファイルシステム
4865 ワード
ケースの概要
ある会社のSNSはPHP言語開発を採用しており、PHPプログラマーが開発したコードを管理するために、上司はSVNサーバーを構築してバージョン管理を行うように要求している.ソーシャル・ネットワーク・サービス(SNS)の最初のバージョンはLNMPプラットフォームの上に配置され、フロントエンドはNginxサーバであり、fastcgiプロトコルを通じてバックエンドのPHPサーバにアクセスします.データの安全を確保するために、MySQLデータベースのマスタークラスタを構築する必要があります.
ソーシャルサイトプロジェクトには、ユーザーのアルバム機能が含まれており、ユーザーが写真をアップロードすることができ、写真をアップロードするには共有ストレージを使用して保存する必要があります.共有ストレージに対して利用可能なオープンソース方式は、MFS、FastDFSなど多くある.同社はMFS分散ファイルシステムを用いて実現し,MFSをPHPサーバの関連ディレクトリにマウントすることにした.
導入事例
会社のニーズに応じて、実施過程は大きく以下のステップに分けられる. SVNサーバを配備し、PHPプログラマーのためにrepoディレクトリのアクセスアカウントを作成し、プログラマーにコードをインポートできることを通知する. MySQLマスターサーバを配備し、PHPプログラマーの要求に従ってデータベースとテーブルを作成します. Nginxサーバを配備します.PHPサーバーを配備します. MFSを配備し、MFSファイルシステムをフロントエンドPHPサーバの関連ディレクトリの下にマウントする. は、オンラインデプロイメント担当者にオンラインを公開できることを通知します.
MFS配備とマウント
Master Serverの構築
1、MFSを取り付ける
2、ファイルのコピー
3、Master Serverを起動する
Metalogger Serverの構築
1、MFSを取り付ける
2、ファイルのコピー
3、Metalogger Serverを起動する
Chunk Serverの構築
1、MFSを取り付ける
2、ファイルのコピー
3、Chunk Serverを起動する
クライアント構成
ここでPHPサーバーはクライアントの役割で、PHPサーバーの上で構築します
1、fuseをインストールする
2、環境変数の設定
3、MFSクライアントのインストール
4、MFSファイルシステムのマウント
MFSファイルシステムをフロントエンドPHPサーバーの/var/www/html/webphp/uploads/photosディレクトリにマウントする
転載先:https://blog.51cto.com/13641879/2151786
ある会社のSNSはPHP言語開発を採用しており、PHPプログラマーが開発したコードを管理するために、上司はSVNサーバーを構築してバージョン管理を行うように要求している.ソーシャル・ネットワーク・サービス(SNS)の最初のバージョンはLNMPプラットフォームの上に配置され、フロントエンドはNginxサーバであり、fastcgiプロトコルを通じてバックエンドのPHPサーバにアクセスします.データの安全を確保するために、MySQLデータベースのマスタークラスタを構築する必要があります.
ソーシャルサイトプロジェクトには、ユーザーのアルバム機能が含まれており、ユーザーが写真をアップロードすることができ、写真をアップロードするには共有ストレージを使用して保存する必要があります.共有ストレージに対して利用可能なオープンソース方式は、MFS、FastDFSなど多くある.同社はMFS分散ファイルシステムを用いて実現し,MFSをPHPサーバの関連ディレクトリにマウントすることにした.
導入事例
会社のニーズに応じて、実施過程は大きく以下のステップに分けられる.
MFS配備とマウント
Master Serverの構築
1、MFSを取り付ける
yum install -y zlib-devel gcc gcc-c++ //
useradd mfs -s /sbin/nologin -M //
tar xzvf mfs-1.6.27-5.tar.gz -C /opt/
cd /opt/mfs-1.6.27/
./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfschunkserver \
--disable-mfsmount
make && make install
2、ファイルのコピー
cd /usr/local/mfs/etc/mfs/
cp mfsmaster.cfg.dist mfsmaster.cfg #
cp mfsexports.cfg.dist mfsexports.cfg #
cp mfstopology.cfg.dist mfstopology.cfg # top
cd /usr/local/mfs/var/mfs/
cp metadata.mfs.empty metadata.mfs #
3、Master Serverを起動する
/usr/local/mfs/sbin/mfsmaster start //
/usr/local/mfs/sbin/mfsmaster -s //
netstat -antp | grep mfs
systemctl stop firewalld.service
setenforce 0 //
Metalogger Serverの構築
1、MFSを取り付ける
yum install -y zlib-devel gcc gcc-c++ //
useradd mfs -s /sbin/nologin -M //
tar xzvf mfs-1.6.27-5.tar.gz -C /opt/
cd /opt/mfs-1.6.27/
./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfschunkserver \
--disable-mfsmount
make && make install
2、ファイルのコピー
cd /usr/local/mfs/etc/mfs/
cp mfsmaster.cfg.dist mfsmaster.cfg
cp mfsexports.cfg.dist mfsexports.cfg
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
vim mfsmetalogger.cfg
......
MASTER_HOST = 192.168.43.118 //IP master
3、Metalogger Serverを起動する
/usr/local/mfs/sbin/mfsmetalogger start //
/usr/local/mfs/sbin/mfsmetalogger -s //
netstat -antp | grep mfs
systemctl stop firewalld.service
setenforce 0 //
Chunk Serverの構築
1、MFSを取り付ける
yum install -y zlib-devel gcc gcc-c++ //
useradd mfs -s /sbin/nologin -M //
tar xzvf mfs-1.6.27-5.tar.gz -C /opt/
cd /opt/mfs-1.6.27/
./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfsmaster \
--disable-mfsmount
make && make install
2、ファイルのコピー
cd /usr/local/mfs/etc/mfs/
cp mfschunkserver.cfg.dist mfschunkserver.cfg
cp mfshdd.cfg.dist mfshdd.cfg
vim mfschunkserver.cfg
......
MASTER_HOST = 192.168.43.118 //IP master
vim mfshdd.cfg
......
/data // /data, /data MFS ,
mkdir /data //
chown -R mfs:mfs /data // mfs
3、Chunk Serverを起動する
/usr/local/mfs/sbin/mfschunkserver start //
/usr/local/mfs/sbin/mfschunkserver start -s //
netstat -antp | grep mfs
systemctl stop firewalld.service
setenforce 0 //
クライアント構成
ここでPHPサーバーはクライアントの役割で、PHPサーバーの上で構築します
1、fuseをインストールする
yum install -y zlib-devel gcc gcc-c++ //
tar xzvf fuse-2.9.2.tar.gz -C /opt //mfs fuse
cd /opt/fuse-2.9.2
./configure
make && make install
2、環境変数の設定
vim /etc/profile
#
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
source /etc/profile //
3、MFSクライアントのインストール
useradd mfs -s /sbin/nologin -M //
tar xzvf mfs-1.6.27-5.tar.gz -C /opt/
cd /opt/mfs-1.6.27/
./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfschunkserver \
--enable-mfsmount //
make && make install
4、MFSファイルシステムのマウント
MFSファイルシステムをフロントエンドPHPサーバーの/var/www/html/webphp/uploads/photosディレクトリにマウントする
mkdir -p /var/www/html/webphp/uploads/photos //
modprobe fuse // fuse
/usr/local/mfs/bin/mfsmount /var/www/html/webphp/uploads/photos -H 192.168.43.118 // MFS
転載先:https://blog.51cto.com/13641879/2151786