获取安装包
wget https://github.com/happyfish100/libfastcommon/archive/V1.0.39.tar.gz -SO libfastcommon.tar.gz
wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz -SO fastdfs.tar.gz
wget https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.20.tar.gz -SO fastdfs-nginx-module.tar.gz
解压
tar -xf xxx.tar.gz
安装 libfastcommon
cd libfastcommon-1.0.39
./make.sh
./make.sh install
安装 fastdfs
cd fastdfs-5.11
./make.sh
./make.sh install
而配置文件是在/etc/fdfs下,但是这些配置文件不全,需要从fastdfs包中拷贝,并修改配置
cd ~/fastdfs-5.11/conf
$ ls
anti-steal.jpg client.conf http.conf mime.types storage.conf storage_ids.conf tracker.conf
$ sudo cp ~/fastdfs-5.11/conf/* /etc/fdfs
修改配置
sudo vi /etc/fdfs/tracker.conf
# the tracker server port
port=22122
# the base path to store data and log files
base_path=/home/caibh/fdfs
# HTTP port on this tracker server
http.server_port=80 # 与nginx配置一样
修改 sudo vi /etc/fdfs/storage.conf
# storage所属的组
group_name=group1
# the storage server port
port=23000
# the base path to store data and log files
base_path=/home/caibh/fdfs
# store_path#, based 0, if store_path0 not exists, it's value is base_path
# the paths must be exist
store_path0=/home/caibh/fdfs
#store_path1=/home/caibh/fdfs2
# tracker服务器,虽然是同一台机器上,但是不能写127.0.0.1。这项配置可以出现一次或多次
tracker_server=191.8.1.77:22122
# the port of the web server on this storage server
http.server_port=80 # 与nginx配置一样
修改 sudo vi /etc/fdfs/client.conf
# the base path to store log files
base_path=/home/caibh/fdfs/client
# tracker_server can ocur more than once, and tracker_server format is
# "host:port", host can be hostname or ip address
tracker_server=191.8.1.77.22122
#HTTP settings
http.tracker_server_port=80 # 与nginx配置一样
模块操纵
cp fastdfs-nginx-module-1.20/src/mod_fastdfs.conf /etc/fdfs/
vim /etc/fdfs/mod_fastdfs.conf
base_path=/tmp
tracker_server=191.8.1.77:22122
storage_server_port=23000
group_name=group1
#文件 url 中是否有 group 名
url_have_group_name = true
store_path0=/home/caibh/fdfs
配置过程中有几点要注意:
确保配置中用到的目录已经创建了。比如
~/fdfs/client
~/fdfs/data
~/fdfs/logs
确保各种配置文件之间引用的端口一直。比如:
mod_fastdfs.conf文件中 tracker_server port 一致
mod_fastdfs.conf文件中 storage_server_port的端口应该跟storage.conf中port 一致
其他配置或文件虽然不用修改,但是
fastdfs-nginx-module模块会用到:
anti-steal.jpg
http.conf
mime.types
启动FASTDFS
fdfs_trackerd /etc/fdfs/tracker.conf restart
默认端口是22122
netstat -antp|grep trackerd
启动FASTDFS
fdfs_storaged /etc/fdfs/storage.conf restart
Nginx安装依赖于pcre、zlib、openssl,在编译前配置时如果有问题
可以使用yum方式安装三个包(pcre-devel、zlib-devel、openssl-devel)
yum install -y pcre-devel zlib-devel openssl-devel wget gcc tree vim gd gd-devel libxml2 libxml2-dev libxslt-dev libgd-dev
wget http://nginx.org/download/nginx-1.10.3.tar.gz
tar -xv nginx-1.10.3.tar.gz
cd nginx-1.10.3
./configure
--prefix=/usr/share/nginx
--conf-path=/etc/nginx/nginx.conf
--http-log-path=/var/log/nginx/access.log
--error-log-path=/var/log/nginx/error.log
--lock-path=/var/lock/nginx.lock
--pid-path=/run/nginx.pid
--http-client-body-temp-path=/var/lib/nginx/body
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi
--http-proxy-temp-path=/var/lib/nginx/proxy
--http-scgi-temp-path=/var/lib/nginx/scgi
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi
--with-debug
--with-pcre-jit
--with-ipv6
--with-http_ssl_module
--with-http_stub_status_module
--with-http_realip_module
--with-http_auth_request_module
--with-http_addition_module
--with-http_dav_module
--with-http_gunzip_module
--with-http_gzip_static_module
--with-http_image_filter_module
--with-http_v2_module
--with-http_sub_module
--with-http_xslt_module
--with-stream
--with-stream_ssl_module
--with-mail
--with-mail_ssl_module
--with-threads
--add-module=/data/fastdfs-nginx-module-1.20/src
make && make install
如果报错
/usr/local/include/fastdfs/fdfs_define.h:15:27: 致命错误:common_define.h:没有那个文件或目录
编辑 fastdfs-nginx-module-1.20/src/config 文件
vim fastdfs-nginx-module-1.20/src/config
改变的文件内容
ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
重新编译
./configure
--prefix=/usr/share/nginx
--conf-path=/etc/nginx/nginx.conf
--http-log-path=/var/log/nginx/access.log
--error-log-path=/var/log/nginx/error.log
--lock-path=/var/lock/nginx.lock
--pid-path=/run/nginx.pid
--http-client-body-temp-path=/var/lib/nginx/body
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi
--http-proxy-temp-path=/var/lib/nginx/proxy
--http-scgi-temp-path=/var/lib/nginx/scgi
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi
--with-debug
--with-pcre-jit
--with-ipv6
--with-http_ssl_module
--with-http_stub_status_module
--with-http_realip_module
--with-http_auth_request_module
--with-http_addition_module
--with-http_dav_module
--with-http_gunzip_module
--with-http_gzip_static_module
--with-http_image_filter_module
--with-http_v2_module
--with-http_sub_module
--with-http_xslt_module
--with-stream
--with-stream_ssl_module
--with-mail
--with-mail_ssl_module
--with-threads
--add-module=/data/fastdfs-nginx-module-1.20/src
make && make install
修改nginx配置文件
修改listen部分
listen 80;
server_name 192.168.221.131;
#charset koi8-r;
#access_log logs/host.access.log main;
location /group1/M00/ {
root /data/app/fdfs/data;
ngx_fastdfs_module;
}
location / {
root html;
index index.html index.htm;
}
本地测试
$ fdfs_test /etc/fdfs/client.conf upload ~/caibh/test_images/XinXiJuZhiWang.jpg
This is FastDFS client test program v5.11
Copyright (C) 2008, Happy Fish / YuQing
FastDFS may be copied only under the terms of the GNU General
Public License V3, which may be found in the FastDFS source kit.
Please visit the FastDFS Home Page http://www.csource.org/
for more detail.
[2019-02-22 14:54:33] DEBUG - base_path=/home/xxxx/fdfs/client, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0
tracker_query_storage_store_list_without_group:
server 1. group_name=, ip_addr=191.8.2.203, port=23000
group_name=group1, ip_addr=191.8.2.203, port=23000
storage_upload_by_filename
group_name=group1, remote_filename=M00/00/00/vwgCy1xvnKmAIDXDAAEM3XOobI4945.jpg
source ip address: 191.8.2.203
file timestamp=2019-02-22 14:54:33
file size=68829
file crc32=1940417678
example file url: http://191.8.2.203:9270/group1/M00/00/00/vwgCy1xvnKmAIDXDAAEM3XOobI4945.jpg
storage_upload_slave_by_filename
group_name=group1, remote_filename=M00/00/00/vwgCy1xvnKmAIDXDAAEM3XOobI4945_big.jpg
source ip address: 191.8.2.203
file timestamp=2019-02-22 14:54:33
file size=68829
file crc32=1940417678
example file url: http://191.8.2.203:9270/group1/M00/00/00/vwgCy1xvnKmAIDXDAAEM3XOobI4945_big.jpg
http://191.8.2.203:8777/M00/00/00/vwgCy1xvnKmAIDXDAAEM3XOobI4945_big.jpg
# 如果能看到图片则表示安装fastdfs-nginx-module成功
版权声明:本文根据网上资源以及自己安装实践完成,如有侵权请留言,我会在第一时间下架!