mac安裝FastDFS問題比較多,不推薦使用Mac,但是還是記錄一下安裝的流程
一.準備工作
1.1安裝下載5個文件,如下:
libfastcommon 下載地址:https://github.com/happyfish100/libfastcommon.git
fastdfs 下載地址:https://github.com/happyfish100/fastdfs.git
nginx 下載地址:http://nginx.org/download/nginx-1.12.2.tar.gz
fastdfs-nginx-module 下載地址:https://github.com/happyfish100/fastdfs-nginx-module.git
pcre 下載地址:https://ftp.pcre.org/pub/pcre/
1.2解除mac安全限制,mac默認不允許操作系統目錄
- 重啓電腦 按住command+r
- 打開終端,輸入csrutil disable 禁用安全限制
- 如果想要恢復 csrutil enable 啓用
- 重啓
二.配置FastDFS
2.1新建目錄
fastdfs目錄
sudo mkdir -p /fastdfs/tracker
sudo mkdir -p /fastdfs/storage
sudo mkdir -p /fastdfs/logs
庫目錄
sudo mkdir -p /usr/lib64
sudo mkdir -p /usr/local/lib64
2.2安裝libfastcommon
解壓下載的libfastcommon包,進入文件夾打包執行編譯和安裝命令:
sudo ./make.sh
sudo ./make.sh install
2.3安裝fastdfs
2.3.1解壓下載的fastdfs包,進入文件夾打包執行編譯和安裝命令:
sudo ./make.sh && sudo ./make.sh install
2.3.2進入配置文件目錄,修改文件名
cd /etc/fdfs
sudo cp tracker.conf.sample tracker.conf
sudo cp storage.conf.sample storage.conf
sudo cp client.conf.sample client.conf
2.3.3啓動tracker
進入配置文件
sudo vim /etc/fdfs/tracker.conf
修改存放路徑
# tracker的數據和日誌存放目錄
base_path=/fastdfs/tracker
啓動tracker
sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
2.3.4啓動storage
進入配置文件
sudo vim storage.conf
修改配置文件
base_path=/fastdfs/storage # storage的數據和日誌存放目錄
store_path0=/fastdfs/storage # storage的上傳文件存放路徑
tracker_server=192.168.56.101:22122 # tracker的地址和端口號
啓動storage
sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
查看是否啓動成功
ps -ef | grep fdfs
2.4安裝fastdfs-nginx-module
2.4.1.將fastdfs-nginx-module移動到/fastdfs
sudo mv fastdfs-nginx-module /fastdfs
2.4.2.進入配置目錄配置config文件
cd /fastdfs/fastdfs-nginx-module/src/
sudo vim config
紅色的位置默認只有一個庫的頭文件路徑,請加上,並查看自己的庫目錄是否正確,自己看自己的目錄進行修改
2.4.3.配置mod_fastdfs.conf
sudo vim /etc/fdfs/mod_fastdfs.cof
配置如下:
connect_timeout=10 # 客戶端訪問文件連接超時時長(單位:秒)
tracker_server=192.168.56.101:22122 # tracker服務IP和端口
url_have_group_name=true # 訪問鏈接前綴加上組名
store_path0=/fastdfs/storage # 文件存儲路徑
複製/mod_fastdfs.cof到 /etc/fdfs下
sudo cp mod_fastdfs.conf /etc/fdfs/
2.4.4.複製部fastdfs源碼目錄中部分配置文件到/etc/fdfs中
cd ~/FastDFS/conf
cp http.conf mime.types /etc/fdfs/
2.4.5.將/usr/lib 中的庫創建軟連接到 /usr/lib64
cd /usr/lib64
sudo ln -s /usr/lib64/libfastcommon.so libfastcommon.so
sudo ln -s /usr/lib64/libfdfsclient.so libfdfsclient.so
2.4.6.將/usr/lib中libfdfsclient.so庫拷貝到 /usr/local/lib 和 /usr/local/lib64
因爲make的時候要去其中一個目錄中找這個動態庫,具體是哪一個沒有仔細研究 makefile,所以我都給拷貝了
sudo cp /usr/lib/libfdfsclient.so /usr/local/lib/
sudo cp /usr/lib/libfdfsclient.so /usr/local/lib64/
2.5安裝pcre
解壓下載的pcre包,執行下面命令:
./configure --prefix=/usr/local
編譯安裝:
sudo make
sudo make install
2.6配置nginx
解壓下載的nginx包,執行下面命令:
sudo ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/fastdfs/fastdfs-nginx-module/src
sudo make && sudo make install
配置中整合fastdfs-module
sudo vim /opt/nginx/conf/nginx.conf
在server中添加
# 監聽域名中帶有group0 到 group9 的,交給FastDFS模塊處理
location ~/group([0-9])/ {
ngx_fastdfs_module;
}
啓動nginx
sudo nginx
查看是否啓動成功
ps -ef | grep nginx
三.測試
3.1修改配置文件client.conf
sudo vim /etc/fdfs/client.conf
修改內容
# 日誌文件存放目錄
base_path=/fastdfs/logs
# tracker 主機端口
tracker_server=172.16.228.128:22122
3.2上傳圖片到fastdfs
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf test.png
返回存儲信息
3.3通過瀏覽器訪問nginx訪問圖片