快速回顾 FastDFS+Nginx 安装 springboot 完成图片 上传

快速回顾 FastDFS+Nginx 安装 springboot 完成图片 上传

在这里插入图片描述

前前后后安装了几次 主要是 对安装过程回顾并 记录

安装前准备

安装前先 确保 没有干扰

netstat -nltp 查看服务

关闭掉 22122 和23000 两个服务

kill -9 对应的的pid

在这里插入图片描述
删除之前的 文件夹

在这里插入图片描述
在这里插入图片描述
准备 文件
在这里插入图片描述

安装FastDFS

第一步 安装 GCC

GCC用来对C语言代码进行编译运行,

1、安装gcc

	yum install -y gcc gcc-c++

在这里插入图片描述
2、下载libfastcommon到/usr/local下 (这里我直接使用的zip压缩包)

cd /usr/local
wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz
安装unzip工具

unzip工具可以帮我们对压缩包进行解压

sudo yum install -y unzip zip

在这里插入图片描述

在这里插入图片描述

3、解压libfastcommon

tar -zxvf V1.0.7.tar.gz
cd libfastcommon-1.0.7

如果是zip需要安装unzip命令
yum install -y gcc gcc-c++
unzip xxxxx.zip

在这里插入图片描述

切换到 libfastcommon-master 目录

cd libfastcommon-master/

在这里插入图片描述

4、安装libfastcommon

./make.sh
./make.sh install

在这里插入图片描述
在这里插入图片描述
5、下载fastdfs (使用网络下载比较慢,我使用的压缩包)

wget https://github.com/happyfish100/fastdfs/archive/V5.08.tar.gz

切换到 /usr/local下

6、解压fastdfs并安装

tar -zxvf V5.08.tar.gz
cd fastdfs-5.08/
./make.sh
./make.sh install

在这里插入图片描述

解压完成

在这里插入图片描述

切换目录

编译

在这里插入图片描述

编译安装

在这里插入图片描述

7、将conf目录下的所有文件复制到/etc/fdfs/

cp /usr/local/FastDFS/conf/* /etc/fdfs/

先看 一下 /usr/local/FastDFS/conf 目录下有什么

在这里插入图片描述

/etc/fdfs/ 目录有什么

在这里插入图片描述

执行复制

在这里插入图片描述

查看
在这里插入图片描述

8、配置tracker

cd /etc/fdfs
vi tracker.conf

在这里插入图片描述

修改前

在这里插入图片描述

主要配置

#端口号
port=22122   
#基础目录(Tracker运行时会向此目录存储storage的管理数据 ,如果没有需要创建 很重要)
base_path=/usr/local/fastdfs   

先查看目录有什么
在这里插入图片描述

修改后 其实只要修改 基础目录就好了

在这里插入图片描述

如果base_path不存在,则需要创建目录

mkdir /usr/local/fastdfs

在这里插入图片描述

在这里插入图片描述

创建成功

9、配置storage

cd /etc/fdfs
vi storage.conf

修改前

在这里插入图片描述

在这里插入图片描述

主要配置

#配置组名
group_name=group1
#端口
port=23000
#向tracker心跳间隔(秒)
heart_beat_interval=30
#基础目录,目录不存在,需要自行创建
base_path=/usr/local/fastdfs
#存放文件的位置,目录不存在,需要自行创建
store_path0=/usr/local/fastdfs/storage 
#配置tracker服务器:IP  虚拟机IP或服务器ip!!!!
tracker_server=192.168.31.168:22122

store_path0 的目录 此时还未创建

在这里插入图片描述

修改后

在这里插入图片描述

在这里插入图片描述

记得创建

mkdir /usr/local/fsstdfs/storage

在这里插入图片描述

10、启动服务
启动tracker

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

还是先查看

在这里插入图片描述

在这里插入图片描述

启动storage

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

在这里插入图片描述

记录 有一个服务没有启动

sudo service fdfs_storaged start  # 启动fdfs_storaged服务,停止用stop

查看服务

netstat -ntlp

在这里插入图片描述

整合nginx 模块

1、上传fastdfs-nginx-module_v1.16.tar.gz 到/usr/local

2、解压nginx模块

tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

在这里插入图片描述

在这里插入图片描述

3、修改config文件,将文件中的 /usr/local/ 路径改为 /usr/

cd /usr/local/fastdfs-nginx-module/src
vi config

目录结构

在这里插入图片描述

修改前

在这里插入图片描述

修改后

在这里插入图片描述

在这里插入图片描述

4、将fastdfs-nginx-module/src下的mod_fastdfs.conf拷贝至/etc/fdfs下

cp mod_fastdfs.conf /etc/fdfs/

复制前

在这里插入图片描述

复制后

在这里插入图片描述

在这里插入图片描述

5、修改/etc/fdfs/mod_fastdfs.conf

vi /etc/fdfs/mod_fastdfs.conf
内容:
base_path=/usr/local/fastdfs
tracker_server=192.168.31.168:22122 
#url中包含group名称
url_have_group_name=true       
#指定文件存储路径(上面配置的store路径) 
store_path0=/usr/local/fastdfs/storage  

在这里插入图片描述

修改前几个点
在这里插入图片描述

在这里插入图片描述

修改后

在这里插入图片描述

在这里插入图片描述

6、将libfdfsclient.so拷贝至/usr/lib下

cp /usr/lib64/libfdfsclient.so /usr/lib/

7、创建nginx/client目录

mkdir -p /var/temp/nginx/client

在这里插入图片描述

安装Nginx

!!!!此处版本不一样 不影响安装

1、 将nginx-1.8.0.tar.gz上传到**/usr/local**
2、解压:tar -zxvf nginx-1.8.0.tar.gz

