FastDFS+nginx---(二)安装配置测试

本文详细介绍了FastDFS分布式文件系统的安装过程及配置细节,包括安装前准备、源码准备、安装步骤、配置文件修改、测试验证等关键环节,确保文件存储、上传、下载等功能的正确实现。

一、简介
FastDFS是一个开源的轻量级的分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。
二、安装前准备
1. 系统说明
操作系统:CentOS release 6.5 (Final)
ip:20.10.80.17
主机名:localhost.localdomain
部署角色:tracker storage nginx
2. 准备编译环境 yum -y install gcc gcc+ gcc-c++ openssl openssl-devel pcre pcre-devel
注:参照文件“fastdfs安装前准备组件安装.docx“
3.检测防火墙
检测防火墙是否开启命令:service iptables status
防火墙关闭命令:service iptables stop
注:为了方便测试 关闭防火墙 service iptables stop
三、源码准备
2.1 源码下载,下载后统一拷贝到目录/usr/local/src/
2.1.1 下载fastDFS 5.01 地址:
http://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Server%20Source%20Code/FastDFS%20Server%20with%20PHP%20Extension%20Source%20Code%20V5.01/FastDFS_v5.01.tar
2.1.2 下载 nginx 1.7.0:
http://nginx.org/download/nginx-1.7.0.tar.gz
2.1.3 fastdfs-nginx-module_v1.16:
http://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz

四、安装
4.1 安装FastDFS
cd /usr/local/src/
tar xf FastDFS_v5.01.tar.gz
cd FastDFS
./make.sh && ./make.sh install
4.2 解压fastDFS-nginx-module
cd /usr/local/src/
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
4.3 安装Nginx
cd /usr/local/src/
tar xf nginx-1.7.0.tar.gz
cd nginx-1.7.0
./configure –user=nginx –group=nginx –prefix=/usr/local/nginx –add-module=../fastdfs-nginx-module/src
make
make install
五、配置
5.1 tracker的配置
a) 创建tracker数据以及日志存放目录
mkdir -p /usr/local/src/fastdfs/tracker
b) 修改FastDFS的tracker.conf配置文件
vim /etc/fdfs/tracker.conf
主要修改项:
base_path= /usr/local/src/fastdfs/tracker
max_connections=100
work_threads=8
store_lookup=0
store_path=0
reserved_storage_space=10%
run_by_group=root
run_by_user=root
rotate_error_log=true
5.2 修改Nginx的配置文件
vim /usr/local/nginx/conf/nginx.conf
修改后内容如下:
user root root; —用户 用户组
worker_processes 3;
error_log /usr/local/nginx/logs/error.log;
error_log /usr/local/nginx/logs/error.log notice;
error_log /usr/local/nginx/logs/error.log info;
pid /usr/local/nginx/logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 50m;
log_format main ‘ remoteaddr remote_user [ timelocal]" request”
status body_bytes_sent “ httpreferer http_user_agent" "$http_x_forwarded_for”’;
access_log /usr/local/nginx/logs/access.log main;
upstream server_group1{
server 20.10.80.17:80;
}
server {
listen 80;
server_name localhost.localdomain;
access_log off;
location /group1/M00 {
root /usr/local/src/fastdfs/storage/data;
ngx_fastdfs_module;
}
}
}
5.3 将tracker交给service管理并且设置开机启动
a)cp /usr/local/src/FastDFS/init.d/fdfs_trackerd /etc/init.d/
b)chkconfig –add fdfs_trackerd
c)chkconfig fdfs_trackerd on
d)service fdfs_trackerd start
六、配置storage
a) 创建数据存放目录
mkdir -p /usr/local/src/ fastdfs/storage/data
b) 修改FastDFS的storage.conf配置文件
vim /etc/fdfs/storage.conf
修改主要项目如下:
work_threads=8
store_path_count=1
base_path=/usr/local/src/ fastdfs/storage
store_path0=/usr/local/src/ fastdfs/storage

tracker_server 的地址

tracker_server=20.10.80.17:22122

运行 FastDFS 的用户组

run_by_group=root

运行 FastDFS 的用户

