【Liunx】部署WEB服务:Apache

news/2024/10/22 16:31:21/

【Liunx】部署WEB服务:Apache

  • 概述
  • Apache
    • 1.介绍
    • 2.Apache文件路径
    • 3.Apache详解
      • (1)安装Apache
      • (2)启动Apache
      • (3)配置文件
        • a.Apache主配置文件:vim /etc/httpd/conf/httpd.conf信息:
        • b.基于主机头的虚拟主机
      • (4)开始演示:
        • a.新建两个网站根目录
        • b.分别在两个网站根目录新建两个index.html
        • c. 新建虚拟机的配置文件
        • d.重启服务
        • e.为了解析出circle.com本地域名:需要修改named配置文件
        • f.访问我们定义的域名:结果如下

概述

  • HTTP协议,全称HyperText Transfer Protocol,中文名为超文本传输协议,是互联网中最常用的一种网络协议。HTTP的重要应用之一是WWW服务。设计HTTP协议最初目的就是提供一种发布和接收HTML(一种页面标记语言)页面的方法(请求返回)。
  • HTTP协议是互联网上常用的通信协议之一。它有很多的应用,但最流行的就是用于Web浏览器和Web服务器之间的通信,即WWW应用或称Web应用。
  • WWW,全称World Wide Web,常称为Web,中文译为“万维网”。它是目前互联网上最受用户欢迎的信息服务形式。HTTP协议的WWW服务应用的默认端口为80(端口的概念),另外的一个加密的WWW服务应用https的默认端口为443,主要用于网银,支付等和钱相关的业务。当今,HTTP服务,WWW服务,Web服务三者的概念已经混淆了,都是指当下最常见的网站服务应用。

Apache

1.介绍

  • Apache是世界使用排名第一的Web服务器软件。它可以运行在凡乎所有广泛使用的计算机平台上。
  • Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自"a patchy server"的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。

2.Apache文件路径

  • 软件包名: httpd
  • 默认Web目录: /var/www/html
  • 配置文件主目录: /etc/httpd/
  • 主配置文件: /etc/httpd/conf/httpd.conf

3.Apache详解

(1)安装Apache

yum install -y httpd

(2)启动Apache

systemctl start httpd

在这里插入图片描述

显示如图:证明 Apache已正常启动
在这里插入图片描述

(3)配置文件

