使用Nginx搭建文件服务器,通过docker中tomcat容器部署项目,上传文件到文件服务器

1、先安装Nginx

centos7安装Nginx可以通过yum直接安装,也可以通过docker安装
通过docker安装可以参考一下链接
docker安装Nginx
我们这里就尝试使用yum安装Nginx
1) 安装Nginx源
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
2) 安装Nginx
yum install -y nginx
3)查找Nginx在哪里
whereis nginx
在这里插入图片描述
4)启动Nginx
cd /usr/sbin
./nginx
我们直接在浏览器里面输入服务器地址查看即可(默认端口是80),如果看到这个界面说明Nginx安装成功
在这里插入图片描述
5)先直接查看

2、配置Nginx

1)进入到配置文件
cd /etc/nginx
vim nginx.conf

2) 修改配置文件

server {
listen       8059;
server_name  localhost;

location ~ .*\.(png|gif|jpg|jpeg|JPG|GIF|PNG|JPEG|jepg|JEPG|rm|rmvb|mkv|MKV|mp4|MP4|mov|mtv|dat|wmv|avi|3gp|amv|dmv|flv|MP3|mp3|WMA|wma|WAV|wav)$ {
    root /home/files/images;
}

在这里插入图片描述
3)启动Nginx
(1)先到Nginx的sbin目录下
cd /etc/nginx
(2)测试配置文件是否正确
./nginx -t
(3)重启Nginx
./nginx -s reload
在这里插入图片描述

3、挂载tomcat容器(Tomcat容器和Nginx在同一台服务器)

1)在本地新建文件夹
mkdir -p /home/files/images
2)挂载本地文件方式运行tomcat容器(使用docker运行tomcat容器)
docker run --name test --privileged=true -e TZ="Asia/Shanghai" -v /etc/localtime:/etc/localtime -v /home/files/images:/usr/local/tomcat/download/images -d -p 8755:8080 docker.io/tomcat
将本地文件 /home/files/images挂载到tomcat容器的/usr/local/tomcat/download/images
3)使用java代码上传文件到/usr/local/tomcat/download/images

   #上传代码
    public String uploadAndroidFile(MultipartFile fileUpload) {
        //获取文件名
        String fileName = fileUpload.getOriginalFilename();
        //获取文件后缀名
        String suffixName = fileName.substring(fileName.lastIndexOf("."));
        //指定本地文件夹存储图片
        String filePath = AppContextHelper.getDownloadRootPath(projectFinalName)+"download/images/;
        try {
            File downloadFile = new File(filePath + suffixName);
            if(!downloadFile.getParentFile().exists()){
                downloadFile.getParentFile().mkdirs();
            }
            fileUpload.transferTo(downloadFile);
            #nginxPath为Nginx挂载路径,这里的路径为:"http://ip:8059/"
            return nginxPath+time+ suffixName;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
      /**
        * 因为tomcat容器下面的路径/usr/local/tomcat/webapps下的,而我们挂载的路径是在tomcat容器的
        * /usr/local/tomcat/downlod/images下面的,所以我们要找到这个路径
        * projectName项目的名称
      */
       public static String getDownloadRootPath(String projectName) {
             String path = "";
            if (SystemUtil.isTomcat()) {//Linux
                path = ClassUtils.getDefaultClassLoader().getResource("").getPath();
                path = path.replaceAll("webapps/"+ projectName+"/", "");
            } else {//本地启动
                path = "E://images/"
            }
            return path;
        }

4)上传图片

在这里插入图片描述
5)查看图片
http://ip:8059/test.jpg
在这里插入图片描述

4、Tomcat容器和Nginx不在同一台服务器可以使用ftp上传文件,然后通过Nginx访问静态文件

过程以后在补充

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值