环境
本文在VMware12虚拟机上,安装了CentOS6.5系统。CentOS以root用户登陆,安装1个Tracker和1个Storage,不考虑复杂情况。。
Nginx1.10.2 安装
参考博客
FastDFS相关压缩包下载
fastdfs-5.08.tar.gz
核心包。
GitHub下载地址libfastcommon-1.0.7.tar.gz
fastdfs依赖的工具包。
GitHub下载地址fastdfs-nginx-module_v1.16.tar.gz
fastdfs\nginx整合包。
SourceForge下载地址
安装
- 将上述三个压缩包拷贝到/root/Downloads目录下
安装libfastcommon-1.0.7.tar.gz
- 解压缩并编译
# tar zxvf libfastcommon-1.0.7.tar.gz
# cd libfastcommon-1.0.7
# ./make.sh
- 安装
# ./make.sh install
- 将/usr/lib64/libfastcommon.so文件向/usr/lib/下复制一份
# cp /usr/lib64/libfastcommon.so /usr/lib
安装fastdfs-5.08.tar.gz
- 解压缩并编译
# tar zxvf fastdfs-5.05.tar.gz
# cd fastdfs-5.05
# ./make.sh
- 安装
# ./make.sh install
安装后在/usr/bin/目录下有以fdfs开头的文件都是编译出来的; 配置文件都放到/etc/fdfs文件夹。
把/root/FastDFS/conf目录下的所有的配置文件都复制到/etc/fdfs下(亦可通过配置/root/FastDFS/conf目录下的三个.sample的示例配置文件来配置。这三个文件和/etc/fdfs下没有带后缀的同名文件,内容是一样的,并不影响)
# cp -r /root/Downloads/fastdfs-5.05/conf/ /etc/fdfs
- 配置tracker服务。修改保存/etc/fdfs/tracker.conf文件。
# vim /etc/fdfs/tracker.conf
base_path=/root/Data/fastdfs/tracker // 存储数据和日志的路径
- 配置storage服务。修改/etc/fdfs/storage.conf文件。
# vim /etc/fdfs/storage.conf
base_path=/root/Data/fastdfs/storage // 存储数据和日志的路径
store_path0=/root/Data/fastdfs/storage // 图片保存的路径
tracker_server=10.137.20.160:22122 // 前面ip填当前电脑(CentOS)的ip,端口是默认的
- 启动tracker服务
# /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
- 启动storage服务
# /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
- 注:重启的命令如下
# /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
# /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
小测试
- 修改配置文件/etc/fdfs/client.conf
# vim /etc/fdfs/client.conf
base_path=/root/Data/fastdfs/client
tracker_server=10.137.20.160:22122 // 前面ip填当前电脑的ip,端口是默认的
- 上传fastdfs自带图片,看是否成功
# cd /etc/fdfs
# /usr/bin/fdfs_test /etc/fdfs/client.conf upload anti-steal.jpg
安装fastdfs-nginx-module_v1.16.tar.gz
- 解压插件压缩包,修改/root/Downloads/fastdfs-nginx-module/src/config文件,把其中的一共三处的local路径去掉。(即删掉/local)
# tar zxvf fastdfs-nginx-module_v1.16.tar.gz
# vim fastdfs-nginx-module/src/config
- 对nginx重新configure
# cd nginx-1.10.2
# ./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/tmp/nginx/client \
--http-proxy-temp-path=/var/tmp/nginx/proxy \
--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \
--http-scgi-temp-path=/var/tmp/nginx/scgi \
--add-module=/root/Downloads/fastdfs-nginx-module/src
- 把/root/Downloads/fastdfs-5.05/client/libfdfsclient.so文件分别拷贝一份到/usr/lib64和/usr/lib目录中
# cp /root/Downloads/fastdfs-5.05/client/libfdfsclient.so /usr/lib64
# cp /root/Downloads/fastdfs-5.05/client/libfdfsclient.so /usr/lib
- 编译
make
- 安装
make install
- 把/root/Downloads/fastdfs-nginx-module/src/mod_fastdfs.conf文件复制到/etc/fdfs目录下。编辑:
# cp /root/Downloads/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs
# cd !$
# vim mod_fastdfs.conf
tracker_server=10.137.20.160:22122
url_have_group_name = true
store_path0=/root/Data/fastdfs/storage/data
- 配置nginx
# cd /usr/local/nginx/conf/
# vim nginx.conf
// 可以将server的配置改成如下,但不唯一,自己理解修改
user root;
server {
listen 80;
server_name localhost;
location /group1/M00/{
root /root/Data/fastdfs/storage/data;
ngx_fastdfs_module;
}
}
- 启动Nginx
用上测试的方法,再进行测试,上传成功,没有报错信息时,在电脑的浏览器输入它返回的图片地址。若能成功显示图片,则配置成功!
感想
最后在配置Nginx的时候卡了半天,因为输入图片的地址,始终返回的是404。最后发现,原来是user root;这句话没有配置。虽然最后成功了,但还是没明白这句话在整个配置过程中起到什么作用,为什么没有配就访问不了。有大神的话,求解惑,不胜感激!