当前位置 主页 > 网站技术 > 代码类 >

    SpringBoot+nginx实现资源上传功能

    栏目:代码类 时间:2019-10-12 15:08

    最近小编在学习使用nginx放置静态资源,例如图片、视频、css/js等,下面就来记录一下一波学习干货。

    1.nginx安装及配置

    小编使用的服务器是阿里云的轻量应用服务器,系统使用的是Ubuntu。注意记得开放 9090TCP端口,如果不使用 9090端口作为服务器端口也可不用。

    安装

    首先,获取安装包是必要的吧,这里提供一个nginx-1.11.3-ubuntu.tar.gz https://pan.baidu.com/s/1vvb41QkOJ4VqfyFckXBkjA (密码45wz)

    小编是将安装包放在/usr/nginx 中,进入目录下然后执行 tar -zxvf nginx-1.11.3.tar.gz 进行解压

    配置

    修改 /usr/nginx/conf/nginx.conf :

    server {
      listen   9090;
      server_name localhost;
    
      location ~ .(jpg|png|jpeg|gif|bmp)$ { #可识别的文件后缀
      root /usr/nginx/image/;  #图片的映射路径
        autoindex on; #开启自动索引
      expires 1h; #过期时间
      }
     location ~ .(css|js)$ {
       root /usr/nginx/static/;
        autoindex on;
       expires 1h;
      } 
     location ~ .(AVI|mov|rmvb|rm|FLV|mp4|3GP)$ {
       root /usr/nginx/video/;
        autoindex on;
       expires 1h;
      }
    
    

    该修改的修改,该增加的增加,切记勿乱删

    最后一步,启动nginx,执行 ./usr/nginx/sbin/nginx

    到这里服务器nginx就准备可以了

    你可以试下在 /usr/nginx/image 下放图片01.jpg,然后在本地 http://ip:9090/01.jpg 看看图片能否访问到

    2. SpringBoot 实现资源的上传

    pom.xml:

    <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>2.1.7.RELEASE</version>
    </parent>
    <dependencies>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>2.1.7.RELEASE</version>
      </dependency>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <version>2.1.7.RELEASE</version>
        <scope>test</scope>
      </dependency>
      <!-- Apache工具组件 -->
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.8.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-io</artifactId>
        <version>1.3.2</version>
      </dependency>
      <dependency>
        <groupId>commons-net</groupId>
        <artifactId>commons-net</artifactId>
        <version>3.6</version>
      </dependency>
      <!-- 文件上传组件 -->
      <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.3.3</version>
      </dependency>
      <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.16.22</version>
      </dependency>
      <dependency>
        <groupId>com.jcraft</groupId>
        <artifactId>jsch</artifactId>
        <version>0.1.54</version>
      </dependency>
      <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>2.10.3</version>
      </dependency>
    </dependencies>