代码编织梦想

使用 Apache 服务部署静态网站

本文将完成:基于 httpd 服务程序实用功能的部署实验。包括:
(1)httpd 服务程序的基本安装部署
(2)网站主页和口令加密认证方式的实现 (3)基于 IP 地址、主机名(域名)、端口号部署虚拟主机
本文属实验环境,实验环境使用Vmware workstation中虚拟机完成演示。

          Web网络服务:用户通过浏览器 --> 搜索到互联网中各种资源的服务
          目前能够提供 Web 网络服务的程序有 IIS、Nginx 和 Apache

在这里插入图片描述

一、Apache 服务程序的部署

第一步:挂载光盘。

 挂载光盘命令:mount /dev/cdrom /mnt

在这里插入图片描述
第二步:配置本地yum源

配置思路:
新建repo文件:vi /etc/yum.repos.d/xiaobo.repo
文件中插入如下内容:具体详解请猛搓

[bash]
name=xiaobo
baseurl=file:///mnt
enabled=1
gpgcheck=0

在这里插入图片描述

第三步:使用yum安装 Apache 程序,服务名为httpd

配置命令:yum install httpd -y  
默认安装版本:查询命令 rpm -q httpd
         httpd-2.4.6-67.el7.centos.x86_64 

在这里插入图片描述

第四步:启动httpd 服务程序并加入到开机启动项中

配置命令:systemctl start httpd && systemctl enable httpd
        systemctl list-unit-files |grep enabled 查看开机启动服务
        netstat -tunlp | grep httpd  查看端口是否开启        

通过以上四步,基于Apache的网站服务程序已经搭建成功。

使用浏览器,输入web服务器IP地址可正常访问,服务器响应默认静态页面。

查看服务器IP地址:

配置命令:ifconfig

在这里插入图片描述
配置网络桥接方式:本人桥接vmnet0,自动获取IP地址,可提供局域网使用,需配置DHCP服务器。若无此环境可桥接VMnet1或vmnet8,手动配置IP地址即可访问web服务器。
在这里插入图片描述

二、httpd服务配置文件参数介绍

部署完网站程序,程序默认目录如下:

在这里插入图片描述

httpd.conf 参见参数描述如下:


vi /etc/httpd/conf/httpd.conf
过滤掉注释行内容,并输出到自定义的文件:
egrep -v "#|^$" /etc/httpd/conf/httpd.conf >1.conf
cat /etc/httpd/conf/httpd.conf >1.conf

在这里插入图片描述

三、网站服务器:虚拟主机功能

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

Apache 的虚拟主机功能是服务器基于用户请求的不同:有三种访问方式
(1)IP 地址
(2)主机域名
(3)端口号
实现提供多个网站同时为外部提供访问服务的技术。

(1)基于 IP 地址

如果一台服务器有多个 IP 地址,而且每个 IP 地址与服务器上部署的每个网站一一对应, 这样当用户请求访问不同的 IP 地址时,会访问到不同网站的页面资源。

第一步:给网卡配置多个IP地址。(已2个地址为例)
在这里插入图片描述
由于我的网络划分了子网,所以我的网关是172.28.91.254

在这里插入图片描述
网络测试通畅。

第二步:在网站虚拟主机目录中定义2个地址的目录数据。

在这里插入图片描述

[root@localhost ~]# mkdir -p /var/www/html/ip63
[root@localhost ~]# mkdir -p /var/www/html/ip64

创建2个目录,用来存放不同ip访问的数据。

在这里插入图片描述

<VirtualHost 172.28.90.63>
DocumentRoot /var/www/html/ip63
ServerName www.20jiwang.com

<Directory /var/www/html/ip63 >
AllowOverride None
Require all granted
</Directory>

</VirtualHost>


<VirtualHost 172.28.90.64>
DocumentRoot /var/www/html/ip64
ServerName bbs.20jiwang.com

<Directory /var/www/html/ip64 >
AllowOverride None
Require all granted
</Directory>

</VirtualHost>

在httpd主配置文件中插入虚拟主机的相关目录映射信息。

配置完成后一定要重启httpd服务

[root@localhost ~]# systemctl restart httpd

写入2个ip地址默认首页数据
在这里插入图片描述