在这里插入图片描述
在这里插入图片描述

3、安装依赖库 一个一个粘贴

yum install pcre
yum install pcre-devel
yum install zlib
yum install zlib-devel
yum install openssl
yum install openssl-devel

4、进入nginx解压的目录下

cd /usr/local/nginx-1.8.0

在这里插入图片描述

5、安装

./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=/usr/local/fastdfs-nginx-module/src

在这里插入图片描述

编译、安装

make
make install

在这里插入图片描述

在这里插入图片描述

安装成功
6、拷贝配置文件http.confmime.types 注意路径

cd /usr/local/fastdfs-xxx/conf
cp http.conf mime.types /etc/fdfs/

在这里插入图片描述

可以看 目标路径有什么
在这里插入图片描述

覆盖了
在这里插入图片描述

7、修改nginx配置文件

cd /usr/local/nginx/conf/
vi nginx.conf

在这里插入图片描述

修改前

在这里插入图片描述

在这里插入图片描述

关闭nginx,并启动nginx

pkill -9 nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

在这里插入图片描述

9、启动nginx

访问IP即可

如果出现服务响应过程无响应

查看firewall服务状态 systemctl status firewalld

在这里插入图片描述

效果

在这里插入图片描述

springboot +postman 快速测试

导入依赖

        <dependency>
            <groupId>com.github.tobato</groupId>
            <artifactId>fastdfs-client</artifactId>
            <version>1.26.4</version>
        </dependency>

启动类上配置

@Import(FdfsClientConfig.class)
@EnableMBeanExport(registration = RegistrationPolicy.IGNORE_EXISTING)

配置文件

fdfs.so-timeout=3000
fdfs.connect-timeout=1000
fdfs.thumb-image.height=60
fdfs.thumb-image.width=60
fdfs.tracker-list=192.168.xx.xx:22122
@RestController
@RequestMapping("promotionAd")
public class PromotionAdController {

    public static final String DIR = "http://192.168.xx.xx/";
    
    @Autowired
    private FastFileStorageClient client;
    
    @PostMapping("/upload")
    public ResponseEntity<String> upload(MultipartFile file) throws IOException {
        //获得后缀名
        String extension = FilenameUtils.getExtension(file.getOriginalFilename());
        //上传
        StorePath storePath = client.uploadFile(file.getInputStream(), file.getSize(), extension, null);
        System.out.println("save:" + storePath.getFullPath());
        return ResponseEntity.ok(DIR + storePath.getFullPath());
    }

效果

在这里插入图片描述

在这里插入图片描述

在Linux路径

在这里插入图片描述

private FastFileStorageClient client;

@PostMapping("/upload")
public ResponseEntity<String> upload(MultipartFile file) throws IOException {
    //获得后缀名
    String extension = FilenameUtils.getExtension(file.getOriginalFilename());
    //上传
    StorePath storePath = client.uploadFile(file.getInputStream(), file.getSize(), extension, null);
    System.out.println("save:" + storePath.getFullPath());
    return ResponseEntity.ok(DIR + storePath.getFullPath());
}




最后记得保存 快照

如果重启虚拟机  需要重新 启动  /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart 
												 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

														关闭防火墙 	systemctl stop firewalld

## **重启虚拟机后,再次重启nginx报错:nginx: [emerg] open() “/var/run/nginx/nginx.pid” failed (2: No such file or directory)**
这篇文章详细解决
http://t.csdn.cn/K5gZQ
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值