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

相关推荐
wuicer5 分钟前
ubuntu 20.04 安装anaconda以及安装spyder
linux·运维·ubuntu
玩转以太网1 小时前
基于W55MH32Q-EVB 实现 HTTP 服务器配置 OLED 滚动显示信息
服务器·网络协议·http
小晶晶京京2 小时前
day34-LNMP详解
linux·运维·服务器
画个太阳作晴天2 小时前
A12预装app
linux·服务器·前端
喂完待续2 小时前
Apache Hudi:数据湖的实时革命
大数据·数据仓库·分布式·架构·apache·数据库架构
fengyehongWorld3 小时前
Linux crontab定时任务
linux·运维
碎像3 小时前
Linux上配置环境变量
linux·运维·服务器
sunflower_w5 小时前
linux I2C核心、总线与设备驱动
linux·运维·服务器
myzzb5 小时前
基于uiautomation的自动化流程RPA开源开发演示
运维·python·学习·算法·自动化·rpa
Ronin3056 小时前
【Linux系统】进程间通信:System V IPC——共享内存
linux·服务器·system v 共享内存