[root@localhost ~]# echo "此网站的虚拟主机IP地址为:172.29.90.63" > /var/www/html/ip63/index.html
[root@localhost ~]# echo "此网站的虚拟主机IP地址为:172.29.90.64" > /var/www/html/ip64/index.html

效果测试:
在这里插入图片描述
在这里插入图片描述
如需域名访问请结合DNS解析,这里已写hosts文件演示。
在这里插入图片描述
效果:
在这里插入图片描述
在这里插入图片描述

(2)基于域名

场景为Web网站服务器为一个IP地址,需为多个域名提供服务。(域名解析在生产环境需结合DNS使用,此文演示使用hosts文件)

编辑web服务器hosts文件
在这里插入图片描述
在这里插入图片描述

[root@localhost ~]# mkdir -p /var/www/html/www
[root@localhost ~]# mkdir -p /var/www/html/bbs
建立网站文件存放目录

在这里插入图片描述
修改httpd主配置文件,映射域名对应的目录

在这里插入图片描述
写本地hosts文件,目的用来测试。

效果测试:
在这里插入图片描述
在这里插入图片描述

(3)基于端口号

第一步:建立不同端口的对应网站数据目录。

[root@localhost ~]# mkdir -p /var/www/html/9091
[root@localhost ~]# mkdir -p /var/www/html/9090

第二步:在httpd主配置文件中增加监听端口
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201211121244144.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2p4YjUxMzY1MTYwOA==,size_16,color_FFFFFF,t_70在这里插入图片描述

[root@localhost ~]# vi /etc/httpd/conf/httpd.conf
Listen 9091
Listen 9090

第三步:映射端口目录

在这里插入图片描述

[root@localhost ~]# vi /etc/httpd/conf/httpd.conf
<VirtualHost 172.28.90.63:9091>
DocumentRoot /var/www/html/9091
ServerName www.20jiwang.com

<Directory /var/www/html/9091 >
AllowOverride None
Require all granted
</Directory>

</VirtualHost>


<VirtualHost 172.28.90.63:9090>
DocumentRoot /var/www/html/9090
ServerName bbs.20jiwang.com

<Directory /var/www/html/9090 >
AllowOverride None
Require all granted
</Directory>

</VirtualHost>

第四步:在selinux中放行监听端口9091和9090

[root@localhost ~]# semanage port -m -t http_port_t -p tcp 9091
[root@localhost ~]# semanage port -m -t http_port_t -p tcp 9090

第五步:监听端口放行防火墙

[root@localhost ~]# firewall-cmd --zone=public --add-port=9091/tcp --permanent 

[root@localhost ~]# firewall-cmd --zone=public --add-port=9090/tcp --permanent 
[root@localhost ~]# firewall-cmd --reload

第六步:重启httpd服务

[root@localhost ~]# systemctl restart httpd

第七步:写入首页数据

[root@localhost ~]# echo "此网站端口为:8080" > /var/www/html/8080/index.html
[root@localhost ~]# echo "此网站端口为:9090" > /var/www/html/9090/index.html

第八步:测试
在这里插入图片描述

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/jxb513651608/article/details/110947643

PXE远程安装和Kickstart无人值守安装 技术文档 傻瓜式教学-爱代码爱编程

部署PXE远程安装服务和Kickstart无人值守安装 应用场景搭建PXE远程安装服务器1.安装并启用TFTP服务2.安装并启用DHCP3,准备Linux内核,初始化镜像文件4.准备PXE引导程序5.安装FTP服务,准备CentOS7安装源6.配置启动菜单文件7.关闭防火墙,验证PXE网络安装实现 Kickstart 无人值守安装2.打开"Kick

一.Ansible的安装及部署-爱代码爱编程

实验环境: 服务端:Ansible 172.25.2.100 还要搭建好软件仓库 受控主机: node1 172.25.2.10 node2 172.25.2.20 一.Ansible对于企业运维的重大意义 ansible是自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的

多节点OpenStack Charms 部署指南0.0.1.dev223--8--配置 OpenStack-爱代码爱编程

目录:第一节 多节点OpenStack Charms 部署指南0.0.1.dev223–1--OpenStack Charms 部署指南第二节 多节点OpenStack Charms 部署指南0.0.1.dev223–2-安装MAAS 第三节 多节点OpenStack Charms 部署指南0.0.1.dev223–3-安装Juju 第四节 多节点Op

