記事ディレクトリ
序文
FastDFS は、オープンソースの軽量分散ファイル システムで、ファイルを管理し、ファイル ストレージ、ファイル同期、ファイル アクセス (ファイル アップロード、ファイル ダウンロード) などの機能を備え、大容量ストレージと負荷分散の問題を解決します。フォト アルバム Web サイトやビデオ Web サイトなど、キャリアとしてファイルを使用するオンライン サービスに特に適しています。
FastDFSは、インターネット向けにカスタマイズされており、バックアップの冗長化、負荷分散、線形拡張などの仕組みを十分に考慮し、高可用性、高性能などの指標に配慮しており、高性能なファイルサーバーを簡単に構築できます。ファイルのアップロードとダウンロード、その他のサービスを提供するクラスター。
ファイルのアップロードとダウンロードとしてパブリック ネットワーク サーバーを設置すると、多くのリソースとオーバーヘッドがかかります。FastDFS サービスをローカルに構築する場合は、cpolar イントラネット ポート転送ツールを使用して、インターネット経由でファイルにアクセスできるように設定するだけで済みます。サーバー料金とオーバーヘッドを大幅に削減するため、この記事では FastDFS を構築する詳細なチュートリアルを紹介し、Nginx と cpolar ツールを組み合わせてファイルへのリモート アクセスを実現します。
1. FastDFS ファイル システムをローカルに構築する
1.1 環境のインストール
fastDFSはC言語で書かれているのでインストールする必要があります。gcc
yum -y install gcc-c++
FastDFS は依存しているためlibevent库
、インストールする必要があります。次のコマンドを実行します。
yum -y install libevent
1.2 libfastcommon のインストール
ローカルディレクトリを入力してください
cd /usr/local
libfastcommon は FastDFS によって公式に提供されており、libfastcommon には FastDFS の実行に必要ないくつかの基本ライブラリが含まれています。以下のリンクをクリックして入手してください。
https://github.com/happyfish100/libfastcommon/releases/tag/V1.0.7
取得したらlocal
ディレクトリにアップロードします
libfastcommonを解凍します
tar -zxvf libfastcommonV1.0.7.tar.gz
解凍したフォルダーに移動します
cd libfastcommon-1.0.7/
コンパイル
./make.sh
インストール
./make.sh install
libfastcommon をインストールすると、次のディレクトリにライブラリ ファイルが自動的にコピーされます/usr/lib64
が、FastDFS プログラムは usr/lib ディレクトリを参照するため、/usr/lib64 配下のライブラリ ファイルを /usr/lib にコピーする必要があります。
cp /usr/lib64/libfastcommon.so /usr/lib/
1.3 FastDFS のインストール
ローカルディレクトリを入力してください
cd /usr/local
次のアドレスをクリックして、FastDFS_v5.05.tar.gz ファイルをダウンロードします。
https://sourceforge.net/projects/fastdfs/
ファイルをダウンロードしたら、次FastDFS_v5.05.tar.gz
の場所にアップロードします。/usr/local/
ファイルを解凍する
tar -zxvf FastDFS_v5.05.tar.gz
解凍したフォルダーに移動します
cd FastDFS
コンパイル
./make.sh
インストール
./make.sh install
インストールが成功したら、インストールディレクトリのconf配下のファイルを/etc/fdfs/
以下にコピーします。
cd conf/
コピー
cp * /etc/fdfs/
1.4 トラッカーの構成
次に、インストールが成功したら/etc/fdfs
ディレクトリを設定して入力します。
cd /etc/fdfs/
tracker.confを変更する
vim tracker.conf
にbase_path=/home/yuqing/fastdfs
変更しますbase_path=/home/fastdfs
編集後に保存して終了し、対応するファイルを作成します。fastdfs文件夹
mkdir /home/fastdfs
それから始めます
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
ブートを設定する
vim /etc/rc.d/rc.local
実行コマンドラインをファイルに追加します
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
1.5 ストレージの構成
/etc/fdfs ディレクトリに入ります
cd /etc/fdfs
storage.confを変更する
vim storage.conf
にbase_path=/home/yuqing/fastdfs
変更しますbase_path=/home/fastdfs
にstore_path0=/home/yuqing/fastdfs
変更しますstore_path0=/home/fastdfs/fdfs_storage
変更を続け、トラッカー サーバーの IP、tracker_server=Linux LAN ip: 22122 を設定し、設定後に保存して終了します。
対応する fdfs_storage フォルダーを作成します
mkdir /home/fastdfs/fdfs_storage
それから始めます
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
自動起動を設定する
vim /etc/rc.d/rc.local
実行コマンドラインをファイルに追加して保存します。
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
1.6 アップロードとダウンロードのテスト
FastDFS が正常にインストールされている場合は、/usr/bin/fdfs_test コマンドを使用してアップロードおよびダウンロードの操作をテストできます。
/etc/fdfs/client.confを変更します
vim /etc/fdfs/client.conf
次の内容を変更して保存します。
base_path=/home/fastdfs
tracker_server=Linux局域网ip:22122
次に、ファイルのアップロードをテストします。ここでは、テストとして使用するために写真を/usr/local
ディレクトリにアップロードします。
FastDFS アップロード ファイル形式:
/usr/bin/fdfs_test /etc/fdfs/client.conf Upload+ ファイルをアップロードするパス
次に、形式に従って test23.png 画像を FastDFS にアップロードします。
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /usr/local/test23.png
実行後、戻りアドレス情報が表示されます。これは成功を意味しますが、まだアクセスできません。アクセスしてダウンロードするには、Nginx を組み合わせる必要があります。
1.7 Nginx との統合
以下のダウンロード リンクをクリックして、fastdfs-nginx-module_v1.16 をダウンロードします。
[https://sourceforge.net/projects/fastdfs/files/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz/download](https://sourceforge.net/projects/ fastdfs/files/FastDFS Nginx モジュール ソース コード/fastdfs-nginx-module_v1.16.tar.gz/download)
/usr/local/フォルダーを入力してください
cd /usr/local/
アップロードfastdfs-nginx-module_v1.16.tar.gz
fastdfs-nginx-module_v1.16.tar.gz を解凍します。
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
src と入力し、構成ファイルを編集します
cd fastdfs-nginx-module/src/
構成ファイルを変更する
vim config
これら 3 つの場所を変更し、元の /usr/local/ だったパスを /usr/ に変更し、保存して終了します。
次に、FastDFS-nginx-module/src の下にある mod_FastDFS.conf を /etc/fdfs/ にコピーします。
cp mod_fastdfs.conf /etc/fdfs/
mod_FastDFS.conf の内容を変更します。
vim /etc/fdfs/mod_fastdfs.conf
変更内容は次のとおりです。
Base_path=/home/fastdfs
tracker_server=Linux LAN IP アドレス: 22122
url_have_group_name=true #url にはグループ名が含まれています
store_path0=/home/fastdfs/fdfs_storage #ファイルストレージパスを指定
次に、libfdfsclient.so を /usr/lib にコピーします。
cp /usr/lib64/libfdfsclient.so /usr/lib/
nginx/clientディレクトリを作成するだけです
mkdir -p /var/temp/nginx/client
1.8 Nginxのインストール
まずはシリアル環境をインストールします
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel
次に、クリックして Nginx パッケージをダウンロードします。
ルートディレクトリにアップロードする
解凍して解凍したフォルダに入ります
tar -zxvf nginx-1.16.1.tar.gz && cd nginx-1.16.
FastDFS-nginx-module モジュールを追加し、次のコマンドを実行します。
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--add-module=/usr/local/fastdfs-nginx-module/src
それからコンパイルします
make
インストール
make install
1.9 Nginx の構成
Nginx設定ファイルを変更する
vim /usr/local/nginx/conf/nginx.conf
サーバーを追加し、追加後に保存して終了します。
server {
listen 8089;#为了防止80端口,我们改成8089
server_name 192.168.59.133;#这里需要使用你本机的局域网ip
location /group1/M00/{
ngx_fastdfs_module;
}
}
Nginxを起動する
/usr/local/nginx/sbin/nginx
nginx起動時に以下のエラーが発生した場合:
nginx: [emerg] open() “/var/run/nginx/nginx.pid” が失敗しました (2: そのようなファイルまたはディレクトリはありません)
次のコマンドを実行して、再度開始できます。
mkdir /var/run/nginx
起動時に自動的に起動するように設定します。
vim /etc/rc.d/rc.local
実行中のコマンド ラインをファイルに追加し、保存して終了します。
/usr/local/nginx/sbin/nginx
ファイアウォールをオフにする
service iptables stop
ファイアウォールが自動的に起動しないように設定する
chkconfig iptables off
2. LANテストアクセスFastDFS
次に、形式に従って、上でアップロードした test23.png 画像を FastDFS にテストアップロードします。
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /usr/local/test23.png
実行後、戻りアドレス情報が表示され、成功したことがわかります。
次に、上記のアドレスを使用してブラウザでアクセスすると、アップロードした写真が表示され、fastDFS が構築されます。
3. cpolar イントラネットペネトレーションをインストールする
上記では、ローカル Linux 仮想マシンに fastDFS 分散ファイル サービスをインストールしました。次に、cpolar イントラネット侵入ツールをインストールしました。cpolar の http パブリック ネットワーク アドレスを通じて、fastDFS にアップロードされたファイルにリモートから簡単にアクセスできます。登録する必要はありませんクラウドサーバーを購入するためのドメイン名 cpolar イントラネットペネトレーションをインストールする手順は次のとおりです
cpolar公式サイト: https: //www.cpolar.com/
- ワンクリックスクリプトを使用してコマンドをインストールする
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
- トークン認証
cpolar 公式 Web サイトの背景にログインし、左側の検証をクリックして自分の認証トークンを表示し、コマンド ラインにトークンを貼り付けます。
cpolar authtoken xxxxxxx
- システムにサービスを追加する
sudo systemctl enable cpolar
- cpolarサービスを開始する
sudo systemctl start cpolar
4. パブリックネットワークアクセスアドレスを設定する
cpolar サービスが正常に開始された後、ブラウザーで Linux LAN IP アドレス + ポート 9200 にアクセスし、cpolar Web UI 管理インターフェイスにログインします。
ログインに成功したら、左側のダッシュボードで [トンネル管理] - [トンネルの作成] をクリックし、上記で設定した Nginx8089 ポートを指す http プロトコル トンネルを作成します。
- トンネル名: カスタマイズできます。既存のトンネル名と重複しないように注意してください。
- プロトコル: http
- 現地住所: 8089
- ドメイン名のタイプ: 無料でランダムなドメイン名を選択します
- 地域: 中国 VIP を選択
クリック创建
次に、オンライン トンネル リストを開き、パブリック ネットワーク アドレスを表示してコピーします。
次に、ブラウザを開いてパブリック ネットワーク アドレスを入力し、fastDFS にアップロードしたファイルにアクセスすると、リモート アクセスが成功します。
5. 固定パブリックネットワークアドレス
作成したばかりのトンネルはランダムな一時アドレスを使用するため、アドレスは 24 時間以内に変更されます。長期的かつより安定したリモート アクセスのために、次にこのパブリック ネットワーク アドレスを固定として構成します。
5.1 予約済みの第 2 レベルのサブドメイン
第 2 レベルのサブドメインの構成をサポートするには、基本パッケージ以上にアップグレードする必要があります。ファイルをダウンロードする必要がある場合は、上位のパッケージにアップグレードして帯域幅を増やし、ダウンロード速度を向上させることができます。
cpolar 公式 Web サイトの背景にログインし、左側のダッシュボードをクリックして を预留
見つけ保留二级子域名
、http トンネルの第 2 レベルのサブドメイン名を予約します。
- 地域: サーバー地域を選択します
- 名前: 保持したい第 2 レベルのサブドメイン名を入力します (カスタマイズ可能)
- 説明: 備考。カスタマイズ可能
この例では、fasttest
という名前の第 2 レベルのサブドメインを予約します。サブドメイン名が正常に予約されたら、サブドメイン名をコピーし、それをトンネル内で構成する必要があります。
5.2 第 2 レベルのサブドメイン名の構成
cpolar Web UI 管理インターフェイスにログインします。左側のダッシュボードで隧道管理
[——]をクリックし隧道列表
、第 2 レベルのサブドメイン名を構成する必要があるトンネルを見つけて、右側の をクリックします编辑
トンネル情報を変更し、トンネルに第 2 レベルのサブドメイン名を設定します。
- ドメインの種類: 代わりに選択してください
二级子域名
- サブドメイン: 予約したばかりの第 2 レベルのサブドメイン名を入力します (この例では
fasttest
)。
変更が完了したら、 をクリックします。更新
トンネルが正常に更新されたら、左側のダッシュボードで状态
[——]在线隧道列表
をクリックすると、第 2 レベルのサブドメイン名に更新されたトンネルのパブリック ネットワーク アドレスが表示され、そのパブリック ネットワーク アドレスをコピーできます。
6. 固定された第 2 レベルのサブドメインへのアクセスをテストする
正常に構成された第 2 レベルのサブドメイン名へのアクセスをテストしてみましょう。ブラウザを開いて、パブリック ネットワーク アドレスとリソース パスを入力し、fastDFS にアップロードしたファイルにアクセスします。画像が表示されれば、リモート アクセスは成功したことになります。これで、ネットワーク全体で唯一のプライベートの第 2 レベルのサブドメイン名が作成されました。
そして、このアドレスはランダムに変更されることはなく、固定されています。トンネルがオンラインである限り、このパブリック ネットワーク アドレスを使用して、パブリック ネットワーク IP やルーターの設定を必要とせずに、いつでもどこでもリモート アクセスできます。
cpolar 極点群の記事より転載: FastDFS と Nginx を組み合わせてファイル サーバーを構築し、内部ネットワークを貫通してパブリック ネットワーク アクセスを実現