Web 简介

web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。 -来源于百度

开始准备 – 安装Httpd

先安装httpd:yum -y install httpd

然后加入自启动:systemctl enable httpd

出现Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /etc/systemd/system/httpd.service.

搭建一个简单的网站
① 进入配置目录

进入路径:cd /etc/httpd/conf.d ,在这个路径中建任意名称以.conf结尾的文件,编辑内容如下代码

1
2
3
4
5
6
7
8
[root]# cat myweb-1.conf 
#监听80端口,*是代表所有地址均可访问
<VirtualHost *:80>
#定义一个域名
Servername mec8.fun
#主配置存放文件路径
DocumentRoot /var/www/html
</VirtualHost>
② 添加一个主页

Ⅰ.进入到 cd /var/www/html 文件夹新建一个 index.html 主页文件

Ⅱ.写一段简单的内容

1
[root]# echo hello Mec 2024.03.27 > index.html

Ⅲ. 重启httpd服务

*systemctl restart httpd*

③ Linux解析域名

vi /etc/hosts

输入:IP地址 域名

例如 192.168.0.1 mec8.fun

测试linux解析是否正常:curl 域名(如果都能获取到内容便是正常的) ,如果失败,关闭selinux:setenforce 0

④ 检查是否打开80端口

Ⅰ. 查看已经开放的端口:

1
firewall-cmd --list-ports 

Ⅱ. 开启端口

1
2
3
4
5
6
firewall-cmd --zone=public --add-port=80/tcp --permanent  

命令含义:
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效

Ⅲ. 重启端口

1
firewall-cmd --reload
⑤ 访问网页

打开浏览器输入域名即可!

遇到的问题

一、安装httpd失败

当我尝试 yum install httpd我得到了错误

1
2
3
4
5
6
7
Loaded plugins: changelog, fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.cloud.aliyuncs.com
* extras: mirrors.cloud.aliyuncs.com
* updates: mirrors.cloud.aliyuncs.com
No package httpd available.
Error: Nothing to do

怎么解决呢?两种方法

①第一种方法:

1
yum --disableexcludes=all install -y httpd

②第二种方法:

httpd 组件可以从默认的 CentOS 存储库“base”和“updates”(对于较新的版本)安装

1
2
# repoquery -i httpd | grep -i repo
Repository : updates

确保你有存储库文件 /etc/yum.repos.d/CentOS-Base.repo 或手动创建它,至少包含以下内容:

1
2
3
4
5
6
7
8
9
10
11
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
gpgcheck=0
enabled=1

[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
gpgcheck=0
enabled=1

然后做:

1
# yum clean all && yum update -y && yum install httpd -y
二、httpd启动(重启)失败

运行systemctl start httpd或者systemctl restart httpd报错:

1
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details

解决方法

Ⅰ.systemctl status httpd.service 查看,发现80端口是否被占用

Ⅱ. 用netstat -antlp | grep 80查看端口被哪一服务占用

Ⅲ. 关闭占用的服务 systemctl stop squid.service

Ⅳ. 启动 systemctl start httpd 服务

三、检查80端口失败

netstat -ntlp | grep 80

报错:-bash: netstat: command not found

解决方法

1
yum install net-tools

该文章Mec所著,如有错误请联系作者邮箱更改