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

简介: 纸上得来终觉浅,绝知此事要躬行

前言

身为一个三年的运维工程师,从开发转测开再转运维,都是不断学习的过程,未必开发才是最优秀的,找到适合自己的职业不断深耕,你也会在自己的行业大放光彩,本系列依照《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

入口五:建站特惠购买

目录
相关文章
|
5月前
|
Linux 网络安全 Docker
盘古栈云,创建带ssh服务的linux容器
创建带ssh服务的linux容器
384 146
|
6月前
|
缓存 安全 Linux
六、Linux核心服务与包管理
在没有网络的情况下,使用系统安装光盘是获取RPM包的常用方法。场景二:配置本地文件镜像源 (使用系统安装光盘/ISO)(检查RPM包的GPG签名以保证安全) 或。YUM/DNF包管理工具 (yum/dnf)(此处可以放置您为本主题制作的思维导图)处理依赖问题的危险选项 (应极力避免)(覆盖文件、替换已安装包)。(list) 则是列出文件。(query file) 是。(假设系统安装光盘已挂载到。信息 (verbose)。(upgrade) 选项。(all) 已安装的包。(package) 选项
496 11
|
7月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
11月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
1371 25
|
11月前
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
519 17
|
Linux iOS开发 MacOS
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
362 0
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
|
Linux Docker 容器
Linux 中停止 Docker 服务报 warning 导致无法彻底停止问题如何解决?
在 Linux 系统中,停止 Docker 服务时遇到警告无法彻底停止的问题,可以通过系统管理工具停止服务、强制终止相关进程、检查系统资源和依赖关系、以及重置 Docker 环境来解决。通过以上步骤,能够有效地排查和解决 Docker 服务停止不彻底的问题,确保系统的稳定运行。
1043 19
|
监控 Linux
Linux systemd 服务启动失败Main process exited, code=exited, status=203/EXEC
通过以上步骤,可以有效解决 systemd 服务启动失败并报错 `Main process exited, code=exited, status=203/EXEC` 的问题。关键在于仔细检查单元文件配置、验证可执行文件的有效性,并通过日志分析具体错误原因。确保可执行文件路径正确、文件具有执行权限,并且可以独立运行,将有助于快速定位和解决问题。
5846 7
|
负载均衡 Ubuntu 应用服务中间件
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
1723 13
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
393 5
linux系统服务二!