当前位置: 首页 > news >正文

Linux搭建文件服务器

搭建简单文件服务器

    • 基于centos7.9搭建http文件服务器
    • 基于centos7.9搭建nginx文件服务器
    • 基于ubuntu2204搭建http文件服务器

IP环境
192.168.200.100VMware17

基于centos7.9搭建http文件服务器

安装httpd

[root@localhost ~]# yum install -y httpd

关闭防火墙以及selinux

[root@localhost ~]# systemctl stop firewalld;setenforce 0

文件/etc/httpd/conf/httpd.conf中的默认参数(自定义修改)

DocumentRoot "/var/www/html" #这一行指定了文档根目录<Directory "/var/www">  #用于针对指定目录(在这里是/var/www)设置访问控制规则的开始标签。以下的配置将应用于/var/www目录及其子目录。AllowOverride None# Allow open access:Require all granted #表示允许所有人访问/var/www目录及其子目录,没有访问限制                                 
</Directory>Listen 80 #默认的监听端口,修改80后则需要指定IP:端口进行访问

注释/etc/httpd/conf.d/welcome.conf文件下的此内容,不然就会返回禁止访问报错

#<LocationMatch "^/+$">
#    Options -Indexes
#    ErrorDocument 403 /.noindex.html
#</LocationMatch>

文件服务器下创建测试文件

[root@localhost ~]# echo hello > /var/www/html/test.txt

启动httpd并设置开机自启

[root@localhost ~]# systemctl enable --now httpd

访问界面如下

在这里插入图片描述

此时的文件服务器还不能下载,点击后会打开该文件

在这里插入图片描述
编辑http.conf文件,追加以下内容

<FilesMatch "\.(?i:pdf|zip|txt|csv)$">Header set Content-Disposition "attachment"
</FilesMatch>当有人请求以 .pdf、.zip、.txt 或 .csv 结尾的文件时,服务器会设置 Content-Disposition 标头,强制
将文件作为附件下载,而不是在浏览器中直接打开,如果还要添加例如tar、gz等文件后缀可以下载,
则需要在括号内添加(?i:pdf|zip|txt|csv|gz|tar)相应的后缀
[root@localhost ~]# systemctl restart httpd

此时重新打开无痕模式浏览器,或者清除缓存再次打开

在这里插入图片描述
完善文件服务器的浏览器界面,在http.conf的Directory标签中添加

Options +Indexes:启用目录索引,允许显示目录内容。
IndexOptions FancyIndexing:启用美化的目录索引,以改善目录内容的可读性。
IndexOptions NameWidth=:允许文件名列宽度自动调整以适应不同文件名的长度。
IndexOptions DescriptionWidth=
:允许描述列宽度自动调整以适应不同文件描述的长度。
IndexOptions FoldersFirst:将文件夹显示在文件之前,以提高目录索引的可读性。

<Directory /var/www>AllowOverride None# Allow open access:Require all granted #以下为添加内容Options +IndexesIndexOptions FancyIndexing NameWidth=* DescriptionWidth=* FoldersFirst
</Directory>
[root@localhost ~]# systemctl restart httpd

在这里插入图片描述

基于centos7.9搭建nginx文件服务器

安装wget命令,需要拉取阿里源的epel源,再下载nginx

[root@localhost ~]# yum install -y wget
[root@localhost ~]# wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
[root@localhost ~]# yum install -y nginx
[root@localhost ~]# yum info nginx
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.cqu.edu.cn* extras: mirrors.cqu.edu.cn* updates: mirrors.cqu.edu.cn
Installed Packages
Name        : nginx
Arch        : x86_64
Epoch       : 1
Version     : 1.20.1
Release     : 10.el7
Size        : 1.7 M
Repo        : installed
From repo   : epel
Summary     : A high performance web server and reverse proxy server
URL         : https://nginx.org
License     : BSD
Description : Nginx is a web server and a reverse proxy server for HTTP, SMTP, POP3 and: IMAP protocols, with a strong focus on high concurrency, performance and low: memory usage.

修改nginx.conf文件

[root@localhost ~]# vi /etc/nginx/nginx.conf
user nginx; #nginx改为root#在server配置标签上添加以下内容autoindex on;# 显示目录autoindex_exact_size on;# 显示文件大小autoindex_localtime on;# 显示文件时间root         /opt;   #/opt表示你要共享的文件服务器根目录

启动nginx,并开机自启

[root@localhost ~]# systemctl enable --now nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

浏览器IP访问,如果要指定端口,修改Linsten后面的80即可

在这里插入图片描述

基于ubuntu2204搭建http文件服务器

IP环境
192.168.200.200VMware17

安装apache2

root@huhy:~# apt install -y apache2
root@huhy:~# mkdir /var/www/html/test-file
root@huhy:~# chmod 777 /var/www/html/test-file/
root@huhy:~# echo ok > /var/www/html/test-file/test.txt
root@huhy:~# vi /etc/apache2/sites-available/000-default.confDocumentRoot /var/www/html/test-file #修改此参数,就可以指向该文件夹
root@huhy:~# systemctl enable --now apache2
Synchronizing state of apache2.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable apache2

