基于 Apache 的 httpd 文件服务器

基于 Apachehttpd 文件服务器

文件服务器的简介

httpd(HTTP Daemon,超文本传输协议守护进程的简称),运行于网页服务器后台,等待传入服务器请求的软件。

httpd 能够自动回应服务器的请求,并使用 http 协议传送超文本及多媒体内容。

常见的 httpd 以下实现:

  • Apache HTTP Server
  • CERN HTTPd
  • Cherokee
  • Hiawatha
  • Lighttpd
  • NCSA HTTPd
  • Nginx
  • OpenBSD

这里我们使用应用最广泛的 Apache Http Server 搭建 httpd 文件服务器。

文件服务器的搭建

所使用的服务器操作系统是 CentOS 7.9,使用 yum 命令直接安装 httpd,如 yum 源有问题或者非 CentOS 操作系统,需要先准备软件源以及安装命令,CentOS 的主机执行如下命令即可安装 httpd 服务。

shell 复制代码
sudo yum install httpd

安装完成后,需要修改 /etc/httpd/conf/httpd.conf 配置文件,重点修改的内容如下所示。

ini 复制代码
# httpd服务端口
Listen 8000

# httpd服务用户
User apache
Group apache

# httpd服务根目录
DocumentRoot "/www/httpd"

# httpd服务根路径的权限
<Directory "/www/httpd">
	# 展示文件列表以及软链接的内容
    Options Indexes FollowSymLinks
    # 不允许使用.htaccess文件来修改Apache的配置。
    AllowOverride None
    # 允许所有用户访问此目录中的内容,也即,对所有请求都允许访问该目录及其内容。
    Require all granted
</Directory>

配置修改完成后,还需要修改 /www/httpd 也即配置的 httpd 文件服务器的目录属主,这里直接修改为 apache:apache

shell 复制代码
chown -R apache:apache /www/httpd

使用 systemctl start httpd 即可启动 Apache Httpd 文件服务器,如下是常用的 httpd 命令。

shell 复制代码
# 启动 httpd 服务
systemctl start httpd
# 重启 httpd 服务
systemctl restart httpd
# 停止 httpd 服务
systemctl stop httpd
# 查看 httpd 服务状态
systemctl status httpd

Httpd 服务启动后,即可通过页面访问文件服务器的 web 页面。

Apache httpd 默认是 Apache http server 的页面,这里可以直接删除 /etc/httpd/conf.d/welcome.conf 这个文件移除这个页面,也可以修改这个文件修改默认展示的页面,这里我们直接删除配置文件,并重启 Apache httpd 服务,出现的页面如下。

文件服务器的使用

访问默认的页面,出现的内容为空,这是因为配置的文件服务器根目录下没有内容,这里我们在配置的文件服务器根目录下创建 nginx 目录,并传入 nginx 的安装包。

shell 复制代码
mkdir /www/httpd/nginx
mv nginx-1.24.0.tar.gz /www/httpd/nginx
# 这里要注意允许其他用户访问当前目录,否则会出现无权限的问题
chown -R 755 /www/httpd/nginx

访问文件服务的页面,就能够看到创建的 nginx 目录以及安装包。

点击页面上的文件名称,或者在服务器上使用 wget,即可下载对应的文件。

如上已经实现了文件服务器,但在浏览器中下载文件时,会提醒这是不安全的,这里使用 nginx 代理文件服务器并配置 ssl 证书即可避免这种问题。

相关推荐
HIT_Weston33 分钟前
26、【Ubuntu】【远程开发】内网穿透:密钥算法介绍(二)
linux·运维·ubuntu
大地的一角3 小时前
(Linux)ELF格式与库的链接原理
linux·运维·服务器
z202305083 小时前
Linux之中断子系统-内核中断注册源码分析(4)
linux·运维·服务器
极小狐5 小时前
比 Cursor 更丝滑的 AI DevOps 编程智能体 - CodeRider-Kilo 正式发布!
运维·人工智能·devops
Sunlightʊə5 小时前
2.登录页测试用例
运维·服务器·前端·功能测试·单元测试
利刃大大6 小时前
【高并发服务器:HTTP应用】十六、HttpContext上下文模块 && HttpServer服务器模块&& 服务器测试
运维·服务器·http·高并发·项目
吃饭最爱6 小时前
Elasticsearch的用法
运维·jenkins
wanhengidc6 小时前
云手机通常使用什么架构
服务器·网络·安全·游戏·智能手机·云计算
emiya_saber6 小时前
Linux 文件系统基本管理
linux·运维·服务器
夜月yeyue6 小时前
Linux 内核驱动加载机制
linux·服务器·stm32·嵌入式硬件