Linux 基础 WEB 服务搭建详解


Linux 基础 WEB 服务搭建详解



  • 访问网络服务需要的元素(详解见1.7):

​ 主机名 网 网卡 网址

https://www.baidu.com
  • 网络协议:https://

​ 超文本:超级链接的纯文本

​ http:超文本传输协议,传输超文本

​ httpd:最古老的网络服务,给用户提供页面,托管给Apache

​ html:超文本标记语言,用于标记超文本中各种元素

基本Web服务

1.搭建过程

① 配置本地仓库

先切换到仓库的目录下。 cd /etc/yum.repos.d/

使用 ll 命令查看当前目录下文件是否存在仓库 rpm.repo,若不存在,使用以下命令创建仓库。
在这里插入图片描述

若命令 vim rpm.repo 不能执行则说明系统没有安装vim,执行命令 vi rpm.repo 或者 dnf install vim
​若命令vi rpm.repo不能执行则说明装系统的时候出错。

​ 成功执行命令后编辑仓库内容,其中 baseurl 的标准书写格式应该是 baseurl=file:///mnt/BaseOS,因为 file 表示用的是本地文件, // 表示的是使用了 file 的协议。如果使用的是 http 协议就将file部分替换即可。

[BaseOS]
name=BaseOS
baseurl=/mnt/BaseOS
enabled=1
gpgcheck=0
 
[Appstream]
name=AppStream
baseurl=/mnt/AppStream
enabled=1
gpgcheck=0
	如果写完之后不能保存,可能存在两种情况:
	第一种:当前操作用户没有权限	
	第二种:路径写错了

​	解决这个问题也有两种方案:
	方案一:将内容拷贝后退出文件,检查路径是否正确。cd、ll
	方案二:切换管理员用户再操作

​ 编辑完成后:wq保存并退出,将仓库挂载在目录下后,切换到根目录。 mount /dev/sr0 /mnt

② 安装httpd软件包

​ 使用 dnf install httpd -y 指令安装httpd软件包


​ 完成安装后使用 systemctl start httpd 命令启动httpd服务

③ 查看监听端口

​ 使用 netstat 指令查看监听端口,如果不存在则使用 dnf install net-tools 命令下载。其中 bash-com* 的作用是自动补齐命令, lrz* 的作用是进行上传和下载。

​ 安装成功后使用 netstat -lntup | grep httpd 命令查看监听端口。

在这里插入图片描述

​ 可以看出在80端口上监听了一个web服务,它的进程号是11124。

​ 因此我们可以访问测试页面,使用 curl localhost 命令。
在这里插入图片描述
在这里插入图片描述

​ 此时用浏览器不能访问该页面,因为虚拟机防火墙未关闭。

​ 使用 systemctl stop firewalld 命令关闭防火墙,此时可以根据虚拟机的ip在浏览器中访问测试页面。该测试页面的本质是 404

在这里插入图片描述
在这里插入图片描述

​ 如果想要显示内容 则可以使用命令输入内容。
在这里插入图片描述
在这里插入图片描述

​ 其中 echo 命令用于输出指定的字符串。> 符号表示重定向输出,即将 echo 命令的输出结果重定向到指定的文件中。如果指定的文件不存在,会创建该文件;如果文件已存在,则会覆盖原文件的内容。

2. 关于httpd

①目录

  • conf:主配置文件
  • conf.d:子配置文件,包含在conf中。
  • conf.modules.d:关于模块的配置文件。
  • logs:运行日志
  • modules:关于模块的内容
  • run:关于运行的内容
  • state:状态的内容

​ 只有前三个文件真正在 /etc/httpd 下,其余内容被引入其他文件夹中。

②配置文件

​ 默认的主配置文件在 /etc/httpd/conf/httpd.conf 路径下。

普通配置文件

​ 蓝色部分是注释,一部分是描述性的注释,一部分是配置性的注释,系统不会运行。

  • ServerRoot /etc/httpd:所有内容都在该目录下

  • Listen:监听。

​ IP地址在OSI模型中的第三层(网络层),而它的上一层是传输层,其中包含了部分端口。由此可见,网络层可以定义到主机,而端口可以定位到应用,通常给IP加端口也叫套接字(socket)。

​ 监听实际上是将某一个应用绑定在某一个套接字上,用于对外提供服务。用户通过套接字可以直接访问应用。

  • Include conf.modules.d/*.conf :动态共享对象支持。

​ 包含一些配置文件,这些文件在 conf.modules.d 中,包含了所有以 .conf 结尾的文件。其中 * 在这里表示为任意长度的任意字符。

​ 动态共享对象(DSO,在Windows中叫动态链接库,DLL)不能主动运行,只有在程序调用的时候才能运行,通常一个程序可以调用多个动态共享对象。

  • User apache、Group apache:一些用户和组。

主配置文件

  • ServerAdmin root@localhost:管理员

  • #ServerName www.example.com:80:当通过端口和地址访问某一个服务时除了IP地址的访问之外也可以使用ServerName访问。ServerName可以转换成IP地址,所以用户可以通过主机名访问,而服务器通过主机名确定提供给用户的服务。

  • 容器(控制块):定义跟目录下不能访问的文件不能修改。

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

  • DocumentRoot /var/www/html :访问网站的时候,网站要提供页面或者内容。这条命令定义了网站内容所在目录。

在这里插入图片描述

  • 容器(控制块):定义根下所有目录都不能修改,除了/var/www/html

在这里插入图片描述

  • 定义 /var/www/html
    • Option Indexes FollowSymLinks
      • Indexes:是否需要索引
      • FollowSymLinks:跟踪软连接

  • 控制模块:如果有这个模块,所包含的参数生效。

在这里插入图片描述

  • 定义文件,在访问文件时要求以 .ht 开头的所有文件都不能访问。因为在服务里一些服务一般做访问控制,不让用户访问。
    在这里插入图片描述

  • ErrorLog "logs/error_log" :错误日志,在 /etc/httpd 中。
    在这里插入图片描述

  • LogLevel warn:定义日志级别。
    在这里插入图片描述

  • 定义模块:如果这个模块存在,可以定义一些新的东西

    • LogFormat:定义日志的格式
    • CustomLog:用户日志,格式同上
      在这里插入图片描述
  • 定义模块:

    • ScriptAlias :给某个文件取别名 方便用户访问
      在这里插入图片描述
  • 容器(控制块):定义路径文件

在这里插入图片描述

  • 定义模块:如果这个模块存在,可以定义一些新的东西

    • mime:多用途互联网邮件扩展
      在这里插入图片描述
  • 不多做解释,编程的时候会用到
    在这里插入图片描述
    在这里插入图片描述

  • AddDefaultCharset UTF-8 :默认字符集
    在这里插入图片描述

  • 如果系统报错显示第358行报错,则有另种情况

    • 358行出错
    • 在目录 conf.d/*.conf 下的某个配置文件代码出错
      在这里插入图片描述

以上就是我整理的Linux系统的基本Web服务,如有遗漏欢迎补充。

  • 15
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值