Linux Centos7.5 安裝FastDFS

目錄:

附:Linux Centos7.5安裝FastDFS所需軟件

準備工作

1、安裝gcc

2、上傳所需文件到linux虛擬機上

3、安裝FastDFS 

4、測試:

5、安裝nginx

6、FastDFS與Nginx整合 

特別注意:

最後的測試:


前言:

    在linux Centos7.5安裝FastDFS,感覺真是特別的複雜,安裝了兩天,終於成功了。因此寫一博客記錄下來。

附:Linux Centos7.5安裝FastDFS所需軟件

一、準備工作

1、安裝gcc

yum install make cmake gcc gcc-c++

2、上傳所需文件到linux虛擬機上

mkdir software  創建software文件夾(目錄路徑:/usr/local/software)

這裏我是用Xftp工具上傳的,當然其它工具也行。 

這裏特別說明:(建議版本與我一致,否則可能會報錯)

1)安裝libfastcommon時(特別注意,容易遇到坑)

    此處需要注意的是需要下載:libfastcommon-master.zip,可以在百度自己搜下安裝包,我剛開始在官網下載了libfastcommon_v1.04.tar.gz 和libfastcommon_v1.01.tar.gz 之後,在編譯安裝完後,再去FastDFS目錄中編譯安裝會報錯,報缺少文件。

如果遇到../common/fdfs_global.c:20:20: 致命錯誤:logger.h:沒有那個文件或目錄,這個錯誤。

    那麼請更換libfastcommon版本,我使用libfastcommon_v1.04.tar.gz 和libfastcommon_v1.01.tar.gz 均報錯,安裝libfastcommon-master.zip時可以的。

unzip libfastcommon-master.zip -d /usr/local/fast/   #解壓libfastcommon-master.zip到/usr/local/fast/目錄下

yum install unzip   #如果提示-bash: :unzip: 未找到命令,需要執行此命令,否則可以忽略

cd /usr/local/fast/libfastcommon-master  #進入該目錄

./make.sh && ./make.sh install   #編譯並安裝

編譯安裝後,發現libfastcommon默認安裝到了/usr/lib64/這個 位置。 

ls | grep libfastcommon.so #可以通過此命令在/usr/lib目錄和/usr/lib64都查看下

進行軟件創建。FastDFS主程序設置的目錄爲/usr/local/lib/,所以我們需要創建/ usr/lib64/下的一些核心執行程序的軟連接文件。

cd /usr/local/lib #如果沒有/usr/local/lib,則mkdir /usr/local/lib

##建立軟連接

ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so

ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so 

ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so 

ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
 

 3、安裝FastDFS 

cd /usr/local/software #進入/usr/local/software目錄下

tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/fast/  /usr/local/fast/  #解壓

cd /usr/local/fast/FastDFS/   #進入/usr/local/fast/FastDFS/ 目錄下

./make.sh && ./make.sh install #編譯並安裝

ps: 

          如果你在執行編譯安裝命令時遇到下面這種錯誤,更換FastDFS 版本,我剛開始在這裏用的是FastDFS_v5.08.tar.gz,結果在編譯安裝時報如下錯誤:(我更換到FastDFS_v5.05.tar.gz,報錯提示沒有了)

/usr/include/fastcommon/ioevent.h:82:2: 錯誤:#error port me
 #error port me
  ^
/usr/include/fastcommon/ioevent.h:95:2: 錯誤:#error port me
 #error port me
  ^
/usr/include/fastcommon/ioevent.h:108:2: 錯誤:#error port me
 #error port me

cd /usr/bin && ls |grep fdfs  #進入/usr/bin目錄下,並列出fdfs的所有腳本

##因爲FastDFS服務腳本設置的bin目錄爲/usr/local/bin/下,但是實際我們安裝在了/u sr/bin/下面。所以我們需要修改FastDFS配置文件中的路徑,也就是需要修改兩個配置文件

yum -y install vim*  #如果vim編輯命令,執行後,提示找不到命令,就執行這個,否則可忽略

vim /etc/init.d/fdfs_storaged  #編輯fdfs_storaged  文件

:%s+/usr/local/bin+/usr/bin #然後回車,執行全局替換命令,:wq!保存退出

vim /etc/init.d/fdfs_trackerd 