run_by_user=root
file_distribute_path_mode=1
rotate_error_log=true
c) 把nginx模块的配置文件拷贝到 /etc/fdfs中,进行修改
cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
主要修改项
connect_timeout=30
tracker_server=20.10.80.17:22122
group_name=group1
url_have_group_name = true
store_path_count=1
store_path0=/usr/local/src/ fastdfs/storage
d) 修改nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
修改后内容如下:
user root root; —用户 用户组
worker_processes 3;
error_log /usr/local/nginx/logs/error.log;
error_log /usr/local/nginx/logs/error.log notice;
error_log /usr/local/nginx/logs/error.log info;
pid /usr/local/nginx/logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 50m;
log_format main ‘ remoteaddr remote_user [ timelocal]" request”
status body_bytes_sent “ httpreferer http_user_agent" "$http_x_forwarded_for”’;
access_log /usr/local/nginx/logs/access.log main;
upstream server_group1{
server 20.10.80.17:80;
}
server {
listen 80;
server_name localhost.localdomain;
access_log off;
location /group1/M00 {
root /usr/local/src/fastdfs/storage/data;
ngx_fastdfs_module;
}
}
}

e) 创建软连接
ln –s /usr/local/src/fastdfs/storage/data /usr/local/src/fastdfs/storage/data/M00
f)把storage 交给service管理并且设置开机启动
cp /usr/local/src/FastDFS/init.d/fdfs_storaged /etc/init.d/
chkconfig –add fdfs_storaged
chkconfig fdfs_storaged on
service fdfs_storaged start

g) nginx扩展模块,不能正常显示图片的问题
在配置文件/etc/fdfs/mod_fastdfs.conf中,缺省的设置是这样的:http.need_find_content_type=false这个参数在nginx中需要设置为true,apache中应该设置为false
h)400 bad request
[2011-12-12 15:24:21] ERROR - file: /tmp/fastdfs-nginx-module/src/common.c, line: 561, logic file: M00/00/00/wKgBNU7lqyjzJZ4mAA4CRXl5SCQ670.jpg not exists
2011/12/12 15:24:21 [error] 14147#0: *1 open() “/home/nginx/nginx/html/favicon.ico” failed (2: No such file or directory), client: 192.168.1.123, server: localhost, request: “GET /favicon.ico HTTP/1.1”, host: “20.10.80.17:80”
修改/fastdfs/conf/mod_fastdfs.conf里面url_have_group_name = true

七、测试
1. 在20.10.80.17上启动tracker,storage,nginx
service fdfs_trackerd start
service fdfs_storaged start
/usr/local/nginx/sbin/nginx
2. 配置一个client 在tracker上进行
vim /etc/fdfs/client.conf
base_path= /usr/local/src/fastdfs/storage
tracker_server=20.10.80.17:22122
3. 查看集群详细
fdfs_monitor /etc/fdfs/client.conf
4. 测上传
fdfs_upload_file /etc/fdfs/client.conf /usr/fastdfs/hibernate.jpg
返回:/group1/M00/00/00/wKhQFFWYq1iAXUcbAAF9-d2hUpA735.jpg
5.浏览器访问http://20.10.80.17/group1/M00/00/00/wKhQFFWYx6WAaeCIAALJTvfxx5I331.jpg检测上传是否成功
这里写图片描述

【电动汽车充电站有序充电调度的分散式优化】基于蒙特卡诺和拉格朗日的电动汽车优化调度(分时电价调度)(Matlab代码实现)内容概要:本文介绍了基于蒙特卡洛和拉格朗日方法的电动汽车充电站有序充电调度优化方案,重点在于采用分散式优化策略应对分时电价机制下的充电需求管理。通过构建数学模型,结合不确定性因素如用户充电行为和电网负荷波动,利用蒙特卡洛模拟生成大量场景,并运用拉格朗日松弛法对复杂问题进行分解求解,从而实现全局最优或近似最优的充电调度计划。该方法有效降低了电网峰值负荷压力,提升了充电站运营效率经济效益,同时兼顾用户充电便利性。 适合人群:具备一定电力系统、优化算法和Matlab编程基础的高校研究生、科研人员及从事智能电网、电动汽车相关领域的工程技术人员。 使用场景及目标:①应用于电动汽车充电站的日常运营管理,优化充电负荷分布;②服务于城市智能交通系统规划,提升电网交通系统的协同水平;③作为学术研究案例,用于验证分散式优化算法在复杂能源系统中的有效性。 阅读建议:建议读者结合Matlab代码实现部分,深入理解蒙特卡洛模拟拉格朗日松弛法的具体实施步骤,重点关注场景生成、约束处理迭代收敛过程,以便在实际项目中灵活应用改进。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值