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

入口五:建站特惠购买

目录
相关文章
|
4月前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
4月前
|
Ubuntu 应用服务中间件 Linux
在Linux中,如何配置Web服务器(如Apache或Nginx)?
在Linux中,如何配置Web服务器(如Apache或Nginx)?
|
4月前
|
Linux Apache
在Linux中,apache有几种工作模式,分别介绍下其特点,并说明什么情况下采用不同的工作模式?
在Linux中,apache有几种工作模式,分别介绍下其特点,并说明什么情况下采用不同的工作模式?
|
4月前
|
应用服务中间件 Linux 网络安全
在Linux中,如何配置Apache或Nginx Web服务器?
在Linux中,如何配置Apache或Nginx Web服务器?
|
4月前
|
Ubuntu 应用服务中间件 Linux
在Linux中,如何查看Apache或Nginx服务的状态?
在Linux中,如何查看Apache或Nginx服务的状态?
|
4月前
|
关系型数据库 Linux 网络安全
"Linux系统实战:从零开始部署Apache+PHP Web项目,轻松搭建您的在线应用"
【8月更文挑战第9天】Linux作为服务器操作系统,凭借其稳定性和安全性成为部署Web项目的优选平台。本文以Apache Web服务器和PHP项目为例,介绍部署流程。首先,通过包管理器安装Apache与PHP;接着创建项目目录,并上传项目文件至该目录;根据需要配置Apache虚拟主机;最后重启Apache服务并测试项目。确保防火墙允许HTTP流量,正确配置数据库连接,并定期更新系统以维持安全。随着项目复杂度提升,进一步学习高级配置将变得必要。
385 0
|
9天前
|
存储 人工智能 大数据
The Past, Present and Future of Apache Flink
本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。
277 33
The Past, Present and Future of Apache Flink
|
2月前
|
SQL Java API
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
826 13
Apache Flink 2.0-preview released
|
2月前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
89 3
下一篇
DataWorks