浏览器IP访问

在这里插入图片描述

优化界面

root@huhy:~# vi /etc/apache2/apache2.conf<Directory /var/www/> #对此目录下生效Options Indexes FollowSymLinksAllowOverride NoneRequire all granted #添加下面两行Options +IndexesIndexOptions FancyIndexing NameWidth=* DescriptionWidth=* FoldersFirst
</Directory>

再次访问

在这里插入图片描述
总的来说ubuntu搭建更加简单一些,做的配置也不多

相关文章:

Linux搭建文件服务器

搭建简单文件服务器 基于centos7.9搭建http文件服务器基于centos7.9搭建nginx文件服务器基于ubuntu2204搭建http文件服务器 IP环境192.168.200.100VMware17 基于centos7.9搭建http文件服务器 安装httpd [rootlocalhost ~]# yum install -y httpd关闭防火墙以及selinux [roo…...

跨境商城源码可以支持多种支付方式吗?

跨境商城源码是一种用于建立跨国界电商平台的程序代码。随着全球电商的繁荣发展&#xff0c;越来越多的商家开始寻找一种既安全可靠&#xff0c;又能满足用户需求的支付方式。那么&#xff0c;跨境商城源码是否能够支持多种支付方式呢?让我们深入探讨一下。 1. 支付宝支付 支付…...

机器学习中的核方法

一、说明 线性模型很棒&#xff0c;因为它们易于理解且易于优化。他们受苦是因为他们只能学习非常简单的决策边界。神经网络可以学习更复杂的决策边界&#xff0c;但失去了线性模型良好的凸性特性。 使线性模型表现出非线性的一种方法是转换输入。例如&#xff0c;通过添加特征…...

搜索问答技术学习:基于知识图谱+基于搜索和机器阅读理解(MRC)

目录 一、问答系统应用分析 二、搜索问答技术与系统 &#xff08;一&#xff09;需求和信息分析 问答需求类型 多样的数据源 文本组织形态 &#xff08;二&#xff09;主要问答技术介绍 发展和成熟度分析 重点问答技术基础&#xff1a;KBQA和DeepQA KBQA&#xff08;…...

LeetCode2409——统计共同度过的日子数

博主的解法过于冗长&#xff0c;是一直对着不同的案例debug修改出来的&#xff0c;不建议学习。虽然提交成功了&#xff0c;但是自己最后都不知道写的是啥了哈哈哈。 package keepcoding.leetcode.leetcode2409; /*Alice 和 Bob 计划分别去罗马开会。给你四个字符串 arriveA…...

【MyBatisPlus】快速入门、常用注解、常用配置

&#x1f40c;个人主页&#xff1a; &#x1f40c; 叶落闲庭 &#x1f4a8;我的专栏&#xff1a;&#x1f4a8; c语言 数据结构 javaEE 操作系统 Redis 石可破也&#xff0c;而不可夺坚&#xff1b;丹可磨也&#xff0c;而不可夺赤。 MyBatisPlus 一、快速入门1.1 引入MyBatisP…...

【USRP】通信之:光通信

光通信: 光通信是使用光信号&#xff08;通常是红外或可见光信号&#xff09;在光纤或空气中传输信息的技术。由于光信号的特性&#xff0c;光通信具有非常高的数据传输率和长距离传输能力。以下是光通信的一些关键组件和概念&#xff1a; 光纤&#xff1a; 是由非常纯净的玻璃…...

bpf对内核的观测

目录 1 bpftrace常用命令1.1 列出bpftrace 相关命令的list1. 2bpftrace -e 是执行1.3 查看参数 -lv 2 bpftrace 可以用到的变量3 高级3.1 内置函数3.2 文件系统3.3 内核内存 栈3.4 Malloc 调用 统计3.5 系统调用 brk 的 统计3.6 脚本调用 4 应用5 怎么串联起来呢 bpftrace 总的…...

Tiktok shop api 调试

记录一下调试Tiktok shop api 踩坑记录。 主要是在按官网api上规则和加密生成sign时候一直通不过的问题&#xff1a; 官网地址&#xff1a;https://partner.tiktokshop.com/doc/page/63fd743e715d622a338c4eab 直接贴代码了 import lombok.extern.slf4j.Slf4j;import javax.cr…...

QFSFileEngine::open: No file name specified解决方案

问题 使用QFile类进行文件操作时&#xff0c;报错QFSFileEngine::open: No file name specified。 原因 QFile::open: No file name specified是Qt中的一个错误消息&#xff0c;提示没有指定文件名导致文件无法打开。这个错误通常出现在使用QFile::open()函数时没有提供有效…...

Flappy bird项目

一、功能分析 1、小鸟自动向右滑行 2、按下空格小鸟上升&#xff0c;不按下落 3、显示小鸟需要穿过的管道 4、管道自动左移和创建 5、小鸟和管道碰撞&#xff0c;游戏结束 6、技术 7、 项目框图 8、Ncurses 1&#xff09;创建窗口界面&#xff0c;移动光标&#xff0c;产…...

