Linux巩固篇010-Linux apache服务部署静态网站

本文涉及的产品
.cn 域名,1个 12个月
简介: 纸上得来终觉浅,绝知此事要躬行

前言

身为一个三年的运维工程师,从开发转测开再转运维,都是不断学习的过程,未必开发才是最优秀的,找到适合自己的职业不断深耕,你也会在自己的行业大放光彩,本系列依照《Linux就该这么学》系列随书学习练习操作,将一些课本上不顺畅的地方,全部以最简方式免费开源展示给大家,资源大家可以自行百度,也希望大家多关注刘遄老师的第二版关于centos8的丛书,学习最前沿的Linux相关技术。

常用命令汇总

网站服务程序

Apache 服务程序安装

yum install httpd

运行程序

systemctl enable httpd

开机自启动程序

systemctl enable httpd

然后把本机地址录入到随便一个网站上,就会有如下的画面

image.png

(如果访问不了就关闭防火墙和selinux,命令如下:

[root@bogon ~]# vim /etc/selinux/config

将文件内SELINUX=XX这行改为 SELINUX=disabled或者SELINUX=permissive,然后保存退出

[root@bogon ~]# setenforce 0

[root@bogon ~]# systemctl stop firewalld

[root@bogon ~]# systemctl disable firewalld

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.)

配置服务文件参数

linux的配置目录如下:

image.png

配置 httpd 服务程序时最常用的参数以及用途描述如下:

vim /etc/httpd/conf/httpd.conf

image.png

把网站数据存放到/var/www/html 目录中,首页面名称是 index.html

保存网站数据的目录修改为/home/wwwroot 目录步骤:

1.创建文件夹

[root@bogon ~]# mkdir /home/wwwroot

[root@bogon ~]# echo "The New Web Directory" > /home/wwwroot/index.html

2.修改配置文件

[root@bogon ~]# vim /etc/httpd/conf/httpd.conf

image.png

3.重启httpd

[root@bogon ~]# systemctl restart httpd

image.png

个人用户主页功能

httpd 服务程序提供的个人用户主页功能,以让系统内所有的用户在自 己的家目录中管理个人的网站

1.修改配置文件

vim /etc/httpd/conf.d/userdir.conf

image.png

2.子用户家目录配置相关文件(我的子用户是root1,你们的可以创建)

[root@bogon home]# su - root1

Last login: Tue Jun 13 18:41:18 PDT 2023 on :0

[root1@bogon ~]$ mkdir public_html

[root1@bogon ~]$ echo "This is root1 home" > public_html/index.html

[root1@bogon ~]$ chmod -Rf 755 /home/root1

最后一条命令要注意跟自己的用户名目录一致,别复制我的root1

3.重新启动 httpd 服务,打开子用户家目录

[root1@bogon ~]# systemctl restart httpd

在浏览器的地址栏中输入网址,其格式为“网址/~ 用户名

image.png

我这个是基于把selinux关闭之后的结果,如果开着selinux配的话需要加以下条件

[root@bogon ~]# setsebool -P httpd_enable_homedirs=off

通过身份验证加口令

1.生成验证码

[root@bogon ~]# htpasswd -c /etc/httpd/passwd root1

New password:  输入网页验证码

Re-type new password: 输入网页验证码

Adding password for user root1

2.编辑个人用户主页功能的配置文件

vim /etc/httpd/conf.d/userdir.conf

...

   AllowOverride all

   authuserfile "/etc/httpd/passwd"

   authtype basic

   require user root1

...

image.png

此处的用户名是上边设置的root1,密码是网页验证码,不是root1的用户密码

虚拟主机功能

利用虚拟主机功能,可以把一台处于运行状态的物理服务器分割成多个“虚拟的服 务器(现在都用docker)

基于IP地址划分

我们给一台服务器准备多套网卡,添加方式非常简单,如图所示:

image.png

添加完毕后查看一下相关的网络管理服务是否运行,然后用ifconfig查询一下

[root@bogon ~]# systemctl status NetworkManager

1.创建首页文件

[root@bogon ~]# mkdir -p /home/wwwroot/1

[root@bogon ~]# mkdir -p /home/wwwroot/2

