基于 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 证书即可避免这种问题。

相关推荐
linux kernel43 分钟前
第六部分:数据链路层
服务器·网络
聆风吟º5 小时前
CANN开源项目深度实践:基于amct-toolkit实现自动化模型量化与精度保障策略
运维·开源·自动化·cann
较劲男子汉8 小时前
CANN Runtime零拷贝传输技术源码实战 彻底打通Host与Device的数据传输壁垒
运维·服务器·数据库·cann
wypywyp8 小时前
8. ubuntu 虚拟机 linux 服务器 TCP/IP 概念辨析
linux·服务器·ubuntu
风流倜傥唐伯虎8 小时前
Spring Boot Jar包生产级启停脚本
java·运维·spring boot
Doro再努力8 小时前
【Linux操作系统10】Makefile深度解析:从依赖推导到有效编译
android·linux·运维·服务器·编辑器·vim
senijusene8 小时前
Linux软件编程:IO编程,标准IO(1)
linux·运维·服务器
不像程序员的程序媛8 小时前
Nginx日志切分
服务器·前端·nginx
忧郁的橙子.9 小时前
02-本地部署Ollama、Python
linux·运维·服务器
醇氧9 小时前
【linux】查看发行版信息
linux·运维·服务器