a.Apache主配置文件:vim /etc/httpd/conf/httpd.conf信息:
ServerRoot "/etc/httpd" //服务器安装的路径
Listen 80 //监听端口
Include conf.modules.d/*.conf //引用 conf.modules.d下的.conf模块配置文件
User apache //运行用户apache
Group apache //运行用户组
ServerAdmin root@localhost //如果Apache运行出错发送的邮箱地址
<Directory /> //项目根目录,访问根目录拒绝AllowOverride noneRequire all denied 
</Directory>
DocumentRoot "/var/www/html" //网站主目录
<Directory "/var/www"> // /var/www 允许访问AllowOverride None# Allow open access:Require all granted
</Directory>
<Directory "/var/www/html">Options Indexes FollowSymLinks //运行使用连接等方式AllowOverride NoneRequire all granted
</Directory>
<IfModule dir_module>DirectoryIndex index.html //默认访问页面index.html
</IfModule>
<Files ".ht*">Require all denied //禁用
</Files>
ErrorLog "logs/error_log" //错误日志
LogLevel warn //警告等级
<IfModule log_config_module> //日志格式LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedLogFormat "%h %l %u %t \"%r\" %>s %b" common<IfModule logio_module>LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio</IfModule>CustomLog "logs/access_log" combined
</IfModule><IfModule alias_module>ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
</IfModule>
<Directory "/var/www/cgi-bin">AllowOverride NoneOptions NoneRequire all granted
</Directory>
<IfModule mime_module> //运行文件类型TypesConfig /etc/mime.typeAddType application/x-compress .ZAddType application/x-gzip .gz .tgzAddType text/html .shtmlAddOutputFilter INCLUDES .shtml
</IfModule>
AddDefaultCharset UTF-8 //默认编码<IfModule mime_magic_module>MIMEMagicFile conf/magic
</IfModule>
EnableSendfile on
IncludeOptional conf.d/*.conf //引入conf.d/的所有.conf文件
b.基于主机头的虚拟主机
<VirtualHost *:自定义端口>	
ServerName www.circle.com #在ServerName后加上你的网站名称
ServerAdmin admin@circle.com #在ServerAdmin后加上网站管理员的电子邮件地址,方便别人有问题是可以联络网站管理员
DocumentRoot /var/www/html #在DocumentRoot后加上存放网站内容的目录路径(用户的个人目录)
</VirtualHost>

(4)开始演示:

a.新建两个网站根目录
[root@server1 conf.d]# mkdir /var/www/html/web{1,2}
[root@server1 conf.d]# cd /var/www/html/
[root@server1 html]# ls -l
总用量 0
drwxr-xr-x 2 root root 101  82 14:12 exam
drwxr-xr-x 2 root root   6 1114 06:34 web1
drwxr-xr-x 2 root root   6 1114 06:34 web2
b.分别在两个网站根目录新建两个index.html
[root@server1 html]# vi web1/index.html
[root@server1 html]# vi web2/index.html
[root@server1 html]# ls web1
index.html
[root@server1 html]# ls web2
index.html
c. 新建虚拟机的配置文件
[root@server1 html]# cd /etc/httpd/conf.d/
[root@server1 conf.d]# vi web1.conf
[root@server1 conf.d]# vi web2.conf
[root@server1 conf.d]# cat web1.conf 
<VirtualHost 192.168.122.1:80>ServerName www.circle.comServerAdmin admin@circle.comDocumentRoot /var/www/html/web1
</VirtualHost>
[root@server1 conf.d]# cat web2.conf 
<VirtualHost 192.168.122.1:80>ServerName admin.circle.comServerAdmin admin@circle.comDocumentRoot /var/www/html/web2
</VirtualHost>
d.重启服务
systemctl restart httpd
e.为了解析出circle.com本地域名:需要修改named配置文件
vi /etc/named.conf

修改后的文件内容如下

[root@server1 named]# cat /etc/named.conf 
options {listen-on port 53 { 192.168.122.1; };directory "/var/named";allow-query { any; };
};zone "uos.com" IN {type	master;file	"uos.com.db";
};zone "circle.com" IN {type    master;file    "circle.com.db";
};zone	"."	IN {type	hint;file	"named.ca";
};
[root@server1 named]# cp -p uos.com.db circle.com.db
[root@server1 named]# ls -l
总用量 28
-rw-r----- 1 root  named  246 1113 16:29 circle.com.db
drwxrwx--- 2 named named    6 1012  2022 data
drwxrwx--- 2 named named    6 1012  2022 dynamic
-rw-r----- 1 root  named 2253 1012  2022 named.ca
-rw-r----- 1 root  named  152 1012  2022 named.empty
-rw-r----- 1 root  named  152 1012  2022 named.localhost
-rw-r----- 1 root  named  168 1012  2022 named.loopback
drwxrwx--- 2 named named    6 1012  2022 slaves
-rw-r----- 1 root  named  246 1113 16:29 uos.com.db
-rw-r----- 1 root  named  238 1113 16:07 uos.com.files
[root@server1 named]# vi circle.com.db 
[root@server1 named]# cat circle.com.db 
$TTL 1D
@	IN SOA	ns.circle.com root.ns.circle.com. (0	; serial1D	; refresh1H	; retry1W	; expire3H )	; minimumIN	NS	ns.circle.com.
ns	IN	A	192.168.122.1
www	IN	A	192.168.122.1
admin	IN	A	192.168.122.1
oa	IN	A	192.168.122.1
[root@server1 named]# systemctl restart named
f.访问我们定义的域名:结果如下
[root@server1 named]# curl www.circle.com
this is web1;
[root@server1 named]# curl admin.circle.com
this is web2;
[root@server1 named]# 

http://www.ppmy.cn/news/1217760.html

相关文章

java实现插入排序

图解 以下是Java实现插入排序的代码&#xff1a; public class InsertionSort {public static void main(String[] args) {int[] arr {5, 2, 4, 6, 1, 3};insertionSort(arr);System.out.println(Arrays.toString(arr)); // output: [1, 2, 3, 4, 5, 6]}public static void i…

JavaEE初阶(18)(JVM简介:发展史,运行流程、类加载:类加载的基本流程,双亲委派模型、垃圾回收相关:死亡对象的判断算法,垃圾回收算法,垃圾收集器)

接上次博客&#xff1a;初阶JavaEE&#xff08;17&#xff09;Linux 基本使用和 web 程序部署-CSDN博客 目录 JVM 简介 JVM 发展史 JVM 运行流程 JVM的内存区域划分 JVM 执行流程 堆 堆的作用 JVM参数设置 堆的组成 垃圾回收 堆内存管理 类加载 类加载的基本流…

通讯协议学习之路(实践部分):IIC开发实践

通讯协议之路主要分为两部分&#xff0c;第一部分从理论上面讲解各类协议的通讯原理以及通讯格式&#xff0c;第二部分从具体运用上讲解各类通讯协议的具体应用方法。 后续文章会同时发表在个人博客(jason1016.club)、CSDN&#xff1b;视频会发布在bilibili(UID:399951374) 本文…

记录一种引起 CL.exe/ C++ 编译器无任何提示直接崩溃的问题

只需定义在源文件或公共引入的头文件之中&#xff0c;编译必定CL.exe 退出&#xff0c;错误代码2&#xff0c;它不会产生任何语法意义上的错误提示&#xff0c;感兴趣的可以记录下。 引发崩溃的代码&#xff1a; template <typename T> class IS_CONFIG_LOADER_T_CLASS…

【ATTCK】ATTCK开源项目Caldera学习笔记

CALDERA是一个由python语言编写的红蓝对抗工具&#xff08;攻击模拟工具&#xff09;。它是MITRE公司发起的一个研究项目&#xff0c;该工具的攻击流程是建立在ATT&CK攻击行为模型和知识库之上的&#xff0c;能够较真实地APT攻击行为模式。 通过CALDERA工具&#xff0c;安全…

63基于matlab的生物地理的优化器(BBO)被用作多层感知器(MLP)的训练器。

基于matlab的生物地理的优化器&#xff08;BBO&#xff09;被用作多层感知器&#xff08;MLP&#xff09;的训练器。粒子群优化&#xff08;PSO&#xff09;、蚁群优化&#xff08;ACO&#xff09;、遗传算法&#xff08;GA&#xff09;、进化策略&#xff08;ES&#xff09;和…

【C/C++底层】内存分配:栈区(Stack)与堆区(Heap)

/*** poject * author jUicE_g2R(qq:3406291309)* file 底层内存分配&#xff1a;栈区(Stack)与堆区(Heap)* * language C/C* EDA Base on MVS2022* editor Obsidian&#xff08;黑曜石笔记软件&#xff09;* * copyright 2023* COPYRIGHT …

Arduino驱动SHT1x系列数字温湿度传感器(温湿度传感器)

目录 1、传感器特性 2、控制器和传感器连线图 3、驱动程序 瑞士Sensirion公司推出了SHT1x单片数字温湿度集成传感器。采用CMOS微加工专利技术(CMOSenstechnology),确保产品具有极高的可靠性和出色的长期稳定性。该传感器由1个电容式聚合体测湿元件和1个能隙式测温元件组成…