Ubuntu16.04安装FastDFS1.9.9文件系统与Nginx配置相关操作及nginx bad request 400错误解决

1.安装fastdfs依赖包

1. 解压缩	libfastcommon-master.zip
2. 进入到	libfastcommon-master的目录中
3. 执行	 ./make.sh
4. 执行 sudo ./make.sh install

2.安装fastdfs

1. 解压缩	fastdfs-master.zip
2. 进入到 fastdfs-master目录中
3. 执行 ./make.sh
4. 执行 sudo ./make.sh install

3.配置跟踪服务器tracker

1. sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
2. 在/home/python/目录中创建目录 fastdfs/tracker      
    mkdir –p /home/python/fastdfs/tracker
3. 编辑/etc/fdfs/tracker.conf配置文件    
sudo vim /etc/fdfs/tracker.conf
 
修改 base_path=/home/python/fastdfs/tracker

4.配置存储服务器storage

1. sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
 
2. 在/home/python/fastdfs/ 目录中创建目录 storage
	mkdir –p /home/python/fastdfs/storage
 
3. 编辑/etc/fdfs/storage.conf配置文件  
sudo vim /etc/fdfs/storage.conf
修改内容:
base_path=/home/python/fastdfs/storage
store_path0=/home/python/fastdfs/storage
tracker_server=自己ubuntu虚拟机的ip地址:22122

5.启动tracker 和 storage

1.启动方式1
sudo fdfs_tracked /etc/fdfs/tracker.conf
sudo fdfs_storanged /etc/fdfs/tracker.conf
#如以上命令找不到fdfs_xxxxxx   选择方式2启动服务
2.启动方式2
sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
#若2方式也找不到命令 选择方式3
3.方式3
cd /use/bin
sudo fdfs_trackerd /etc/fdfs/tracker.conf
sudo fdfs_storanged /etc/fdfs/storage.conf

6.测试是否安装成功

1. sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
2. 编辑/etc/fdfs/client.conf配置文件  
sudo vim /etc/fdfs/client.conf
修改内容:
base_path=/home/python/fastdfs/tracker
tracker_server=自己ubuntu虚拟机的ip地址:22122

7.上传文件测试

fdfs_upload_file /etc/fdfs/client.conf 要上传的图片文件
fdfs_upload_file /etc/fdfs/client.conf /home/1.jepg
如果返回类似group1/M00/00/00/rBIK6VcaP0aARXXvAAHrUgHEviQ394.jpg的文件id则说明文件上传成功

8.安装nginx及fastdfs-nginx-module

前往/usr/local下创建nginx文件夹
cd /usr/local
sudo mkdir nginx
cd nginx
 
1. 解压缩 nginx-1.8.1.tar.gz 或者可以通过 wget https://nginx.org.download/nginx-1.9.9.tar.gz下载
2. 解压缩 fastdfs-nginx-module-master.zip
3. 进入nginx-1.8.1目录中
4. 执行
sudo ./configure --prefix=/usr/local/nginx/ --add-module=解压后fastdfs-nginx-module-master的目录的绝对路径/src
 
#如果报错为下类情况
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.
 
#解决办法
需要安装pcre包。
sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev
 
你可能还需要安装
sudo apt-get install openssl libssl-dev
 
5.编译与安装
    sudo make   
    #如果报错将对应的makefile文件夹中(如本文中在 /nginx-1.9.9/objs/Makefile) 找到 -Werrori 并去掉 在重新make即可
    sudo make install

9.复制mod_fastdfs.conf

sudo cp fastdfs-nginx-module-master解压后的目录中src下的mod_fastdfs.conf  /etc/fdfs/mod_fastdfs.conf

10.修改mod_fastdfs.conf配置项

sudo vim /etc/fdfs/mod_fastdfs.conf
修改内容:
connect_timeout=10
tracker_server=自己ubuntu虚拟机的ip地址:22122
url_have_group_name=true
store_path0=/home/python/fastdfs/storage

11.复制fastdfs-master/conf目录下文件到指定地方

sudo cp 解压缩的fastdfs-master/conf目录中的http.conf  /etc/fdfs/http.conf
sudo cp 解压缩的fastdfs-master/conf目录中的mime.types /etc/fdfs/mime.types

12.修改nginx.conf配置项

sudo vim /usr/local/nginx/conf/nginx.conf
 
在http部分中添加配置信息如下:以下信息与原有server部分对齐
server {
            listen       8888;
            server_name  localhost;
            location ~/group[0-9]/ {
                ngx_fastdfs_module;
            }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
            root   html;
            }
        }

13.启动nginx

sudo /usr/local/nginx/sbin/nginx

14.使用python客户端上传测试

1. workon django_py3
2. 进入fdfs_client-py-master.zip所在目录
3. pip install fdfs_client-py-master.zip
4. 
 
>>> from fdfs_client.client import Fdfs_client
>>> client = Fdfs_client('/etc/fdfs/client.conf')
>>> ret = client.upload_by_filename('test')
>>> ret
{'Group name':'group1','Status':'Upload successed.', 'Remote file_id':'group1/M00/00/00/
	wKjzh0_xaR63RExnAAAaDqbNk5E1398.py','Uploaded size':'6.0KB','Local file name':'test'
	, 'Storage IP':'192.168.243.133'}
 
文档 https://github.com/jefforeilly/fdfs_client-py

15.其他问题补充

1.nginx关闭命令
sudo /usr/local/nginx/sbin/nginx -s stop
 
2.如需修改IP地址请修改以下文件(/etc/fdfs目录中)
client.conf
mod_fastdfs.conf
storage.conf
 
修改上述文件中tracker_server=自己的ip地址:22122
 
2.1 启动tracker,storage,nginx服务
 
 
3.执行如下命令测试是否成功
fdfs_upload_file /etc/fdfs/client.conf 要上传的图片文件
 
如果返回类似group1/M00/00/00/wKgDNV00cDeACNZQAAAgnaeGwNQ144.jpg的文件id则说明文件上传成功
 
 
4.在Linux浏览器中输入127.0.0.1:8888/group1/M00/00/00/wKgDNV00cDeACNZQAAAgnaeGwNQ144.jpg访问
如出现相应图片则说明一切ok

16.如第15点第4小点无图片,报错为400 bad request。请前往/etc/fdfs/mod_fastdfs.conf 中修改下列信息

url_have_group_name = false 改为true(使用组名访问)

17.重复15点第4小点,则显示出图片。

这样就完成了!!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值