以前操作,补一下文档:
安装环境:
10.1.14.40
10.1.14.39
2台上都安装fast_dfs和nginx ,2台上都跑,看后面截图:
下载包:
wget http://nginx.org/download/nginx-1.12.2.tar.gz
git clone https://github.com/happyfish100/libfastcommon.git
cd libfastcommon
./make.sh
./make.sh install
wget https://github.com/happyfish100/fastdfs/archive/V5.09.tar.gz
cd /usr/local/src/fastdfs-5.09/init.d/
./make.sh
./make.sh install
修改配置:
cp tracker.conf.sample tracker.conf
vi tracker.conf
disabled=false
base_path=/home/yuqing/fastdfs
vim storage.conf
disabled=false
group_name=group1
base_path=/home/yuqing/fastdfs
store_path0=/home/yuqing/fastdfs
tracker_server=10.1.14.39:22122
tracker_server=10.1.14.40:22122
启动:
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
Nginx 安装:
./configure –prefix=/usr/local/nginx –add-module=../fastdfs-nginx-module/src –with-pcre=../pcre-8.41
Make
make[1]: *** [objs/addon/src/ngx_http_fastdfs_module.o] Error 1
make[1]: Leaving directory `/usr/local/src/nginx-1.13.6′
make: *** [build] Error 2
修改:
/usr/local/src/fastdfs-nginx-module/src/config
如下:
ngx_addon_name=ngx_http_fastdfs_module
HTTP_MODULES=”$HTTP_MODULES ngx_http_fastdfs_module”
NGX_ADDON_SRCS=”$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_fastdfs_module.c”
CORE_INCS=”$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/”
CORE_LIBS=”$CORE_LIBS -L/usr/local/lib -lfastcommon -lfdfsclient”
CFLAGS=”$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE=’256*1024′ -DFDFS_MOD_CONF_FILENAME=’\”/etc/fdfs/mod_fastdfs.conf\”‘”
Make
Make install
Cd
/usr/local/src/fastdfs-5.09/conf
- cp anti-steal.jpg http.conf mime.types /etc/fdfs/
- cd
/usr/local/src/fastdfs-nginx-module/src
cp mod_fastdfs.conf /etc/fdfs/
vi mod_fastdfs.conf
增加一个tracker:
tracker_server=10.1.14.40:22122
tracker_server=10.1.14.39:22122
vim storage.conf
写入2个tracker:
tracker_server=10.1.14.39:22122
tracker_server=10.1.14.40:22122
vi client.conf
base_path=/home/yuqing/fastdfs
tracker_server=10.1.14.40:22122
tracker_server=10.1.14.39:22122
nginx.conf配置:
upstream fastdfs_tracker{
server 10.1.14.40:8080;
server 10.1.14.39:8080;
}
server {
listen 80;
server_name 10.1.14.40;
#charset koi8-r;
access_log logs/host.access.log main;
#location /group1/M00 {
# root /home/yuqing/fastdfs/data/;
# ngx_fastdfs_module;
# }
location /group1/M00 {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
#proxy_cache http-cache;
#proxy_cache_valid 200 304 12h;
#proxy_cache_key $uri$is_args$args;
proxy_pass http://fastdfs_tracker;
#add_header Nginx-Cache “$upstream_cache_status”;
#expires 30d;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 8080;
server_name 10.1.14.40;
location / {
root html;
index index.html index.htm;
}
location ~/group[0-9]/M00 {
ngx_fastdfs_module;
}
}
Tail -f /home/yuqing/fastdfs/logs//home/yuqing/fastdfs/logs
2017-11-01 15:22:19] ERROR – file: tracker_mem.c, line: 3872, open file /home/yuqing/fastdfs/data/storage_groups_new.dat fail, errno: 2, error info: No such file or directory
[2017-11-01 15:22:19] INFO – file: tracker_mem.c, line: 4213, sys files loaded from tracker server 10.1.14.40:22122
[2017-11-01 15:22:20] ERROR – file: tracker_service.c, line: 2149, client ip: 10.1.14.39, sync src server: 10.1.14.40 not exists
[2017-11-01 15:22:20] INFO – file: tracker_service.c, line: 969, the tracker leader is 10.1.14.40:22122
发现有报错:
解决如下:
经过调试问题暂时解决了,是多个tracker data数据不一致,没有自动同步。
删掉新加入节点的/data目录,拷贝当前Leader tracker目录下的 /data文件 过去即可(.pid不要拷贝)
Scp –r data 10.1.14.39:/home/xxxxx/
重启后加入的节点14.39
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
查看日志:
[2017-11-01 15:38:13] INFO – file: tracker_relationship.c, line: 383, selecting leader…
[2017-11-01 15:38:14] INFO – file: tracker_relationship.c, line: 422, the tracker leader 10.1.14.40:22122
没哟报错了。
14.39:
两台上都可以上传包:
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /tmp/word.jpg
1.6老版本安装:
- 先安装libvent-20.0.21-stable.tar.gz
yum install gcc-c++
yum -y install zlib zlib-devel openssl openssl–devel pcre pcre-devel
./configure –prefix=/usr/
Make
Make install
解压:FastDFS_v4.06.tar.gz 进入目录:
Vi make.sh 去掉这行注释:WITH_LINUX_SERVICE=1
Make.sh
Make.sh install
Mkdir –p /home/yuqing/fastdfs
cd /usr/lib64/
ln -s /usr/lib/libevent-2.0.so.5 libevent-2.0.so.5
启动脚本:
service fdfs_trackerd start
service fdfs_storaged start
service fdfs_storaged status
service fdfs_trackerd status
/usr/local/nginx/sbin/nginx
tar -zxvf fastdfs-nginx-module_v1.15.tar.gz
tar -zxvf pcre-8.41.tar.gz
tar -zxvf nginx-1.6.1.tar.gz
./configure –prefix=/usr/local/nginx –add-module=../fastdfs-nginx-module/src –with-pcre=../pcre-8.41
Make
Make install
Nginx.conf
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main ‘$remote_addr – $remote_user [$time_local] “$request” ‘
# ‘$status $body_bytes_sent “$http_referer” ‘
# ‘”$http_user_agent” “$http_x_forwarded_for”‘;
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
upstream fastdfs_tracker{
server 10.1.9.14:8080;
server 10.1.9.16:8080;
}
server {
listen 80;
server_name 10.1.9.16;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
location /group1/M00 {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
#proxy_cache http-cache;
#proxy_cache_valid 200 304 12h;
#proxy_cache_key $uri$is_args$args;
proxy_pass http://fastdfs_tracker;
#add_header Nginx-Cache “$upstream_cache_status”;
#expires 30d;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 8080;
server_name 10.1.9.16;
location / {
root html;
index index.html index.htm;
}
location ~/group[0-9]/M00 {
ngx_fastdfs_module;
}
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
#error_page 500 502 503 504 /50x.html;
#location = /50x.html {
# root html;
#}
}
以10.1.9.16为例,另一个是9.14,需要修改IP即可。
Nginx日志报:
ERROR – file: ../common/fdfs_global.c, line: 52, the format of filename “group1/M00/00/00/CgEJEFqhB6qABYBRABjk_e3WFFQ333.jpg” is invalid
解决办法:
vi /etc/fdfs/mod_fastdfs.conf
将
url_have_group_name=false
改为
url_have_group_name=true
重启nginx : /usr/local/nginx/sbin/nginx –s reload
测试:
上传:/usr/local/src/FastDFS/client/fdfs_upload_file /etc/fdfs/client.conf /tmp/word.jpg