Centos下安裝FastDFS及Nginx模組

銀白色?調調發表於2021-01-05

 

1、建立目錄/fdfs

2、把安裝包直接放到fdfs目錄下

3、FastDFS新增依賴(安裝過得無需安裝)

  • 安裝GCC依賴

     GCC用來對c語言程式碼進行編譯執行

yum -y install gcc
  • 安裝unzip工具

    unzip工具可以幫我們對壓縮包進行解壓

yum install -y unzip zip
  • 安裝libevent
yum -y install libevent
  • 安裝nginx所需依賴
yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel
  • 安裝libfastcommon-master

       這個沒有yum包,只能通過編譯安裝:

       解壓上傳到fdfs檔案下的libfastcommon-master.zip

 unzip libfastcommon-master.zip

      進入解壓完成的目錄

cd libfastcommon-master

     編譯並安裝

./make.sh
./make.sh install
  • 安裝FastDFS

     解壓

tar -xvf FastDFS_v5.08.tar.gz

    進入目錄

cd FastDFS

    編譯並安裝

./make.sh
./make.sh install

 

   4、 檢查安裝結果

cd /etc/init.d

4.1 安裝完成後,我們應該在/ect/init.d目錄,通過命令  ll /etc/init.d/|grep fdfs 看到FastDFS提供的啟動指令碼: 

 

  •  fdfs_trackerd 是tracker啟動指令碼
  • fdfs_storaged 是storage啟動指令碼

4.2.可以在/etc/fdfs目錄下,通過ll命令檢視到以下配置檔案模板

總用量 20
-rw-r--r--. 1 root root 1461 12月 29 03:47 client.conf.sample
-rw-r--r--. 1 root root 7927 12月 29 03:47 storage.conf.sample
-rw-r--r--. 1 root root 7200 12月 29 03:47 tracker.conf.sample
  • client.conf.sample 是客戶端的配置檔案模板
  • storage.conf.sample 是storage的配置檔案模板
  • tracker.conf.sample 是tracker的配置檔案模板

4.3設定tracker

  • 去除字尾sample

  • 編輯tracker配置(修改tracker的資料和日誌存放目錄)

  • 啟動tracker
 service fdfs_trackerd start

 

  • 設定tracker開機啟動

4.4設定stroage

  • 去除字尾sample

  • 修改storage的資料和日誌的存放路徑

  • 修改上傳檔案儲存的路徑

  • 修改訪問地址

  • 建立storage目錄
 mkdir -p /leyou/fdfs/storage
  • 啟動storage
service fdfs_storaged start

  • 設定storage開機啟動
chkconfig fdfs_storaged on

4.5測試檔案上傳

  • 去除字尾sample

  • 修改檔案 client.conf 臨時目錄

  • 修改tracker地址

  • 執行

    把圖片放到tmp資料夾下

  成功後返回圖片id:

  group1/M00/00/00/wKgjgV_zSheAWRb4AAAwev15JV0758.jpg

  group1:組資訊

  M00:對應的store_path0

  /00/00:磁碟路徑

5、安裝Nginx及FastDFS模組

  • 切換目錄

  • 解壓
 tar xvf  fastdfs-nginx-module_v1.16.tar.gz

  • 移除安裝包

  • 配置config檔案

   執行命令(將配置中的/usr/local改為/usr)

:%s+/usr/local/+/usr/+g

  執行後

  • 配置 mod_fastdfs.conf

  將src目錄下的 mod_fastdfs.conf複製到/etc/fdfs目錄

cp mod_fastdfs.conf /etc/fdfs/

檢視/etc/fdfs

修改mod_fastdfs.conf配置檔案

  • 切換目錄

複製FastDFS的配置檔案 http.conf、 mime.types到 /etc/fdfs/資料夾下

cp http.conf mime.types /etc/fdfs/

6、安裝nginx

  • 解壓
tar xvf nginx-1.10.0.tar.gz
  • 刪除壓縮包
 rm -rf  nginx-1.10.0.tar.gz
  • 切換到nginx-1.10.0目錄下
cd nginx-1.10.0/
 ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/home/ly/fdfs/fastdfs-nginx-module/src
  • 編譯安裝nginx
make && make install
  • 如果已經安裝過
cd nginx-1.10.0/
 ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/home/ly/fdfs/fastdfs-nginx-module/src
make
ll

drwxr-xr-x. 6 leyou leyou   4096 12月 11 10:41 auto
-rw-r--r--. 1 leyou leyou 262619 4月  26 2016 CHANGES
-rw-r--r--. 1 leyou leyou 400302 4月  26 2016 CHANGES.ru
drwxr-xr-x. 2 leyou leyou    168 12月 11 20:11 conf
-rwxr-xr-x. 1 leyou leyou   2481 4月  26 2016 configure
drwxr-xr-x. 4 leyou leyou     72 12月 11 10:41 contrib
drwxr-xr-x. 2 leyou leyou     40 12月 11 10:41 html
-rw-r--r--. 1 leyou leyou   1397 4月  26 2016 LICENSE
-rw-r--r--. 1 root  root     345 1月   5 02:53 Makefile
drwxr-xr-x. 2 leyou leyou     21 12月 11 10:41 man
drwxr-xr-x. 4 root  root     187 1月   5 02:58 objs
-rw-r--r--. 1 leyou leyou     49 4月  26 2016 README
drwxr-xr-x. 9 leyou leyou     91 12月 11 10:41 src
#切換到目錄
cd objs
ll

drwxr-xr-x. 3 root root      17 1月   5 02:53 addon
-rw-r--r--. 1 root root   15172 1月   5 02:53 autoconf.err
-rw-r--r--. 1 root root   38610 1月   5 02:53 Makefile
-rwxr-xr-x. 1 root root 3598368 1月   5 02:58 nginx
-rw-r--r--. 1 root root    5317 1月   5 02:58 nginx.8
-rw-r--r--. 1 root root    6738 1月   5 02:53 ngx_auto_config.h
-rw-r--r--. 1 root root     657 1月   5 02:53 ngx_auto_headers.h
-rw-r--r--. 1 root root    5615 1月   5 02:53 ngx_modules.c
-rw-r--r--. 1 root root   30736 1月   5 02:58 ngx_modules.o
drwxr-xr-x. 9 root root      91 12月 11 10:51 src
#替換以前的nginx
cp nginx /usr/bin
cp:是否覆蓋"/usr/bin/nginx"? y
  • 配置nginx整合fastdfs-module模組

      我們需要修改nginx配置檔案,在/opt/nginx/conf/nginx.conf檔案中

vim /opt/nginx/conf/nginx.conf
 server {

        listen 80;
        server_name image.ly.com;

        # 監聽域名中帶有group的,交給FastDFS模組處理
        location ~/group([0-9])/ {
            ngx_fastdfs_module;
        }
}
    

啟動nginx

nginx

ngx_http_fastdfs_set pid=6357  # 啟動成功

效果:

訪問路徑

image.ly.com/group1/M00/00/00/wKgjgV_zSheAWRb4AAAwev15JV0758.jpg

相關文章