[root@bogon ~]# echo "IP:192.168.227.130" > /home/wwwroot/1/index.html

[root@bogon ~]# echo "IP:192.168.227.132" > /home/wwwroot/2/index.html

2.配置httpd文件

[root@bogon ~]# vim /etc/httpd/conf/httpd.conf

添加信息如下

...

113

114 DocumentRoot /home/wwwroot/1

115 ServerName www.weihongbin1.com

116

117 AllowOverride None

118 Require all granted

119

120

121  

122

123 DocumentRoot /home/wwwroot/2

124 ServerName www.weihongbin2.com

125

126 AllowOverride None

127 Require all granted

128

129

...

[root@bogon ~]# systemctl restart httpd.service

image.png

image.png

基于主机域名

1.修改主机ip域名

[root@bogon ~]# vim /etc/hosts

192.168.10.10 www.weihongbin1.com bbs.weihongbin.com abc.weihongbin.com

2.建目录文件

[root@bogon ~]#  mkdir -p /home/wwwroot/www

[root@bogon ~]#  mkdir -p /home/wwwroot/bbs

[root@bogon ~]#  mkdir -p /home/wwwroot/abc

[root@bogon ~]# echo "www.weihongbin.com" > /home/wwwroot/www/index.html

[root@bogon ~]# echo "bbs.weihongbin.com" > /home/wwwroot/bbs/index.html

[root@bogon ~]# echo "abc.weihongbin.com" > /home/wwwroot/abc/index.html

3.改httpd配置文件

[root@bogon ~]# vim /etc/httpd/conf/httpd.conf

...

113

114 DocumentRoot /home/wwwroot/www

115 ServerName www.weihongbin.com

116

117 AllowOverride None

118 Require all granted

119

120

121

122 DocumentRoot /home/wwwroot/bbs

123 ServerName bbs.weihongbin.com

124

125 AllowOverride None

126 Require all granted

127

128

129

130 DocumentRoot /home/wwwroot/abc

131 ServerName abc.weihongbin.com

132

133 AllowOverride None

134 Require all granted

135

136

...

[root@bogon ~]# systemctl restart httpd.service

主机看的话加个hosts:

192.168.227.130 www.weihongbin1.com bbs.weihongbin.com abc.weihongbin.com

image.png

www的被占域名了,其他的展示效果如下:

image.png

image.png

基于端口号

1.创建文件

[root@bogon ~]# mkdir -p /home/wwwroot/6111

[root@bogon ~]# mkdir -p /home/wwwroot/6222

[root@bogon ~]#  echo "port:6111" > /home/wwwroot/6111/index.html

[root@bogon ~]#  echo "port:6222" > /home/wwwroot/6222/index.html

2.配置httpd文件

[root@bogon ~]# vim /etc/httpd/conf/httpd.conf

...

42 Listen 80

43 Listen 6111

44 Listen 6222

...

114

115 DocumentRoot "/home/wwwroot/6111"

116

117 AllowOverride None

118 Require all granted

119

120

121  

122

123 DocumentRoot "/home/wwwroot/6222"

124

125 AllowOverride None

126 Require all granted

127

128

...

3.添加端口号(这两个端口不在范围内)

[root@bogon ~]# semanage port -a -t http_port_t -p tcp 6111

[root@bogon ~]# semanage port -a -t http_port_t -p tcp 6222

[root@bogon ~]# systemctl restart httpd.service

image.png

image.png

Apache 访问控制

指定相关浏览器及IP访问,其他的浏览器IP无法访问

1.建文件

[root@bogon ~]# mkdir -p /home/wwwroot/server

[root@bogon ~]# echo "Successful" > /home/wwwroot/server/index.html

2.配置httpd文件

[root@bogon ~]# vim /etc/httpd/conf/httpd.conf

...

114

115 SetEnvIf User-Agent "Firefox" ff=1

116 Order allow,deny

117 Allow from env=ff

118

...

[root@bogon ~]# systemctl restart httpd.service

火狐

image.png

加入第二段代码后

[root@bogon ~]# vim /etc/httpd/conf/httpd.conf

...

120

121 Order allow,deny

122 Allow from 192.168.227.137

123

...

[root@bogon ~]# systemctl restart httpd.service

