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

入口五:建站特惠购买

目录
相关文章
|
2月前
|
Ubuntu Linux 测试技术
Linux系统之部署轻量级Markdown文本编辑器
【10月更文挑战第6天】Linux系统之部署轻量级Markdown文本编辑器
124 1
Linux系统之部署轻量级Markdown文本编辑器
|
2月前
|
搜索推荐 Linux 测试技术
Linux系统之部署homer静态主页
【10月更文挑战第11天】Linux系统之部署homer静态主页
85 41
Linux系统之部署homer静态主页
|
1月前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
46 5
linux系统服务二!
|
1月前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
51 3
linux系统服务!!!
|
2月前
|
运维 监控 Linux
Linux系统之部署Linux管理面板1Panel
【10月更文挑战第20天】Linux系统之部署Linux管理面板1Panel
118 3
Linux系统之部署Linux管理面板1Panel
|
1月前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
254 3
|
1月前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
111 3
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
70 2
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
45 3
|
2月前
|
Java Linux 网络安全
NIFI在Linux服务区上的部署配置过程是什么?
【10月更文挑战第21天】NIFI在Linux服务区上的部署配置过程是什么?
71 2
下一篇
DataWorks