系统架构师从入门到精通1.0 网络引导批量安装CentOS7系统-爱代码爱编程

前言 老黑十余年IT从业经历中,对于安装操作系统是深恶痛绝的,一路从windows server安装、rhel安装,centos安装走来,从起初的自己摸索,再到后来阅读和参考网络上的资料,总结并运用到实际工作中的安装方法还真是多种多样呀,有光盘,U盘,硬盘,网络,各种引导,鼠标一路点点点,再到鼠标加键盘,慢慢越装越专业了。老黑在互联网上各位网友的专业安装

八、Service – 统一入口访问应用-爱代码爱编程

概述 • 防止Pod失联(服务发现) • 定义一组Pod的访问策略(负载均衡) • 支持ClusterIP,NodePort以及LoadBalancer三种类型 • Service的底层实现主要有iptables和ipvs二种网络模式 如果要确保每次都将来自特定客户端的连接传递到同一Pod, 通过设置service.spec.sessionAffinit

Serverless 架构下的服务优雅下线实践-爱代码爱编程

作者 | 行松 阿里巴巴云原生团队 来源 | Serverless 公众号,整理自《Serverless 技术公开课》 应用发布、服务升级一直是一个让开发和运维同学既兴奋又担心的事情。 兴奋的是有新功能上线,自己的产品可以对用户提供更多的能力和价值;担心的是上线的过程会不会出现意外情况影响业务的稳定性。确实,在应用发布和服务升级时,线上问题出现的可

LNMP搭建的Nginx安装-爱代码爱编程

下载和解压Nginx # wget http://nginx.org/download/nginx-1.10.3.tar.gz # tar zxvf nginx-1.10.3.tar.gz 配置编译选项 # ./configure --prefix=/usr/local/nginx 编译和安装Nginx # make && m

PXE远程安装和Kickstart无人值守安装 技术文档 傻瓜式教学-爱代码爱编程

部署PXE远程安装服务和Kickstart无人值守安装 应用场景搭建PXE远程安装服务器1.安装并启用TFTP服务2.安装并启用DHCP3,准备Linux内核,初始化镜像文件4.准备PXE引导程序5.安装FTP服务,准备CentOS7安装源6.配置启动菜单文件7.关闭防火墙,验证PXE网络安装实现 Kickstart 无人值守安装2.打开"Kick

高校计划续用考试题目-爱代码爱编程

阿里云高校计划续费考试题目分析 阿里云高校计划经过学生认证后可以免费领取六个月的ESC,我已经考过,比较简单,我说一下我遇到的题目吧,十道题,我遇到的都是选择题 考试链接,阿里云高校计划-学生 1,广域网提供的两种服务模式 © A,虚电路方式和总线型方式 B,总线型方式和星型方式 C,虚电路方式和数据报方式 D,数据报和总线型方式 2,网络协议的三要素(

Linux常用命令及参数(1)-爱代码爱编程

ls命令 就是 list 的缩写,通过 ls 命令不仅可以查看 linux 文件夹包含的文件,而且可以查看文件权限(包括目录 、文件夹、文件权限)查看目录信息等等。 常用参数搭配: ls -a 列出目录所有文件,包含以.开始的隐藏文件 ls -A 列出除.及..的其它文件 ls -r 反序排列 ls -t 以文件修改时间排序 ls -S 以文件大小排序

使用Docker搭建Redis集群2020-爱代码爱编程

在接口服务中,如果每一次都进行数据库查询,那么必然会给数据库造成很大的并发压力。所以需要为接口添加缓 存,缓存技术选用Redis,并且使用Redis的集群,Api使用Spring-Data-Redis。 #拉取镜像 docker pull redis:5.0.2 docker的网络类型 None:不为容器配置任何网络功能,没有网络 --net=

conda创建python环境-爱代码爱编程

1 列出当前存在的环境 可以用以下命令罗列出当前已经创建的python虚拟环境 conda env list 罗列结果如下所示: 左边是虚拟环境的名称,右边是其所在路径,带星号的表示是默认环境。 2 创建虚拟环境 可以用如下命令创建一个名字为my_py_env,python版本为3.6.2的虚拟环境。 conda create -n my_