fastdfs+nginx 部署

本文详细介绍了FastDFS的安装过程,包括依赖库libevent的安装,FastDFS的配置与启动,以及Nginx和Nginx插件的安装与配置。同时,提供了tracker和storage的配置细节,以及如何通过浏览器测试部署效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果是在本地安装的话,先关闭防火墙。如果在生产环境中,那么要加入防火墙规则,开放对应的端口号

所有源码包都放在/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

  1. 接下来安装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

检查服务是否启动和监听的端口号

 

  1. 接下来安装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模块安装完毕

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值