:%s+/usr/local/bin+/usr/bin #然後回車,執行全局替換命令,:wq!保存退出

cd /etc/fdfs/  #進入/etc/fdfs/目錄下

##拷貝,並重命名

cp storage.conf.sample storage.conf

cp client.conf.sample client.conf

cp tracker.conf.sample tracker.conf

效果圖如下:

編輯tracker.conf: 

vim /etc/fdfs/tracker.conf  #編輯tracker.conf

base_path=/fastdfs/tracker  #暫時就只修改tracker.conf中base_path內容

mkdir -p /fastdfs/tracker  #由於tracker.conf中base_path的/fastdfs/tracker路徑沒有,所以需創建

Centos7關閉防火牆方法(詳解): 

centos7中的防火牆改成了firewall,使用iptables無作用,開放端口的方法如下:

firewall-cmd --zone=public --add-port=80/tcp --permanent

返回success爲成功
######################################################################################

命令含義: 

--zone #作用域 

--add-port=80/tcp #添加端口,格式爲:端口/通訊協議 

--permanent #永久生效

######################################################################################

systemctl restart firewalld.service  #重啓防火牆

systemctl stop firewalld.service #關閉防火牆

netstat -lntp #查看監聽(Listen)的端口

netstat -lnp|grep 8080 #檢查端口被哪個進程佔用

注:此處僅爲學習,所以直接關閉防火牆即可,如果在公司,則只能打開所用端口,不能關閉。

tracker啓動:

cd /fastdfs/tracker/ && ll #進入/fastdfs/tracker/ 目錄並查看該目錄下所有文件

注:啓動tracker兩種方式:

方式一:

/etc/init.d/fdfs_trackerd start  #啓動tracker命令

/etc/init.d/fdfs_trackerd stop   #停止tracker命令

 方式二:

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start #啓動tracker命令

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf stop #關閉tracker命令

這裏方式一也可以在/fastdfs/tracker目錄下生成data,log文件夾。不過爲了與後面一致,建議使用方式二。

效果圖如下:

修改storage.conf文件:

vim /etc/fdfs/storage.conf #修改storage.conf文件

##修改內容: 
base_path=/fastdfs/storage 
store_path0=/fastdfs/storage 
tracker_server=192.168.59.131:22122 ##改成自己的虛擬機IP地址
http.server_port=80

mkdir -p /fastdfs/storage #創建storage.conf中的base_path、store_path0路徑

啓動關閉storaged 兩種方式:(很大的坑)
方式一:

          /etc/init.d/fdfs_storaged start  #啓動storaged 

           /etc/init.d/fdfs_storaged stop #關閉storaged

方式二:

       /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start    #啓動storaged

     /usr/bin/fdfs_storaged  /etc/fdfs/storage.conf stop    #關閉storaged

推薦使用第二種:對比如圖:使用方式一,並沒有在/fastdfs/storage目錄下生成data和log文件夾,而方式二可以。

cd /fastdfs/storage/data/ && ls  #進入/fastdfs/storage/data/,並查看

效果圖:

##設置開機啓動
命令:vim /etc/rc.d/rc.local 
加入配置:/usr/bin/fdfs_storaged  /etc/fdfs/storage.conf start

編輯client.conf文件 :

##編輯client.conf文件 
命令:vim /etc/fdfs/client.conf 
######################################################################################
修改內容: 
base_path=/fastdfs/tracker 
tracker_server=192.168.59.131:22122
cd /usr/bin && ls |grep fdfs

效果圖:

4、測試:

原本/fastdfs/storage/data/00/00爲空,並沒有文件。

我們進行上傳操作,比如把之前的/usr/local/software/文件夾下的某一個 文件上傳到FastDFS系統中去,命令如 下:  

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/FastDFS_v5.05.tar.gz

效果圖如下: (/fastdfs/storage/data/00/00 目錄中已經有文件了)

注:

           這生成的group1/M00/00/00/wKg7g1vlYXeATmYTAAVFOL7FJU4.tar.gz就是我們訪問路徑的一部分,完整路徑是192.168.59.131/group1/M00/00/00/wKg7g1vlYXeATmYTAAVFOL7FJU4.tar.gz

5、安裝nginx

