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
posted @ 2021-07-11 10:27  weidalin  阅读(241)  评论(0)    收藏  举报