使用Tomcat10.0.10搭建一个文件下载服务器

  • Post author:
  • Post category:其他




1. 背景

有时我们安装软件时,会下载文件,但访问的是国外的URL地址进行文件下载,访问特别慢或断开连接,这时我们就需要将需要的文件先下载下来,放到我们的文件下载服务器上,再从我们的服务器URL地址进行下载



2. 安装



2.1 版本选择

Tomcat是一个web容器。从

下载哪个版本的Tomcat

可以看出,我们需要下载10.0.x版本的Tomcat,这里我们下载10.0.10最大的版本

Tomcat版本选择



2.2 下载解压



Tomcat10下载地址

进行下载,下载如图

Tomcat下载

进行解压

[root@bigdata005 tomcat]#
[root@bigdata005 tomcat]# tar -zxvf apache-tomcat-10.0.10.tar.gz
[root@bigdata005 tomcat]#
[root@bigdata005 tomcat]# cd apache-tomcat-10.0.10
[root@bigdata005 apache-tomcat-10.0.10]#
[root@bigdata005 apache-tomcat-10.0.10]# pwd
/opt/tomcat/apache-tomcat-10.0.10
[root@bigdata005 apache-tomcat-10.0.10]#



2.3 tomcat目录说明

  • webapps:webapps下面的一个目录,对应访问链接的一个context root。可以在context root目录下面放HTML文件
  • work:存放项目产生的工作文件



2.4 配置

  1. vi conf/web.xml
        <init-param>
            <param-name>listings</param-name>
            <param-value>true</param-value>
        </init-param>

将false改为true,表示将文件目录显示在Web页面的首页上

  1. 创建download目录
[root@bigdata005 apache-tomcat-10.0.10]# 
[root@bigdata005 apache-tomcat-10.0.10]# mkdir webapps/download
[root@bigdata005 apache-tomcat-10.0.10]# 
[root@bigdata005 apache-tomcat-10.0.10]# touch webapps/download/test1.txt
[root@bigdata005 apache-tomcat-10.0.10]# mkdir webapps/download/test_dir
[root@bigdata005 apache-tomcat-10.0.10]# touch webapps/download/test_dir/test2.txt
[root@bigdata005 apache-tomcat-10.0.10]#

将需要下载的目录或文件放入webapps/download下即可

  1. 默认端口修改

tomcat默认的端口时8080,我们可以修改conf/server.xml, 修改内容如下:

    <!-- A "Connector" represents an endpoint by which requests are received
         and responses are returned. Documentation at :
         HTTP Connector: /docs/config/http.html
         AJP  Connector: /docs/config/ajp.html
         Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
    -->
    <Connector port="8090" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />



3. 配置外部文件夹映射

我们不可能把所有需要下载的文件都放到webapps目录下,所有就需要配置一个URL的路径和本地的文件路径映射关系,从其它本地文件目录进行文件下载

  1. 准备本地文件夹
[root@bigdata005 apache-tomcat-10.0.10]# 
[root@bigdata005 apache-tomcat-10.0.10]# mkdir download2
[root@bigdata005 apache-tomcat-10.0.10]# 
[root@bigdata005 apache-tomcat-10.0.10]# cp -r webapps/download/* download2/
[root@bigdata005 apache-tomcat-10.0.10]#
[root@bigdata005 apache-tomcat-10.0.10]# ll download2/
总用量 0
-rw-r--r--. 1 root root  0 8月  17 17:52 test1.txt
drwxr-xr-x. 2 root root 23 8月  17 17:52 test_dir
[root@bigdata005 apache-tomcat-10.0.10]# 
  1. 配置conf/server.xml

添加

<Context path="/download2" docBase="/opt/tomcat/apache-tomcat-10.0.10/download2"></Context>

, 添加位置如下所示:

......省略部分......
        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

        <Context path="/download2" docBase="/opt/tomcat/apache-tomcat-10.0.10/download2"></Context>

      </Host>
    </Engine>
  </Service>
</Server>



4. 启动

必须在服务器配置好JAVA_HOME环境变量

[root@bigdata005 apache-tomcat-10.0.10]# 
[root@bigdata005 apache-tomcat-10.0.10]# bin/startup.sh 
Using CATALINA_BASE:   /opt/tomcat/apache-tomcat-10.0.10
Using CATALINA_HOME:   /opt/tomcat/apache-tomcat-10.0.10
Using CATALINA_TMPDIR: /opt/tomcat/apache-tomcat-10.0.10/temp
Using JRE_HOME:        /opt/jdk-11
Using CLASSPATH:       /opt/tomcat/apache-tomcat-10.0.10/bin/bootstrap.jar:/opt/tomcat/apache-tomcat-10.0.10/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@bigdata005 apache-tomcat-10.0.10]#

可以通过

bin/shutdown.sh

停止服务



5. 访问

通过http://bigdata005:8090/download/和http://bigdata005:8090/download2/进行访问, 如下图所示:

Tomcat Web页面访问
可以直接在Web页面上点击下载,或通过文件URL进行下载;新添加文件不用重启Tomcat服务器



版权声明:本文为yy8623977原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。