tar -zxvf nginx-1.14.1.tar.gz -C /usr/local/   #解壓nginx-1.14.1.tar.gz,並放在/usr/local/目錄下

安裝pcre:

yum -y install wget   #如果wget沒有安裝的,報wget命令未找到,需要先安裝wget,否則可以忽略

wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz #安裝pcre

tar -zxvf pcre-8.35.tar.gz -C /usr/local #解壓到/usr/local

cd /usr/local/pcre-8.35 #進入pcre-8.35目錄

./configure 

make && make install #編譯安裝

pcre-config --version #查看版本

效果圖: 

./configure --prefix=/usr/local/nginx --with-http_stub_status_module

make #編譯

make install #安裝

現在可以在主機瀏覽器中輸入你的ip地址,效果如圖,則表明已經成功安裝nginx。 

 6、FastDFS與Nginx整合 

需要安裝fastdfs-nginxmodule。

cd /usr/local/software/  #進入/usr/local/software/目錄下

tar -zxvf /usr/local/software/fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/fast/
#解壓fastdfs-nginx-module_v1.16.tar.gz到/usr/local/fast/目錄中

cd fast/fastdfs-nginx-module/src/  #進入fast/fastdfs-nginx-module/src/目錄下

vim /usr/local/fast/fastdfs-nginx-module/src/config  #編輯配置文件config 

:%s+/usr/local+/usr #將config文件中的/usr/local替換成/usr

修改後的配置文件config如圖: 

rm -rf nginx  #首先把之前的nginx進行刪除 

cd nginx-1.14.1/ #進入nginx-1.14.1目錄下

./configure --add-module=/usr/local/fast/fastdfs-nginx-module/src/ 

make && make install #編譯安裝
##複製fastdfs-ngin-module中的配置文件,到/etc/fdfs目錄中

   命令:cp /usr/local/fast/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

## 進行修改 /etc/fdfs/ 目錄下,我們剛剛copy過來的mod_fastdfs.conf 文件
   vim /etc/fdfs/mod_fastdfs.conf 

修改內容:比如連接超時時間、跟蹤器路徑配置、url的group配置、
connect_timeout=10 
tracker_server=192.168.59.131:22122 
url_have_group_name = true 
store_path0=/fastdfs/storage
 ##複製FastDFS裏的2個文件,到/etc/fdfs目錄中
cd /usr/local/fast/FastDFS/conf/   #進入/usr/local/fast/FastDFS/conf目錄下

cp http.conf mime.types /etc/fdfs/  #將http.conf,mime.types兩個文件拷貝到/etc/fdfs/目錄下


##創建一個軟連接,在/fastdfs/storage文件存儲目錄下創建軟連接,將其鏈接到實際存放數據 的目錄。 
cd /fastdfs/storage   #進入/fastdfs/storage目錄下

ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00
##編輯nginx.conf 

cd /usr/local/nginx/conf  #進入/usr/local/nginx/conf目錄下

vim nginx.conf   #編輯nginx.conf 


 

注意:nginx裏的端口要和配置FastDFS存儲中的storage.conf文件配置一致, 也就是(http.server_port=80)
 

特別注意:

    這裏的nginx啓動命令是:

關閉nginx命令:/usr/local/nginx/sbin/nginx -s stop

啓動nginx命令:/usr/local/nginx/sbin/nginx 

查看版本命令:/usr/local/nginx/sbin/nginx -v

如果直接用nginx -s stop,nginx -s reload,nginx -v。。。。。會報錯:

             如果遇到使用命令/usr/local/nginx/sbin/nginx -s reload,出現報錯:nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"

解決方法(命令如下,效果如上圖):

  /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

以上命令太長,比較複雜,因此提供解決辦法:編輯etc目錄下的profile文件。

vim /etc/profile 

在最後一行加上PATH=$PATH:/usr/local/nginx/sbin ,保存退出

source profile,讓profile配置文件生效

具體如下圖:

最後的測試:

1.storage,tracker,nginx需要是啓動的。

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start  啓動

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start  啓動

ps -ef | grep fdfs 查看fdfs服務是否啓動

當我主機訪問http://192.168.59.131/group1/M00/00/00/wKg7g1vlT2-AfvZfAAVFOL7FJU4.tar.gz時,瀏覽器下載 了該文件。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章