2 ubuntu安装fastDFS+nginx
1 准备4个安装包
FastDFS
fastdfs-6.04.tar.gz
fastdfs-nginx-module-1.22.tar.gz
libfastcommon-1.0.42.tar.gz
nginx-1.16.1.tar.gz
2 安装插件
sudo apt install libevent-dev
3 解压并安装
sudo tar zxvf libfastcommon-1.0.42.tar.gz
cd libfastcommon-1.0.42
sudo ./make.sh
sudo ./make.sh install
在/usr/lib中查看是否安装成功
3 安装tracker服务器
3.1 解压安装
sudo tar zxvf fastdfs-6.04.tar.gz
cd fastdfs-6.04
sudo ./make.sh
sudo ./make.sh install
3.2查看是否成功
cd /usr/bin
ll fdfs*
3.3 复制配置文件
~/Documents/tar/fastDFS/fastdfs-6.04/conf$
sudo cp -v * /etc/fdfs/
3.4 修改/ect/fdfs/tracker.conf
vi /etc/fdfs/tracker.conf
修改base_path
3.5 启动tracker服务器
cd /usr/bin
fdfs_trackerd /etc/fdfs/tracker.conf
3.6 tracker 服务器重启
cd /usr/bin
sudo fdfs_trackerd /etc/fdfs/tracker.conf restart
4 storage服务
4.1 进入/etc/fdfs
- 修改base_path
cd /etc/fdfs
vi /etc/fdfs/storage.conf
- 修改group_name
- 修改store_path0
- 修改tracker_server为当前文件服务器的的地址
4.2启动storage
cd /usr/bin
sudo fdfs_storaged /etc/fdfs/storage.conf
#重启
sudo fdfs_storaged /etc/fdfs/storage.conf restart
4.3 查看进程
ps aux | grep storage
5配置client
5.1 配置
cd /etc/fdfs
ll
sudo vi /etc/fdfs/client.conf
- 修改base_path
- 修改tracker_server
5.2 启动
cd /usr/bin
sudo fdfs_test /etc/fdfs/client.conf upload
cd ~/weida/
sudo /usr/bin/fdfs_test /etc/fdfs/client.conf upload weida.jpg
#配置排查
sudo vi /etc/fdfs/tracker.conf
sudo vi /etc/fdfs/storage.conf
sudo vi /etc/fdfs/client.conf
#重启服务
sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
sudo /usr/local/nginx/sbin/nginx -s reload
sudo /usr/bin/fdfs_test /etc/fdfs/client.conf upload ~/weida/weida.jpg
#运行监控程序查看配置
/usr/bin/fdfs_monitor /etc/fdfs/client.conf
重启了几遍之后发现报另外一个错误,说No space left on device
解决:fastDFS默认预留20%的磁盘空间, 而目前实验室的服务器的主盘的空间已经使用83%,因此不能再上传了
去sudo vi /etc/fdfs/tracker.conf中将reserved_storage_space的值修改为5%,预留5%的磁盘空间。
重启
sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
成功!
6 nginx安装与fastdfs配置
6.1 解压与安装
tar -zxvf fastdfs-nginx-module-1.22.tar.gz
cd src
vi config
#将CORE-INCS
CORE-LIBS的local 删掉
7 安装nginx
7.1 安装依赖
sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install zlib1g-dev
sudo apt-get install openssl libssl-dev
7.2 解压安装nginx
tar zxvf nginx-1.15.9.tar.gz
#配置
#注意将--add-module 修改为自己fastDFS/fastdfs-nginx-module文件下的src文件目录
sudo ./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--add-module=/home/gigabyte/weida/tar/fastDFS/fastdfs-nginx-module-1.22/src
7.3 回到/home/gigabyte/weida/tar/nginx-1.15.9目录,将上面的配置在命令行里打一遍!
7.4最后进行编译
sudo make
sudo make install
8 配置nginx与fastdfs的桥梁
8.1 拷贝mod_fastdfs
cp ~/weida/tar/fastDFS/fastdfs-nginx-module-1.22/src/mod_fastdfs.conf /etc/fdfs/
cd /etc/fdfs
sudo vi mod_fastdfs.conf
- 修改 base_path
base_path=/home/gigabyte/weida/fastdfs/tmp
cd /home/gigabyte/weida/fastdfs/
mkdir tmp
- 修改tracker_server
cd /etc/fdfs
sudo vi mod_fastdfs.conf
- 修改group_name
cd /etc/fdfs
sudo vi mod_fastdfs.conf
- 修改url_have_group_name 为true
9 配置nginx
9.1 增加或修改服务器配置
sudo vi /usr/local/nginx/conf/nginx.conf
server{
listen 88;
server_name 10.23.23.25;
location /imooc/M00{
ngx_fastdfs_module;
}
}
9.3 检测nginx配置
cd /usr/local/nginx/sbin
./nginx -t
sudo mkdir /var/temp/nginx -p
此时sudo ./nginx -t 发现已经配置成功
9.3 真正的启动nginx
sudo ./nginx
#查看防火墙的状态
/etc/init.d/iptables status
或者
sudo ufw status
# 防火墙的关闭
/etc/init.d/iptables stop
或者
sudo ufw disable
此时在浏览器的输入10.23.23.25发现nginx启动成功
10 再次去配置桥梁呀
10.1 修改配置
cd /etc/fdfs
vi mod_fastdfs.conf
- 将store_path0修改为/home/gigabyte/weida/fastdfs/storage
10.2 重启
#sudo vi /usr/local/nginx/conf/nginx.conf
sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
cd /usr/local/nginx/sbin
sudo ./nginx -s reload
#sudo /usr/bin/fdfs_test /etc/fdfs/client.conf upload ~/weida/weida.jpg
http://10.23.23.25/imooc/M00/00/00/ChcXGWC7ksyAV7UPAACJBhc_pBQ337_big.jpg
测试
http://10.23.23.25:88/imooc/M00/00/00/ChcXGWCw0CeAe2ItAACJBhc_pBQ747.jpg
11. nginx与spring boot联调
Description:
Field storageClient in com.imooc.utils.FastDFSClient required a bean of type 'com.github.tobato.fastdfs.service.FastFileStorageClient' that could not be found.
Action:
Consider defining a bean of type 'com.github.tobato.fastdfs.service.FastFileStorageClient' in your configuration.
一直找不到 StorePath.praseFromUrl(fileUrl)
发现是在1.26.2时写错了,StorePath.praseFromUrl(fileUrl);
在1.27.2时正确的写法为StorePath.parseFromUrl(fileUrl);
8 根据端口号关闭进程
sudo fuser -k 80/tcp