本文共 2169 字,大约阅读时间需要 7 分钟。
刚才演示,可以看到的确向fastdfs集群的tracker提交文件上传请求,而后对应是storage node节点,也能够完成文件存储,在file_info 显示 storage server,还能看到storage server本地创建文件以后,也能够实现把对应的数据同步到同一个组的节点上, 所以此类操作过程可以重复操作多遍, 但想访问,storage节点之上的,已经上传完成的图片,本地存储已经没有问题了,但现在该怎么去布局访问,默认情况下只能通过API来进行访问,如果期望客户端直接连接到http协议与每一个storage打交道,把这个对应路径天的文件,通过httpurl输出出来,那么用户将可以直接访问,只不过没办法隐藏路径(不过互联网电商站点的图片路径依然丑陋,也是类似这种方式) 现在安装各storage的nginx,需要设定补丁fastdfs-nginx-module,作为第三方模块进行安装 注意模块自己的设置 复制配置文件到目录下 还有创建空白配置文件,属组属主改变 nginx激活这个模块 看看能否制作nginxrpm格式的spec文件 src就是还没制作成的,里面包含spec文件 现在需要把补丁也弄进来,因为需要修改SPEC文件 source文件就是加补丁的时候用的,现在需要额外加补丁,先把补丁包下载下来 把这4个文件放到特定路径下, 复制一个tar包 这个模块等于一个目录 测试一下bi 安装依赖包组 提示目录不对 不做了,使用之前自己的编译安装 ./configure \ –prefix=/usr \ –sbin-path=/usr/sbin/nginx \ –conf-path=/etc/nginx/nginx.conf \ –error-log-path=/var/log/nginx/error.log \ –http-log-path=/var/log/nginx/access.log \ –pid-path=/var/run/nginx/nginx.pid \ –lock-path=/var/lock/nginx.lock \ –user=nginx \ –group=nginx \ –with-http_ssl_module \ –with-http_flv_module \ –with-http_stub_status_module \ –with-http_gzip_static_module \ –http-client-body-temp-path=/var/tmp/nginx/client/ –http-proxy-temp-path=/var/tmp/nginx/proxy/ \ –http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \ –http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \ –http-scgi-temp-path=/var/tmp/nginx/scgi \ –with-pcre \ –with-debug \ –add-module=编译,顺便带上父目录下的模块
在sources目录下应该会生成一个unitfile 查看路径是否一致 只有主进程 少了一步,需要复制配置文件过去 修改下配置文件 tracker节点地址也需要修改 storage_server_port 当前主机自己的storage server 端口是23000 要自己编译nginx,编译好后,配置文件定义好, 还需要创建空白日志文件,属主属组改为nginx 日志文件的部分也需要修改一下 提供配置文件 你的url到底包含不包含group那一串,显示false,表示默认不会加group的,因此直接从M00开头 显示true 可以加上groupname 现在编辑nginx 的配置文件 在server上加一个location 不过现在这个节点上没有数据,需要多传几个文件,其他节点也一样编译安装 把我们编译好的文件直接复制过去,查看是否能启动 还有错误 安装好了,把node1的几个配置文件复制过来 组名改成group2 nginx配置文件也要复制过来 创建用户,创建日志文件 nginx启动起来 nginx 查看之前上传文件的文件名 再上传一个文件看能否访问 只能使用API给客户端写程序访问 当有多个tracker时,是否需要负载均衡 fastdfs只能通过所谓的客户端专用的API,利用编程的方式来访问,为nginx做补丁,或者是自己用动态应用程序,来进行访问, 不能简单地使用nginx反代来进行访问,要基于程序,用动态的方式来进行访问有PHP做示例的来进行访问的
这段代码就能实现基于php的完成文件上传和下载 把之前复制的删除 查看是否能展开 所以tar包的展开应该时有问题的 其实解包到了nginx目录下 都失败了,大致说下, tar包放在sources目录下 然后在prep这里加上set up -b2,意思是第二个source指定的压缩包展开 指定好后就能把tar包解压到build目录下 引用的时候用变量即可,之前是引用错了 把这个错误绕过就解决了包含fastdfs的rpm包转载地址:http://tdkgn.baihongyu.com/