ubantu18.04インストールfastdfsとnginxのは、正しい方法をnginx_module
FASTDFSプロフィール
FastDFS 是用 c 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制, 充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS 很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
FastDFS 架构包括 Tracker server 和 Storage server。客户端请求 Tracker server 进行文 件上传、下载,通过 Tracker server 调度最终由 Storage server 完成文件上传和下载。
Tracker server 作用是负载均衡和调度,通过 Tracker server 在文件上传时可以根据一些 策略找到 Storage server 提供文件上传服务。可以将 tracker 称为追踪服务器或调度服务 器。
Storage server 作用是文件存储,客户端上传的文件最终存储在 Storage 服务器上, Storageserver 没有实现自己的文件系统而是利用操作系统 的文件系统来管理文件。可以将 storage 称为存储服务器。
2つのサーバーの役割:
トラッカー:管理クラスタは、トラッカーは、クラスタを達成することができます。各トラッカは対等ノード。状態ストレージクラスタを収集します。
ストレージ:ストレージは、実際に、複数のグループに異なるの間で保存されたファイルの各グループにファイルを保存します。各グループ内の内部基含量のメンバーが同じで保存、グループメンバーのステータスは、マスタとスレーブの概念がない、同じであり、複数の部材を有することができます。
ファイルアップロードプロセス
クライアントは、ファイルIDがクライアントに返される格納するファイルサーバをアップロードした後、後でのためのファイルのファイルIDにインデックス情報にアクセスします。ファイルのインデックス情報が含まれています:グループ名、仮想ディスクのパスは、2つのデータ・ディレクトリ、ファイル名を。
グループ名:ファイルアップロードの名前の後にストレージグループは、成功した復帰後のファイルのアップロードは、クライアントが自分自身を保存する必要があり、ストレージサーバーを持っています。
仮想ディスクのパス:ストレージが仮想パスを設定して、ディスクのオプションは、*対応をstore_path。あなたが設定した場合、あなたのconfigure store_path1がM01である、というように場合store_path0はM00が、あります。
データ二つのディレクトリ:ストレージ・サーバーは、データファイルを格納するために、各仮想ディスクのパスで2つのディレクトリを作成します。
別のアップロードやファイル:ファイル名。ストレージサーバによって生成された特定の情報に基づいており、ファイル名が含まれています:ストレージサーバ、ファイル作成タイムスタンプ、ファイルサイズ、乱数とファイル名の拡張子やその他の情報の送信元IPアドレスを。
ファイルのダウンロード方法:
準備をインストール1.
1.1アップデートのapt
sudo apt update
sudo apt-get update
注:以下は、nginxののfastdfs内のすべてのパッケージをインストールしに使用されるプロセスである
HTTPS:リンク//pan.baidu.com/s/1GqBrujqX8E432h8evCjnnAの
抽出コード:8k4g
環境(非常に重要)に依存して表示し、インストールする1.2
#直接在终端输入依赖模块或者whereis <debname>
whereis gcc, whereis libevent-dev......
# 预编译gcc g++依赖
sudo apt-get install bulid-essential
sudo apt-get install libtool
sudo apt-get install gcc-c++/gcc,g++
sudo apt-get install libevent-dev
# 安装pcre依赖库
sudo apt-get install libpcre3 libpcre3-dev
# SSL
sudo apt-get install openssl # ubantu系统自带有的,最好检查一下
1.3インストールパッケージをダウンロードします
注:間違ったバージョンは、簡単にヨーヨー大きなミスを崩壊した場合fastdfs-nginxのモジュールのバージョンは、フォーラムのチキンスープの多くをインストールしようとした自閉症が毒殺されたnginxの、に適していなければならないnginxのにする必要がありますコンパイルプロセスを作ります。
プロセスをインストールします。2.
2.1インストールfastdfsの依存関係
- 解凍libfastcommon-master.zip
unzip libfastcommon-master
- libfastcommonマスターディレクトリを抽出した後の入力
cd libfastcommon-master
- プリコンパイル済み./make.sh
./make.sh
- sudoの./make.shインストールlibfastcommonをインストール
sudo ./make.sh install
2.2インストールfastdfs
-
解凍fastdfs、およびディレクトリを入力します。
sudo unzip fastdfs-5.11.zip cd fastdfs-5.11/
-
コンパイルとインストール(直接抽出することができ、ディレクトリのインストールは、インストールパッケージを削除することができます)
./make sudo ./make install
2.3サーバ構成の追跡トラッカー
-
tracker.confへの文書のは/ etc / FDFS / tracker.conf.sampleコピー
sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
-
ディレクトリを作成しますfastdfs /トラッカー内の/ home /パイソン/ディレクトリ
sudo mkdir –p /home/python/fastdfs/tracker
-
設定ファイルを編集し/etc/fdfs/tracker.conf
sudo vim /etc/fdfs/tracker.conf base_path=/home/python/fastdfs/tracker
2.4構成保管ストレージ・サーバ(同上)
sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
sudo mkdir –p /home/python/fastdfs/storage
sudo vim /etc/fdfs/storage.conf
修改内容:
base_path=/home/python/fastdfs/storage
store_path0=/home/python/fastdfs/storage
tracker_server=自己ubuntu的ip地址:22122
試験を開始する2.5構成
-
トラッカーとストレージサービスを起動し、プロセスを見て
sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
注:オープントラッカーとストレージサービスubantu18.04時間、使用のps auxをするよう求めていない場合は、直ちにプロセスのPID番号が表示されない場合があり、システムが、そのサービスを開始した理由に応じて点| grepをFDFS
-
インストール状態をテスト
Client.confは/ FDFS /ディレクトリの下に/ etcファイルをコピーします
sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
編集/etc/fdfs/client.confファイル
sudo vim /etc/fdfs/client.conf base_path=/home/python/fastdfs/tracker tracker_server=自己ubantu/linux的IP地址:22122
アップロードテスト
guo@spoiled:~/fdfs$ fdfs_upload_file /etc/fdfs/client.conf ~/Desktop/cwc.jpg group1/M00/00/00/wKgBC15pxL6AX5-pAABzfr0PYzk508.jpg guo@spoiled:~/fdfs$
3. nginxのをインストールし、fastdfs-nginxのモジュールのモジュールを追加
3.1解凍nginxのとfastdfs-nginxのモジュール
-
解凍nginxの-1.15.9.tar.gz(それはバージョン1.15.9でなければなりません)
-
解凍fastdfs-nginxの-module_v1.16.tar.gz(それはこのモジュール、バージョン1.16でなければなりません)
-
nginxの-1.15.9 /ディレクトリを入力します。
cd nginx-1.15.9/
nginxの-1.15.9インストールに3.2コンパイル
-
nginxのは、コンパイルしてモジュールを追加します
~/nginx-1.15.9$ sudo ./configure --prefix=/usr/local/nginx/ --add-module=/home/python/fastdfs-nginx-module/src/
-
コンパイル完全なインストール(ここで、ミスのほとんど)
/nginx-1.15.9$ sudo make /nginx-1.15.9$ sudo make install
注1:nginxのとfastdfs-nginxのモジュールモジュールは、奇妙なエラーのすべての種類の原因そして、一致していないため、コンパイル(メイク)ほとんどのエラーが発生しやすいプロセス、最も重要な原因があるが、著者は、エラーのうちの、C言語学者ではありませんあなたはコンパイル時に次のような問題が発生した場合は、別の後、あなたはfastdfs-nginxのモジュールを交換するには、no起動する方法、およびエラーを覚えてはなりません
注:私はこのプロセスを経験し、その後、fastdfs-nginxの-module_v1.16を交換している、成功し正常にコンパイルすることができます
注2:次のエラーが/ srcに/ configに設定ファイルを変更する必要がある場合(この間違いは非常に一般的な間違いですが、fastdfs-nginxの-module_v1.16.1版でこの問題に直面していなかった、成功した成功したコンパイルされています)
sudo vim fastdfs-nginx-module-master/src/config
# 修改下面两项
ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
再起動コンパイルを編集した後
~/nginx-1.15.9$ sudo ./configure --prefix=/usr/local/nginx/ --add-module=/home/python/fastdfs-nginx-module/src/
~/nginx-1.15.9$ sudo make
~/nginx-1.15.9$ sudo make install
3.3
-
コピー/mod_fastdfs.conf
sudo cp fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/mod_fastdfs.conf
-
修正mod_fastdfs.conf
sudo vim /etc/fdfs/mod_fastdfs.conf # 修改内容 connect_timeout=10 tracker_server=自己ubantu/linux的IP地址:22122 url_have_group_name=true store_path0=/home/python/fastdfs/storage
-
コピーのhttp.conf、mime.typesの
sudo cp fastdfs-5.11/conf/http.conf /etc/fdfs/http.conf sudo cp fastdfs-5.11/conf/mime.types /etc/fdfs/mime.types
-
nginxの設定変更
sudo vim /usr/local/nginx/conf/nginx.conf 在http项中增加以下内容: server { listen 8888; server_name localhost; location ~/group[0-9]/ { ngx_fastdfs_module; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
-
スタートnginxの
sudo /usr/local/nginx/sbin/nginx
FASTDFSとnginxのインストールと設定が完了しました、厳密手順に従って、あなたが正常に完了する前に!ありがとう下さい!