FastDFS与Nginx环境配置

分为两部分,

FastDFS的依赖&本体安装配置.

Nginx的安装配置,以及FastDFS支持相关设置.(Nginx环境依赖另篇有写)

一. 安装fastdfs.

1. git下载zip包, 解压进入

https://github.com/happyfish100/libfastcommon

https://github.com/happyfish100/fastdfs

2. 安装依赖包libfastcommon, 和fastdfs包, 安装方法相同.

cd 进文件夹

./make.sh
sudo ./make.sh install 

3.修改配置参数

安装完之后, 直接cd 进入/etc/fdfs/

cp 作者提供的设置样本,

sudo cp ./tracker.conf.sample ./tracker.conf
sudo cp ./storage.conf.sample ./storage.conf
sudo cp ./client.conf.sample ./client.conf

修改相应参数

修改tracker的文件位置,例如:/home/fastdfs/tracker ,bind_address不设置时,绑定本机地址

sudo vim ./tracker.conf

base_path=/home/fastdfs/tracker

修改storage的文件位置及上面tracker服务所在的外网地址, 例如192.168.0.1:22122

sudo vim ./storage.conf

base_path=/home/fastdfa/storage

tracker_server=192.168.0.1:22122

修改client文件位置,对应的tracker地址

base_path=/home/python/fastdfs/tracker

tracker_server=192.168.0.1:22122

4. 启动服务

sudo /usr/bin/fdfs_tracked /etc/fdfs/tracker.conf
sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf

5. 查询并上传文件以测试服务

ps aux|grep fdfs
fdfs_upload_file /etc/fdfs/client.conf 文件名

有返回文件id则服务正常

"group1/M00/00/00/wKgBA12En06AU7VbAAHew_W99e0827.jpg"

二. 安装nginx(依赖PCRE,zlib,OpenSSL库)

1. 下载nginx包, 以及nginx的fastdfs扩展包.

http://nginx.org/en/download.html

https://github.com/happyfish100/fastdfs-nginx-module

2. 增加nginx安装前缀, 添加fastdfs支持

cd 进nginx解压包

前置命令格式

sudo ./configure --prefix=[nginx所要安装的绝对路径] 
--user=用户名 \
--group=组 \
--with-包名1 \
--with-包名2 \
--add-module=[指向 增加的扩展包的绝对路径内的src源代码文件夹]

!#无限制需要则不指定user&group, 设置后用户不匹配则无法启动服务[emerg] getpwnam("nginx") failed

包则根据自身需要追加

例:

sudo ./configure --prefix=/usr/local/nginx/ --add-module=/home/jrri/Downloads/fastdfs-nginx-module-master/src

安装:

sudo make
sudo make install

!#如make过程中出现错误

objs/Makefile:440: recipe for target 'objs/src/core/ngx_murmurhash.o' failed

cd 进 ./objs内修改Makefile,将gcc参数中的-Werror删掉即可.

3. nginx相关配置

(1)http.conf&mime.types(之前fastdfs解压包内conf目录内)

fastdfs-master内目录conf内http.conf和mime.types到fdfs配置目录

sudo cp 下载目录/fastdfs-master/http.conf /etc/fdfs/http.conf
sudo cp 下载目录/fastdfs-master/mime.types /etc/fdfs/mime.types

并在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;
            }
        }

(2)mod_fastdfs配置(解压包module目录下)

fastdfs-nginx-module-master内cp目录src内mod_fastdfs.conf到fdfs配置目录

sudo cp 下载目录/fastdfs-nginx-module-master/mod_fastdfs.conf /etc/fdfs/mod_fastdfs.conf

并更改:

connect_timeout=10
tracker_server=tracker服务所在的外网地址:22122
# 例: tracker_server=192.168.0.1:22122
url_have_group_name=true
store_path0=/home/python/fastdfs/storage

4. 启动nginx服务器

# 启动: root执行nginx下sbin目录内的nginx可执行文件.

sudo /usr/local/nginx/sbin/nginx

# 关闭: 可执行文件_ -s stop

sudo /usr/local/nginx/sbin/nginx -s stop

## 与Python交互需要另行配置