image.png

image.png

其他非火狐浏览器均如下图:

image.png

结语

简问简答

1.什么是 Web 网络服务?

答:一种允许用户通过浏览器访问到互联网中各种资源的服务。

2.相较于 Nginx 服务程序,Apache 服务程序最大的优势是什么?

答:Apache 服务程序具备跨平台特性、安全性,而且拥有快速、可靠、简单的 API 扩展。

3.httpd 服务程序没有检查到首页文件,会提示报错信息吗?

答:不会,httpd 服务在未找到网站首页文件时,会向访客显示一个默认页面。

4.简述 Apache 服务主配置文件中全局配置参数、区域配置参数和注释信息的作用。

答:全局配置参数是一种全局性的配置参数,可作用于对所有的子站点;区域配置参数则 是单独针对于每个独立的子站点进行设置的;而注释信息一般是对服务程序的功能或某一 行参数进行介绍。

5. Apache 服务程序可以基于哪些资源来创建虚拟主机网站呢?

答:可以基于 IP 地址、主机名(域名)或者端口号创建虚拟主机网站。

6.相对于基于 IP 地址和基于主机名(域名)配置的虚拟主机网站来说,使用端口号配置虚 拟主机网站有哪些特点?  

答:在使用端口号来配置虚拟主机网站时,必须要考虑到 SELinux 域对 httpd 服务程序所 用端口号的控制策略,还要在 httpd 服务程序的主配置文件中使用 Listen 参数来开启要监 听的端口号。

如果想根据教程实践的朋友们可以通过阿里云ecs服务器免费试用和低价购买,入口如下

入口一:新人免费试用

入口二:大学生免费试用

入口三:低价服务器购买

入口四:低价服务器购买2

入口五:建站特惠购买

目录
相关文章
|
3月前
|
域名解析 网络协议 安全
在Linux中,想在命令行下访问某个网站,并且该网站域名还没有解析,如何做?
在Linux中,想在命令行下访问某个网站,并且该网站域名还没有解析,如何做?
|
17天前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
39 3
|
26天前
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
169 1
|
3月前
|
监控 前端开发 安全
在Linux中,假如公司网站访问速度变的很慢很慢,该如何处理?
在Linux中,假如公司网站访问速度变的很慢很慢,该如何处理?
|
5天前
|
数据处理 Apache 数据库
将 Python UDF 部署到 Apache IoTDB 的详细步骤与注意事项
【10月更文挑战第21天】将 Python UDF 部署到 Apache IoTDB 中需要一系列的步骤和注意事项。通过仔细的准备、正确的部署和测试,你可以成功地将自定义的 Python UDF 应用到 Apache IoTDB 中,为数据处理和分析提供更灵活和强大的支持。在实际操作过程中,要根据具体情况进行调整和优化,以确保实现最佳的效果。还可以结合具体的代码示例和实际部署经验,进一步深入了解和掌握这一过程。
11 2
|
21天前
|
存储 分布式计算 druid
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
40 3
|
26天前
|
Linux PHP Apache
CentOS 7.2配置Apache服务httpd(下)
CentOS 7.2配置Apache服务httpd(下)
45 1
|
27天前
|
存储 Linux
服务器数据恢复—Linux操作系统网站服务器数据恢复案例
服务器数据恢复环境: 一台linux操作系统网站服务器,该服务器上部署了几十个网站,使用一块SATA硬盘。 服务器故障&原因: 服务器在工作过程中突然宕机。管理员尝试重新启动服务器失败,于是将服务器上的硬盘拆下检测,发现很多坏扇区。联系当地的一家数据恢复公司处理,但是没有成功。
|
2月前
|
存储 数据挖掘 Linux
服务器数据恢复—Linux操作系统网站服务器数据恢复案例
服务器数据恢复环境: 一台linux操作系统服务器上跑了几十个网站,服务器上只有一块SATA硬盘。 服务器故障: 服务器突然宕机,尝试再次启动失败。将硬盘拆下检测,发现存在坏扇区
|
2月前
|
监控 安全 Linux
如何利用Kali Linux进行网站渗透测试:最常用工具详解
如何利用Kali Linux进行网站渗透测试:最常用工具详解
106 6