Docker部署Nginx下载站点服务

2024-06-17 16:04

本文主要是介绍Docker部署Nginx下载站点服务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、下载镜像

由于docker官方镜像站点被封了,所以我把镜像上传到阿里云镜像仓库了

docker pull registry.cn-hangzhou.aliyuncs.com/qinzt-tools/file-nginx:1.18.0

2、运行容器实例

运行变量解释:

变量名称默认值解释
USERhyadmin访问下载站点的认证用户
PASSWDhyadmin访问下载站点的认证用户密码
NGINX_PORT4090访问端口
NGINX_CONTEXT/logs访问路由

最简单方式运行容器(三选一):

docker run -itd \--name file-nginx \--restart always \--net host \-v /usr/local/package:/usr/local/nginx/html/logs \registry.cn-hangzhou.aliyuncs.com/qinzt-tools/file-nginx:1.18.0

运行容器并指定变量信息(三选一):

docker run -itd \--name file-nginx \--restart always \--net host \-e USER=admin \-e PASSWD='1qaz!QAZadmin.' \-e NGINX_PORT=9096 \-e NGINX_CONTEST=/logs \-v /usr/local/package:/usr/local/nginx/html/logs \registry.cn-hangzhou.aliyuncs.com/qinzt-tools/file-nginx:1.18.0

docker-compose方式运行容器(三选一):

version: '3'
services:file-nginx:image: "registry.cn-hangzhou.aliyuncs.com/qinzt-tools/file-nginx:1.18.0"container_name: "file-nginx"environment:- TZ=Asia/Shanghai- USER=admin- PASSWD=1qaz!QAZadmin.- NGINX_PORT=9096- NGINX_CONTEST=/logsrestart: alwaysvolumes:- /usr/local/package:/usr/local/nginx/html/logs network_mode: "host"

运行容器:

docker-compose up -d

3、页面访问验证

浏览器访问:https://IP:${NGINX_PORT}/${NGINX_CONTEST},为了安全起见,我把证书和用户认证都添加了,所以当我们访问时需要使用https并且需要用户认证,如下图所示:

在这里插入图片描述

当我们输入正确用户名、密码后,即可访问下载站点,如下图:

在这里插入图片描述

由于没有添加下载文件,所以访问到的页面是空白的,如上图,现在我们添加一些文件到/usr/local/package路径。

mkdir /usr/local/package/{QIN,ZI,TENG}         # 创建测试目录
touch /usr/local/package/qinziteng{1..10}.txt  # 创建测试文件
dd if=/dev/zero of=/usr/local/package/qinziteng666.txt bs=1M count=100 # 创建100M大小文件

刷新页面即可查看到文件了,如下图:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

点击要下载的文件即可,如下图,具体下载速度和带宽有关系,建议内网中使用:在这里插入图片描述

至此,结束!

这篇关于Docker部署Nginx下载站点服务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1069904

相关文章

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

python 3.8 的anaconda下载方法

《python3.8的anaconda下载方法》本文详细介绍了如何下载和安装带有Python3.8的Anaconda发行版,包括Anaconda简介、下载步骤、安装指南以及验证安装结果,此外,还介... 目录python3.8 版本的 Anaconda 下载与安装指南一、Anaconda 简介二、下载 An

关于Nginx跨域问题及解决方案(CORS)

《关于Nginx跨域问题及解决方案(CORS)》文章主要介绍了跨域资源共享(CORS)机制及其在现代Web开发中的重要性,通过Nginx,可以简单地解决跨域问题,适合新手学习和应用,文章详细讲解了CO... 目录一、概述二、什么是 CORS?三、常见的跨域场景四、Nginx 如何解决 CORS 问题?五、基

Nginx实现动态封禁IP的步骤指南

《Nginx实现动态封禁IP的步骤指南》在日常的生产环境中,网站可能会遭遇恶意请求、DDoS攻击或其他有害的访问行为,为了应对这些情况,动态封禁IP是一项十分重要的安全策略,本篇博客将介绍如何通过NG... 目录1、简述2、实现方式3、使用 fail2ban 动态封禁3.1 安装 fail2ban3.2 配

springboot的调度服务与异步服务使用详解

《springboot的调度服务与异步服务使用详解》本文主要介绍了Java的ScheduledExecutorService接口和SpringBoot中如何使用调度线程池,包括核心参数、创建方式、自定... 目录1.调度服务1.1.JDK之ScheduledExecutorService1.2.spring

Nginx启动失败:端口80被占用问题的解决方案

《Nginx启动失败:端口80被占用问题的解决方案》在Linux服务器上部署Nginx时,可能会遇到Nginx启动失败的情况,尤其是错误提示bind()to0.0.0.0:80failed,这种问题通... 目录引言问题描述问题分析解决方案1. 检查占用端口 80 的进程使用 netstat 命令使用 ss

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