如果是在本地安装的话,先关闭防火墙。如果在生产环境中,那么要加入防火墙规则,开放对应的端口号
所有源码包都放在/usr/local/src目录下
描述文档:
一、首先安装fastdfs的依赖库libevent
cd /usr/local/src
tar zxvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
安装libevent并指定安装目录
./configure --prefix=/usr/local/libevent
make
make install
把libevent库加入到/etc/ld.so.conf中
echo “/usr/local/libevent/lib” >> /etc/ld.so.conf
检查是否加入进去
cat /etc/ld.so.conf
刷新使之生效
ldconfig
- 接下来安装FastDFS
cd /usr/local/src
tar zxvf FastDFS_v4.06.tar.gz
cd FastDFS
先修改一个文件make.sh,修改其中的安装路径
sed -i 's@TARGET_PREFIX=/usr/local@TARGET_PREFIX=/usr/local/fastdfs@' make.sh
执行安装脚本make.sh
./make.sh C_INCLUDE_PATH=/usr/local/libevent/include LIBRARY_PATH=/usr/local/libevent/lib
如果没有报错,就继续安装
如果编译的时候不小心写错,想重新编译,却报错“make: Nothing to be done for `all'”
请执行./make.sh clean在执行ldconfig ,然后在重新编译
./make.sh install
此时fastdfs安装完成,接下来安装tracker
配置文件在/etc/fdfs下,tracker的配置文件只需要改动几处,其余部分用默认的即可
cd /etc/fdfs
[root@localhost fdfs]# egrep -v "^#|^$" tracker.conf
disabled=false
bind_addr=
port=22122
connect_timeout=30
network_timeout=60
base_path=/store/fdfs_g1 →此处是tracker的指定目录
max_connections=256
work_threads=4
store_lookup=2
store_group=group2
store_server=0
store_path=0
download_server=0
reserved_storage_space = 10%
log_level=info
run_by_group=
run_by_user=
allow_hosts=*
sync_log_buff_interval = 10
check_active_interval = 120
thread_stack_size = 64KB
storage_ip_changed_auto_adjust = true
storage_sync_file_max_delay = 86400
storage_sync_file_max_time = 300
use_trunk_file = false
slot_min_size = 256
slot_max_size = 16MB
trunk_file_size = 64MB
trunk_create_file_advance = false
trunk_create_file_time_base = 02:00
trunk_create_file_interval = 86400
trunk_create_file_space_threshold = 20G
trunk_init_check_occupying = false
trunk_init_reload_from_binlog = false
use_storage_id = false
storage_ids_filename = storage_ids.conf
id_type_in_filename = ip
store_slave_file_use_link = false
rotate_error_log = false
error_log_rotate_time=00:00
rotate_error_log_size = 0
use_connection_pool = false
connection_pool_max_idle_time = 3600
http.server_port=80 → 此处是web端的监听端口(默认:8888)
http.check_alive_interval=30
http.check_alive_type=tcp
http.check_alive_uri=/status.html
此时tracker配置完成
启动tracker服务
[root@localhost FastDFS]# /usr/local/fastdfs/bin/fdfs_trackerd /etc/fdfs/tracker.conf
检查服务是否存在,检查是否监听端口号(默认:22122)
继续安装storage
[root@localhost FastDFS]# egrep -v "^#|^$" /etc/fdfs/storage.conf
disabled=false
group_name=group1
bind_addr=
client_bind=true
port=23000 → storage默认端口号
connect_timeout=30
network_timeout=60
heart_beat_interval=30
stat_report_interval=60
base_path=/home/storage → storage存储目录
max_connections=256
buff_size = 256KB
work_threads=4
disk_rw_separated = true
disk_reader_threads = 1
disk_writer_threads = 1
sync_wait_msec=50
sync_interval=0
sync_start_time=00:00
sync_end_time=23:59
write_mark_file_freq=500
store_path_count=1
store_path0=/home/storage → 同上
subdir_count_per_path=256
tracker_server=192.168.2.220:22122 → 指定tracker服务的IP和端口
log_level=info
run_by_group=
run_by_user=
allow_hosts=*
file_distribute_path_mode=0
file_distribute_rotate_count=100
fsync_after_written_bytes=0
sync_log_buff_interval=10
sync_binlog_buff_interval=10
sync_stat_file_interval=300
thread_stack_size=512KB
upload_priority=10
if_alias_prefix=
check_file_duplicate=0
file_signature_method=hash
key_namespace=FastDFS
keep_alive=0
use_access_log = false
rotate_access_log = false
access_log_rotate_time=00:00
rotate_error_log = false
error_log_rotate_time=00:00
rotate_access_log_size = 0
rotate_error_log_size = 0
file_sync_skip_invalid_record=false
use_connection_pool = false
connection_pool_max_idle_time = 3600
http.domain_name=192.168.2.220 → 指定storage服务IP
http.server_port=80 → 监听的端口号
创建配置文件中base_path所指定的目录
mkdir /home/storage
启动storage服务
[root@localhost FastDFS]# /usr/local/fastdfs/bin/fdfs_storaged /etc/fdfs/storage.conf
检查服务是否启动和监听的端口号
- 接下来安装nginx和nginx插件
安装nginx之前要先装nginx所需的依赖包
安装zlib库
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
make install
安装pcre
tar -zxvf pcre-8.36.tar.gz
cd pcre-8.36
./configure
make
make install
安装openssl
tar -zxvf openssl-1.0.1c.tar.gz
cd openssl-1.0.1c
./config
make && make install
安装nginx插件,只需要解压就行,在安装nginx的时候直接指定其目录就可
tar -zxvf fastdfs-nginx-module_v1.15.tar..gz
将nginx的fastdfs模块拷贝到/etc/fdfs下
cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
修改mod_fastdfs.conf 配置文件
[root@localhost fastdfs-nginx-module]# grep -Ev "^#|^$" /etc/fdfs/mod_fastdfs.conf
connect_timeout=2
network_timeout=30
base_path=/tmp → storage日志存储目录
load_fdfs_parameters_from_tracker=true
storage_sync_file_max_delay = 86400
use_storage_id = false
storage_ids_filename = storage_ids.conf
tracker_server=192.168.2.204:22122 → tracker服务的IP和端口号
storage_server_port=23000 → storage的端口号
group_name=group1
url_have_group_name = false
store_path_count=1
store_path0=/home/storage
log_level=info
log_filename=
response_mode=proxy
if_alias_prefix=
http.need_find_content_type=false
flv_support = true
flv_extension = flv
group_count = 1 → 此处要与下边的store_path_count数字相同
[group1]
group_name=group1 → 组名
storage_server_port=23000 → 第一次个组中storage的端口号
store_path_count=1
store_path0=/home/storage → storage存储位置
以上都没有问题的时候,安装nginx
创建用户名和组
[root@localhost nginx-1.8.0]# groupadd www
[root@localhost nginx-1.8.0]# useradd -g www www
tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure --user=www --group=www --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --with-http_stub_status_module --with-pcre=/usr/local/src/pcre-8.36 --add-module=/usr/local/src/fastdfs-nginx-module/src --with-zlib=/usr/local/src/zlib-1.2.8 --with-openssl=/usr/local/src/openssl-1.0.1c
如果出现报错:
那么需要修改/usr/local/src/fastdfs-nginx-module/src/config这个配置文件
修改结果如下,标记的地方需要修改,按照自己的安装路径修改:
然后在从新编译和安装
make && make install
如果没有报错,nginx就已经安装完成
现在修改nginx配置文件,在配置文件的server中增加location,并加入nginx模块,使之生效
vim /usr/local/nginx/conf/nginx.conf
location /group1/M00/{
root /home/storage/data;
ngx_fastdfs_module;
}
保存,退出
检查nginx配置文件是否正确
显示OK,证明配置文件正确,现在启动nginx服务
/usr/local/nginx/sbin/nginx
检查服务是否启动成功和监听的端口号:
测试nginx的WEB界面
打开浏览器输入:http://192.168.2.204
此时如果正确会显示nginx欢迎界面,如果没有显示,请查看nginx错误日志
[root@localhost home]# tail -f /usr/local/nginx/logs/error.log
此时应该会有报错信息:
修改配置文件:/etc/fdfs/mod_fastdfs.conf,将url_have_group_name = false修改成true
sed -i 's@url_have_group_name = false@url_have_group_name = true@' /etc/fdfs/mod_fastdfs.conf
在重启nginx
/usr/local/nginx/sbin/nginx -s reload
再次访问会显示nginx欢迎界面
如果测试tracker和storage是否可用,那么需要先修改配置文件/etc/fdfs/client.conf
[root@localhost ~]# grep -Ev "^#|^$" /etc/fdfs/client.conf
connect_timeout=30
network_timeout=60
base_path=/home/storage → storage存储路径
tracker_server=192.168.2.204:22122 → tracker服务的IP和端口号
log_level=info
use_connection_pool = false
connection_pool_max_idle_time = 3600
load_fdfs_parameters_from_tracker=false
use_storage_id = false
storage_ids_filename = storage_ids.conf
http.tracker_server_port=80 → 监听的端口
保存,退出
测试:
在浏览器上输入下方箭头提示的链接,会显示/etc/passwd文件的内容
至此整个FastDFS+nginx+nginx模块安装完毕