配置了大半天,出现了些bug,做一个简单的记录
1.下载安装包和依赖
链接:https://pan.baidu.com/s/1hJev2o6dbbtgskZFmq0RiA 密码:kni8
2.在mac中需要解除安全限制,默认的情况下是不能操作系统目录的
- 重启电脑,并按下command + R
- 进入到调试模式,打开终端,输入
csrutil disable
,解除安全限制 - 重启
- 如果要恢复就输入
csrutil enable
,在重启
3.安装配置
(1)使用brew安装配置 libevent pcre openssl 三个库(mac上一般会自带)
(2)安装fastdfs依赖包
- 解压缩 libfastcommon-master.zip(解压的路径可以自定义)
- 进入到 libfastcommon-master的目录中
- 执行
sudo ./make.sh
- 执行
sudo ./make.sh install
(3) 安装fastdfs(和上面一样的操作)
- 解压缩fastdfs-master.zip
- 进入到 fastdfs-master目录中
- 执行 ./make.sh
- 执行 sudo ./make.sh install
(4)配置跟踪服务器tracker
- copy一份文件
sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
- 自定义一个位置创建fastdfs(我创建的是/Users/(用户名xxx)/fastdfs)在fastdfs下创建tracker
mkdir –p /Users/xxx/fastdfs/tracker
- 编辑/etc/fdfs/tracker.conf配置文件
sudo vim /etc/fdfs/tracker.conf
修改base_path = /Users/xxx/fastdfs/tracker(创建tracker的绝对路径)
(5)配置存储服务器storage(同上面的步骤)
- copy一份文件
sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
- 自定义一个位置创建fastdfs(我创建的是/Users/(用户民xxx)/fastdfs)在fastdfs下创建storage
mkdir –p /Users/xxx/fastdfs/storage
- 编辑/etc/fdfs/storage.conf配置文件
sudo vim /etc/fdfs/storage.conf
- 修改base_path = /Users/xxx/fastdfs/storage(创建tracker的绝对路径)
- store_path0=/Users/xxx/fastdfs/storage
- tracker_server=自己电脑的ip地址:22122
(6)测试是否安装成功
sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
- 编辑/etc/fdfs/client.conf配置文件
sudo vim /etc/fdfs/client.conf
修改内容:
base_path/Users/xxx/fastdfs/tracker
tracker_server=自己电脑的ip地址:22122 - 启动服务:
sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
- 查看是否启动成功:
ps -ef|grep fdfs
- 上传文件测试:
fdfs_upload_file /etc/fdfs/client.conf 要上传的图片文件路径
如果返回group1/M00/00/00/CoD1lV3H_aSAU_7oABGGuXFSJm4039.jpg
的文件id则说明文件上传成功
(7)安装nginx及fastdfs-nginx-module (web服务器)
- 解压缩 nginx-1.12.2.tar.gz
- 解压缩 fastdfs-nginx-module-master.zip
- 进入 fastdfs-nginx-module-master文件夹中:
cd xxx/fastdfs/fastdfs-nginx-module-master/src/
打开config:sudo vim config
更改里面的配置如下图所示:
config
a,b不清楚是不是必须,只是照做了,可以先试试上面的,不行在配置下面的a,b
a. 将/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
b. 将/usr/lib中libfdfsclient.so库拷贝到 /usr/local/lib 和 /usr/local/lib64中
sudo cp /usr/lib/libfdfsclient.so /usr/local/lib/
sudo cp /usr/lib/libfdfsclient.so /usr/local/lib64/
- 进入nginx-1.12.2目录中
- 执行
sudo ./configure --prefix=/usr/local/nginx/ --add-module=fastdfs-nginx-module-master解压后的目录的绝对路径/src
执行好了在执行编译和安装(出现缺少头文件的错误就是第3步的config配置的问题,没有填写正确的路径)nignx:获取到fastdfs-nginx-module-master的关联,prefix是安装的路径
sudo make
sudo make install - sudo cp fastdfs-nginx-module-master解压后的目录中src下的mod_fastdfs.conf /etc/fdfs/mod_fastdfs.conf
- sudo vim /etc/fdfs/mod_fastdfs.conf
修改内容:
connect_timeout=10
tracker_server=自己ubuntu虚拟机的ip地址:22122
url_have_group_name=true
store_path0=/home/python/fastdfs/storage - sudo cp 解压缩的fastdfs-master目录conf中的http.conf /etc/fdfs/http.conf
- sudo cp 解压缩的fastdfs-master目录中的mime.types /etc/fdfs/mime.types
9.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
(8)启动nginx
sudo nginx
在浏览器中输入127.0.0.1:8888/(上传图片返回的数据)group1/M00/00/00/CoD1lV3H_aSAU_7oABGGuXFSJm4039.jpg
能在浏览器中正常的显示图片说明配置完成
可能出现的bug
(1) tracker_query_storage fail, error no: 28, error info: No space left on device
磁盘空间不足,(sudo vim /etc/fdfs/tracker.conf)中的reserved_storage_space,默认的配置是总磁盘容量的10%,将他改为了4GB
(2)编译nginx的时候出现没找到头文件的错误,config文件中的路径错了