mac中FastDFS与nginx安装

配置了大半天,出现了些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
  1. 修改base_path = /Users/xxx/fastdfs/storage(创建tracker的绝对路径)
  2. store_path0=/Users/xxx/fastdfs/storage
  3. tracker_server=自己电脑的ip地址:22122

(6)测试是否安装成功

  1. sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
  2. 编辑/etc/fdfs/client.conf配置文件 sudo vim /etc/fdfs/client.conf
    修改内容:
    base_path/Users/xxx/fastdfs/tracker
    tracker_server=自己电脑的ip地址:22122
  3. 启动服务:
sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
  1. 查看是否启动成功: ps -ef|grep fdfs
  2. 上传文件测试:
    fdfs_upload_file /etc/fdfs/client.conf 要上传的图片文件路径
    如果返回group1/M00/00/00/CoD1lV3H_aSAU_7oABGGuXFSJm4039.jpg的文件id则说明文件上传成功

(7)安装nginx及fastdfs-nginx-module (web服务器)

  1. 解压缩 nginx-1.12.2.tar.gz
  2. 解压缩 fastdfs-nginx-module-master.zip
  3. 进入 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/

  1. 进入nginx-1.12.2目录中
  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
  3. sudo cp fastdfs-nginx-module-master解压后的目录中src下的mod_fastdfs.conf /etc/fdfs/mod_fastdfs.conf
  4. 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
  5. sudo cp 解压缩的fastdfs-master目录conf中的http.conf /etc/fdfs/http.conf
  6. 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文件中的路径错了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容