高校教务系统登录页面JS分析——西安科技大学

高校教务系统密码加密逻辑及JS逆向 本文将介绍高校教务系统的密码加密逻辑以及使用JavaScript进行逆向分析的过程。通过本文&#xff0c;你将了解到密码加密的基本概念、常用加密算法以及如何通过逆向分析来破解密码。 本文仅供交流学习&#xff0c;勿用于非法用途。 一、密码加…...

Mysql 事务的实现原理

Mysql 里面的事务&#xff0c;满足 ACID 特性&#xff0c;所以Mysql 的事务实现原理&#xff0c;就是InnoDB 是如何保证 ACID 特性的。 ACID A 表示 Atomic 原子性&#xff0c;也就是需要保证多个 DML 操作是原子的&#xff0c;要么都成功&#xff0c;要么都失败。那么&#xf…...

使用vscode搭建虚拟机

首先vscode插件安装 名称: Remote - SSH ID: ms-vscode-remote.remote-ssh 说明: Open any folder on a remote machine using SSH and take advantage of VS Codes full feature set. 版本: 0.51.0 VS Marketplace 链接: https://marketplace.visualstudio.com/items?it…...

C# 使用 LibUsbDotNet 实现 USB 设备检测

国庆节回来后的工作内容&#xff0c;基本都在围绕着各种各样的硬件展开&#xff0c;这无疑让本就漫长的 “七天班” &#xff0c;更加平添了三分枯燥&#xff0c;我甚至在不知不觉中学会了&#xff0c;如何给打印机装上不同尺寸的纸张。华为的 Mate 60 发布以后&#xff0c;人群…...

系统安全分析与设计

系统安全分析与设计&#xff08;2分&#xff09; 内容提要 对称加密与非对称加密 加密技术与认证技术 加密技术&#xff08;只能防止第三方窃听&#xff09; 讲解地址&#xff1a;对称加密与非对称加密_哔哩哔哩_bilibili 认证技术 骚戴理解&#xff1a;数字签名是用私钥签名…...

UE4 AI群集实现

逻辑就不用说了&#xff0c;就是计算对应图形位置让每个Pawn移动到该位置 因为有时候AI与AI会卡住 所以加上这个Bool为true&#xff0c;以及设置两个AI之间至少隔的距离&#xff0c;设置在一个合理的参数即可 有时候AI群集&#xff0c;AI与AI会比较紧密&#xff0c;可以将Caps…...

机器学习---CNN(创建和训练一个卷积神经网络并评估其性能)下

import numpy as np import matplotlib.pyplot as plt from cnn_operations import cnn_operations as cnn_opr convolutional_neural_network模块&#xff1a; 1. 卷积神经网络类 def __init__(self):# 网络的层数self.n_layers 0# list&#xff0c;网络中的各层self.layers…...

2021-arxiv-Prefix-Tuning- Optimizing Continuous Prompts for Generation

2021-arxiv-Prefix-Tuning- Optimizing Continuous Prompts for Generation Paper&#xff1a;https://arxiv.org/pdf/2101.00190.pdf Code&#xff1a;https://github.com/XiangLi1999/PrefixTuning 前缀调优&#xff1a;优化生成的连续提示 prefix-tunning 的基本思想也是想…...

使用CMakeLists.txt简化项目构建过程

在软件开发过程中&#xff0c;项目的构建是一个不可避免的环节。而随着项目规模的增大&#xff0c;手动管理编译过程变得越来越繁琐。为了简化构建流程并实现跨平台支持&#xff0c;CMake作为一种流行的构建系统被广泛采用。本文将介绍CMakeLists.txt文件的结构&#xff0c;以及…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业&#xff0c;那宇树科技&#xff08;Unitree&#xff09;必须名列其榜。 最近&#xff0c;宇树科技的一项新变动消息在业界引发了不少关注和讨论&#xff0c;即&#xff1a; 宇树向其合作伙伴发布了一封公司名称变更函称&#xff0c;因…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

Caliper 配置文件解析:fisco-bcos.json

config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...

CppCon 2015 学习:Time Programming Fundamentals

Civil Time 公历时间 特点&#xff1a; 共 6 个字段&#xff1a; Year&#xff08;年&#xff09;Month&#xff08;月&#xff09;Day&#xff08;日&#xff09;Hour&#xff08;小时&#xff09;Minute&#xff08;分钟&#xff09;Second&#xff08;秒&#xff09; 表示…...

MySQL体系架构解析(三):MySQL目录与启动配置全解析

MySQL中的目录和文件 bin目录 在 MySQL 的安装目录下有一个特别重要的 bin 目录&#xff0c;这个目录下存放着许多可执行文件。与其他系统的可执行文件类似&#xff0c;这些可执行文件都是与服务器和客户端程序相关的。 启动MySQL服务器程序 在 UNIX 系统中&#xff0c;用…...