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

入口五:建站特惠购买

目录
相关文章
|
2月前
|
Linux 网络安全 Docker
盘古栈云,创建带ssh服务的linux容器
创建带ssh服务的linux容器
280 146
|
3月前
|
缓存 安全 Linux
六、Linux核心服务与包管理
在没有网络的情况下,使用系统安装光盘是获取RPM包的常用方法。场景二:配置本地文件镜像源 (使用系统安装光盘/ISO)(检查RPM包的GPG签名以保证安全) 或。YUM/DNF包管理工具 (yum/dnf)(此处可以放置您为本主题制作的思维导图)处理依赖问题的危险选项 (应极力避免)(覆盖文件、替换已安装包)。(list) 则是列出文件。(query file) 是。(假设系统安装光盘已挂载到。信息 (verbose)。(upgrade) 选项。(all) 已安装的包。(package) 选项
339 11
|
5月前
|
NoSQL 关系型数据库 Linux
ERPNext 搭建教程:Linux 一键部署与维护
ERPNext 是一款开源免费的企业资源计划系统,适用于中小企业信息化管理。基于 Python 和 Frappe 框架开发,支持财务、销售、人力、库存等模块,具备高度可定制性。本文介绍如何通过 Websoft9 在 Linux 下快速部署 ERPNext,并提供环境配置、系统维护等实用建议,适合开发者和企业用户快速上手。
741 7
ERPNext 搭建教程:Linux 一键部署与维护
|
7月前
|
监控 Linux 应用服务中间件
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
2240 57
|
5月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
537 13
|
5月前
|
关系型数据库 Linux Nacos
Rocky Linux 部署 Docker 和 NACOS 实例
本文介绍在阿里云环境下基于 Rocky Linux 搭建 Docker 并部署 Nacos 的完整流程。涵盖 Docker 安装、镜像加速配置、网络设置及 MySQL 与 Nacos 容器的创建,适用于开发与生产环境。
733 0
|
7月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
393 41
|
7月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
511 17
|
7月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
160 18