搭建fastfds+nginx

 

一、下载相关安装包

  1. libfastcommon-master.zip

wget https://codeload.github.com/happyfish100/libfastcommon/zip/master

mv master libfastcommon-master.zip

  1. fastdfs-master.zip

wget https://codeload.github.com/happyfish100/fastdfs/zip/master

mv master fastdfs-master.zip

二、安装libfastcommon

unzip libfastcommon-master.zip

cd libfastcommon-master/

./make.sh

./make.sh install

三、安装fastdfs

unzip fastdfs-master.zip

cd fastdfs-master/

./make.sh

./make.sh install

安装完成后,/etc/fdfs目录自动生成

cd /etc/fdfs/

mv client.conf.sample client.conf

mv storage.conf.sample storage.conf

mv tracker.conf.sample tracker.conf

1.配置tracker

mkdir /data/fdfs/tracker#用于存储Tracker的数据文件和日志文件等

vim tracker.conf

port=22122#tarcker的监听端口

base_path=/data/fdfs/tracker #Tracker的数据文件和日志文件路径

store_group=group0#设置组名,要与mod_fastdfs.conf中的group_name的字段名对应

为启动脚本创建软引用

ln -s /usr/bin/fdfs_trackerd /usr/local/bin/

ln -s /usr/bin/stop.sh  /usr/local/bin

ln -s /usr/bin/restart.sh  /usr/local/bin

启动tracker服务

service fdfs_trackerd start

查看服务监听是否正常,正常情况下是会监听22122端口的

netstat -auntlp | grep fdfs

2.配置storage

mkdir /data/fdfs/storage/ #用于storage存储数据文件和日志等

vim storage.conf

group_name=group0#名字需要和mod_fastdfs.conf中的group_name的字段名对应

port=23000#storage的监听端口

base_path=/data/fdfs/storage/#storage存放数据文件和日志等

store_path0=/data/fdfs/storage/

tracker_server=192.168.209.121:22122#单机不要写127.0.0.1,写内网IP,否则启动报错

为启动脚本创建软引用

ln -s /usr/bin/fdfs_storaged /usr/local/bin/

启动storage服务

service fdfs_storaged start

查看服务监听是否正常,正常情况下是会监听23000端口的

netstat -auntlp | grep fdfs

此时trackerstorage都已启动成功

四、编译nginx

1.下载nginx源码包 

wget http://nginx.org/download/nginx-1.9.11.tar.gz

2.下载fastdfs-nginx-module

wget https://github.com/happyfish100/fastdfs-nginx-module/archive/master.zip

3.解压并编译

unzip master.zip#解压fastdfs-nginx-module

tar -xvf nginx-1.9.11.tar.gz#解压nginx源码包

cd nginx-1.9.11/ #进入nginx目录

 ./configure --prefix=/usr/local/nginx-1.9.11 --add-module=/opt/nginx-fastdfs/fastdfs-nginx-module-master/src  --with-http_ssl_module  --with-stream --user=nginx --group=nginx #预编译,指定编译路径,添加编译模块并指定路径

make #进行编译

make install #安装

编译完成之后会在你指定的/usr/local/nginx-1.9.11位置出现nginx编译生成的文件

五、配置nginx

1ln -s /usr/local/nginx-1.9.11/conf/ /etc/nginx#nginx配置创建软连接,便于寻找修改

2vim /etc/nginx/nginx.conf #添加配置,以便在conf.d下创建单独的配置文件,便于管理

include conf.d/*.conf; #在最后一个”}”前添加

3、mkdir /etc/nginx/conf.d #创建存放配置文件的目录

4vim /etc/nginx/conf.d/fastdfs.conf #创建fastdfsnginx配置文件

server{

       listen            8089;

       #server_name       localhost;

       access_log  /var/log/nginx/8089.access.log;

       error_log  /var/log/nginx/8089.error.log;

       location ~* /.(html|htm|jsp|php|js)$ {

           deny all;

       }

       location /group0/M00{

           root /data/fdfs/storage;

           ngx_fastdfs_module;

       }

        location = /favicon.ico {

        log_not_found off;

        access_log off;

    }

}

5、因为fastdfs的访问链接是以http://IP:8089/group0/M00/XX/XX/XX.png格式进行访问的,所以我们要创建M00的软连接

ln -s /data/fdfs/storage/data/ /data/fdfs/group0/M00

6、fastdfs-masterconf 目录中的anti-steal.jpg  http.conf  mime.types拷贝到/etc/fdfs/目录下

cp  anti-steal.jpg  http.conf  mime.types  /etc/fdfs/

7、fastdfs-nginx-module-master/src下的mod_fastdfs.conf拷贝到/etc/fdfs/并且配置,配置完成后,重启fastdfs服务

cp mod_fastdfs.conf /etc/fdfs/

vim /etc/fdfs/mod_fastdfs.conf

base_path=/data/fdfs/storage/

tracker_server=ip:22122##内网IP

group_name=group0

url_have_group_name = true

[group0]

group_name=group0

storage_server_port=23000

store_path_count=1

store_path0=/data/fdfs/storage

service fdfs_storaged restart

service fdfs_trackerd restart

8、到此nginx基本配置完成,启动nginx

ln -s /usr/local/nginx-1.9.11/sbin/nginx /usr/bin/ #nginx命令创建一个软连接,便于nginx的启动

nginx #启动nginx服务

netstat -auntlp | grep nginx #查看nginx 端口监听情况

!!!在这里,很有可能会出现一个问题,就是配置没有问题nginx -t可以通过,服务也启动的起来,但是访问nginx就是没有返回,这个时候强烈建议将fastdfs检查一遍,很有可能就是因为fastdfs没有配置好造成的

9、如果访问图片出现400错误,但在配置文件中去掉ngx_fastdfs_module;”又正常访问但话,是因为fastdfs没配置好,或者fastdfsmod_fastdfs.conf配置文件中的“url_have_group_name” 字段没有配置好,默认是false,我们需要将其改成true

原文地址:https://www.cnblogs.com/Christine-ting/p/10998934.html