APACHE 服务
- 格式:ppt
- 大小:292.50 KB
- 文档页数:39
Apache服务器的设置文件位于/usr/local/apache/conf/目录下,传统上使用三个配置文件httpd.conf,access.conf和srm.conf,来配置Apache服务器的行为。
httpd.conf提供了最基本的服务器配置,是对守护程序httpd如何运行的技术描述;srm.conf是服务器的资源映射文件,告诉服务器各种文件的MIME类型,以及如何支持这些文件;access.conf用于配置服务器的访问权限,控制不同用户和计算机的访问限制;这三个配置文件控制着服务器的各个方面的特性,因此为了正常运行服务器便需要设置好这三个文件。
除了这三个设置文件之外,Apache还使用mime.types文件用于标识不同文件对应的MIME类型,magic文件设置不同MIME类型文件的一些特殊标识,使得Apache 服务器从文档后缀不能判断出文件的MIME 类型时,能通过文件内容中的这些特殊标记来判断文档的MIME类型。
bash-2.02$ ls -l /usr/local/apache/conftotal 100-rw-r--r-- 1 root wheel 348 Apr 16 16:01 access.conf-rw-r--r-- 1 root wheel 348 Feb 13 13:33 access.conf.default-rw-r--r-- 1 root wheel 30331 May 26 08:55 httpd.conf-rw-r--r-- 1 root wheel 29953 Feb 13 13:33 httpd.conf.default-rw-r--r-- 1 root wheel 12441 Apr 19 15:42 magic-rw-r--r-- 1 root wheel 12441 Feb 13 13:33 magic.default-rw-r--r-- 1 root wheel 7334 Feb 13 13:33 mime.types-rw-r--r-- 1 root wheel 383 May 13 17:01 srm.conf-rw-r--r-- 1 root wheel 357 Feb 13 13:33 srm.conf.default事实上当前版本的Apache将原来httpd.conf、srm.conf与access.conf中的所有配置参数均放在了一个配置文件httpd.conf中,只是为了与以前的版本兼容的原因(使用这三个设置文件的方式来源于NCSA-httpd),才使用三个配置文件。
CentOS7Apache服务的安装与配置⼀、Apache简介Apache 是⼀个知名的开源Web服务器。
早期的Apache服务器由Apache Group来维护,直到1999年6⽉Apache Group在美国德拉⽡市成⽴了⾮盈利性组织的公司,即Apache软件基⾦会(Apache Software Foundation,ASF)。
⽹站需要web服务器来架构,⽹页设计美⼯⼈员(flash,dreamweaver,firework,photoshop等),⽹页开发⼈员(php,.net,jsp等),⽹站建⽴好后,需要我们维护,优化,排错,架构延伸扩容等。
简单点说就是我们如果要浏览⼀个⽹页的话,基本上所有的⽹站都使⽤的是http协议来进⾏数据传输的!⾄于怎么样传输,我们做为运维来说就没有必要去深究了,那是做html前端开发⼈员要去考虑的事情!Apache由内核、标准模块和第三⽅提供的模块三个层次组成。
通常Apache在默认安装时,只安装图中的1、2两部分。
根据⽤户需要,⽤户可以通过修改配置去掉⼀些默认安装的标准模块;也可以通过修改配置安装⼀些默认不安装的模块。
同时,如果⽤户需要,也可以安装⼀些第三⽅提供的模块。
[此⽹站会有每⽉份的世界上⽹站使⽤的WEB服务器的使⽤率统计](https:///archives/category/web-server-survey/)Apache是世界上应⽤最⼴泛的web服务器之⼀[ Apache官⽹](/)⼆、CentOS下的Apache1. ⽹站分为两种静态⽹站:Apache,Nginx,html动态⽹站:php/perl/python,jsp(java), .net2. Apache服务概览软件包: httpd, httpd-devel, httpd-manual服务类型:由systemd启动的守护进程配置单元: /usr/lib/systemd/system/httpd.service守护进程: /usr/sbin/httpd端⼝: 80(http), 443(https)配置: /etc/httpd/Web⽂档: /var/www/html/Apache⽇志记录⽬录:/var/log/httpd/该⽬录下有两种⽂件:access_log # 记录客户端访问Apache的信息,⽐如客户端的iperror_log # 记录访问页⾯错误信息Apache服务启动的记录⽇志:/var/log/messages # 这个⽇志是系统的⼤集合3. 配置Apache服务器的准备⼯作系统平台: CentOS 7.3DHCP Server: 192.168.1.20第1步:服务器设置静态IP第2步:更改主机名,写/etc/hosts记录[root@Apache ~]# echo "192.168.1.20 Apache" >> /etc/hosts --往/etc/hosts添加ip和主机名[root@Apache ~]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.1.20 Apache第3步:关闭防⽕墙[root@Apache ~]# systemctl stop firewalld --临时关闭防⽕墙[root@Apache ~]# systemctl disable firewalld --永久关闭防⽕墙第4步:关闭selinux临时关闭:[root@Apache ~]# setenforce 0setenforce: SELinux is disabled永久关闭:[root@Apache ~]# vim /etc/selinux/configSELINUX=disabled # 将enforcing改为disabled[root@Apache ~]# reboot --重启系统永久⽣效三、Apache服务的搭建与配置1. 使⽤yum包安装Apache软件[root@Apache ~]# yum -y install httpd*[root@Apache ~]# rpm -qa | grep httpd --查看安装的http包httpd-manual-2.4.6-67.el7.centos.6.noarchhttpd-tools-2.4.6-67.el7.centos.6.x86_64httpd-2.4.6-67.el7.centos.6.x86_64httpd-devel-2.4.6-67.el7.centos.6.x86_64安装成功后,会产⽣下⾯两个⽂件/etc/httpd/conf/httpd.conf # 主配置⽂件/var/www/html # 默认⽹站家⽬录2. 认识配置⽂件⾥的主要参数[root@Apache ~]# vim /etc/httpd/conf/httpd.conf31 serverRoot "/etc/httpd" # 存放配置⽂件的⽬录42 Listen 80 # Apache服务监听端⼝66 User apache # ⼦进程的⽤户67 Group apache # ⼦进程的组86 ServerAdmin root@localhost # 设置管理员邮件地址119 DocumentRoot "/var/www/html" --⽹站家⽬录# 设置DocumentRoot指定⽬录的属性131 <Directory "/var/www/html"> # ⽹站容器开始标识144 Options Indexes FollowSymLinks # 找不到主页时,以⽬录的⽅式呈现,并允许链接到⽹站根⽬录以外151 AllowOverride None # none不使⽤.htaccess控制,all允许156 Require all granted # granted表⽰运⾏所有访问,denied表⽰拒绝所有访问157 </Directory> # 容器结束164 DirectoryIndex index.html # 定义主页⽂件,当访问到⽹站⽬录时如果有定义的主页⽂件,⽹站会⾃动访问316 AddDefaultCharset UTF-8 # 字符编码,如果中⽂的话,有可能需要改为gb2312或者gbk,因你的⽹站⽂件的默认编码⽽异3. 启动Apache⽹站[root@Apache ~]# systemctl start httpd.service[root@Apache ~]# lsof -i:80 --查看httpd服务是否启动COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEhttpd 20585 root 4u IPv6 402909 0t0 TCP *:http (LISTEN)httpd 20586 apache 4u IPv6 402909 0t0 TCP *:http (LISTEN)httpd 20587 apache 4u IPv6 402909 0t0 TCP *:http (LISTEN)httpd 20588 apache 4u IPv6 402909 0t0 TCP *:http (LISTEN)httpd 20589 apache 4u IPv6 402909 0t0 TCP *:http (LISTEN)httpd 20590 apache 4u IPv6 402909 0t0 TCP *:http (LISTEN)启动成功后使⽤浏览器:输⼊⾃⼰的IP地址会看到⼀个红帽的欢迎页⾯:[root@Apache ~]# firefox 192.168.1.20每次打开浏览器不是很⽅便,因此我们可以使⽤⽂本浏览器,⽅便测试。
Apache服务器是目前全球使用最广泛的Web服务器软件之一,它是自由开源软件,促进了现代Web的发展和普及。
下文将从Apache的历史、特点、功能、优缺点和应用案例五个方面来详细介绍。
一、历史Apache的名字来源于"NCSA HTTPd"软件的名称,是"Well-known Apache"项目的缩写。
这个项目创造了跨平台应用的框架,具有丰富的功能和性能,引领了Web服务器发展的潮流。
在1995年成为开源软件后,Apache迅速发展成为运行在全球4300万台Web服务器中占据绝对优势的服务器软件。
二、特点1.免费性Apache是自由软件,遵循Apache License 2.0协议,可免费使用,没有许可证限制。
由巨大的社区支持开发和维护,多数Linux 版本和其他操作系统中都有Apache预置安装。
2.跨平台性Apache可在主流操作系统(如Windows、Linux、Mac OS X 等)上运行,支持多种编程语言和数据库。
而且Apache在多个CPU和核心上具有很好的可伸缩性,只需在服务器上添加CPU或内存即可扩充。
3.模块化Apache可以使用模块化方式实现额外的功能。
例如自定义错误页面、URL重写、SSL加密、反向代理、访问控制、虚拟主机等。
另外Apache的用户可以自定义模块,以实现特殊功能。
4.安全性在设计上有着许多安全措施。
例如可配置的访问控制、IP地址限制、目录浏览控制、密码保护等等。
此外,Apache主页还提供了丰富的安全插件,并有对安全问题的快速响应和修复。
5.易于维护和扩展Apache的灵活性和可扩展性,使得维护工作变得更加容易。
其模块化的设计使其具有足够的灵活性,使您可以轻松地添加或删除功能。
同时,Apache有一个很好的文档和社区支持,使得初学者也可以轻松上手。
三、功能1、HT 特性:HT 是 Apache 引擎的核心部分,它的主要任务是计算 Apache 如何处理请求和响应。
apache原理
Apache是一种开源的Web服务器软件,它的原理是基于客户端-服务器模型。
其工作流程如下:
1. 客户端发送一个HTTP请求到Apache服务器。
2. Apache服务器接收到请求后,会根据请求的URL路径来确定对应的处理程序或静态文件。
3. 如果请求的资源是一个静态文件,Apache会直接返回该文件给客户端。
4. 如果请求的资源是一个动态页面,Apache会根据配置文件将请求传递给对应的处理程序(如PHP解释器)来生成动态内容。
5. 处理程序生成动态内容后,将结果返回给Apache服务器。
6. Apache服务器将处理程序返回的结果作为HTTP响应,发送给客户端。
7. 客户端收到响应后,会解析HTML并根据需要加载其他相关的资源(如CSS、JavaScript等)。
8. 客户端展示网页内容给用户。
Apache的工作原理基于多线程或多进程的模式来处理并发请求。
通过配置文件,可以设置Apache服务器的最大并发连接数、请求队列大小等参数,以提高服务器的性能和稳定性。
此外,Apache还提供了一系列的扩展模块,可以根据需要添加到服务器中,以实现例如SSL加密、模块化的身份验证、URL重写等功能。
总之,Apache是一个可靠且强大的Web服务器软件,通过处
理客户端的请求,并将静态文件或动态内容返回给客户端,使人们能够通过互联网访问网站和应用程序。
《组网技术》 第06课1.教学目的:使学生熟练掌握Linux环境常规与高级WEB服务和配置、验证方法。
使学生了解Linux环境LAMP及HTTPS相关知识2.教学内容:⑴Apache 常规服务器的配置⑵站点配置后的一般检测步骤和方法⑶Apache 高级服务器的配置⑷LAMP模型⑸实现HTTPS3.内容难点:配置Apache 虚拟主机Apache访问控制与安全网站4.学习要求:理解Web服务器的概念,正确建立和配置WEB 服务器。
在客户端检验WEB 服务器。
5.教学纲要㈠ Apache服务器非图形工具配置方法从上一讲中Apache服务器图形工具配置方法中可以知道,Apache服务器的核心配置文件是/etc/httpd.conf/conf/httpd.conf。
httpd.conf是Apache服务器中最核心的配置文件,大部分的设置都是通过该文件来完成的。
httpd.conf文件的内容非常多,其中包含很多的注释与说明,用来告诉读者可以提供哪些功能以及用法等。
从下图中Apache服务器图形工具配置的界面可以领略到httpd.conf文件的内容。
还有一些隐性的设置不能从中解读到。
主要的几种配置参数①Apache服务器根目录设置字段ServerRoot本字段用来设置Apache服务器的配置文件、错误文件和日志文件的存放目录。
默认情况下为:ServerRoot "/etc/httpd"可以根据需要进行修改。
②Apache服务器客户端连接数限制字段MaxClients<IfModule prefork.c>StartServers 8MinSpareServers 5MaxSpareServers 20ServerLimit 256MaxClients 256MaxRequestsPerChild 4000</IfModule>③设置主机名称字段ServerNameServerName字段定义服务器名称和端口号,用以标明自己的身份。
Linux——搭建Apache(httpd)服务器⼀、基本概念Apache(或httpd)是Internet上使⽤最多的Web服务器技术之⼀,使⽤的传输协议是http超⽂本传输协议(⼀个基于超⽂本的协议),⽤于通过⽹络连接来发送和接受对象。
有两个版本:http:超⽂本传输协议,通过线路以明⽂形式发送,默认情况下使⽤80/TCP(也可以使⽤其他端⼝)https:经TLS/SSL安全加密的超⽂本传输协议,默认情况下使⽤端⼝443/TCP⼆、了解Apache的配置⽂件1、配置⽂件的分类在Linux系统中配置服务,其实就是修改服务的配置⽂件,httpd服务程序的主要配置⽂件及存放位置如下:配置⽂件的名称存放位置服务⽬录/etc/httpd主配置⽂件/etc/httpd/conf/httpd.conf虚拟主机配置⽂件/etc/httpd/conf.d⽇志⽂件/etc/httpd/logs⽹站数据⽬录/var/www/html2、主配置⽂件的重要参数主配置⽂件/etc/httpd/conf/httpd.conf参数⽤途ServerRoot服务⽬录ServerAdmin管理员邮箱User运⾏服务的⽤户Group运⾏服务的⽤户组ServerName⽹站服务器的域名DocumentRoot⽂档根⽬录(⽹站数据⽬录)Directory⽹站数据⽬录的权限Listen监听的IP地址与端⼝号DirectoryIndex默认的索引页页⾯ErrorLog错误⽇志⽂件CustomLog访问⽇志⽂件Timeout⽹页超时时间,默认为300秒3、Directory标签<Directory "/var/www/html">AllowOverride None #设置.htaccess⽂件中的指令类型,None表⽰禁⽌使⽤.htaccess,该参数⼀般不改Require all granted #设置权限,默认开启所有客户机访问权限</Directory>三、如何配置Apache服务器⾸先准备:主机名、⽹络、yum源1、更改主机名:[root@localhost ~]# hostnamectl set-hostname $主机名[root@localhost ~]# bash #环境变量重载2、配置⽹络(1)虚拟交换机、⽹络适配器选择仅主机模式,并且配置为192.168.100.0⽹段;(2)编辑⽹络配置⽂件:[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33修改: BOOTPROTO=static #改为静态IP地址ONBOOT=yes #改为开机⾃启IPADDR=192.168.100.10PREFIX=24 或者 NETMASK=255.255.255.0(3)重启⽹络服务:[root@localhost ~]# systemctl restart network3、配置yum源(1)先在VMware⾥⾯把系统镜像⽂件连接到虚拟机的光驱上;(2)挂载光驱⾥的镜像:[root@localhost ~]# mount /dev/cdrom /media(3)修改yum源配置⽂件:[root@localhost ~]# vim /etc/yum.repos.d/local.repo[rhel]name=rhelbaseurl=file:///mediaenabled=1gpgcheck=0(4)清空yum源缓存信息:[root@localhost ~]# yum clean all(5)检索当前yum源信息:[root@localhost ~]# yum repolist任务⼀:配置简单的httpd服务1、安装httpd服务[root@server ~]# yum -y install httpd2、启动httpd服务[root@server ~]# systemctl restart httpd[root@server ~]# systemctl enable httpd3、配置防⽕墙[root@server ~]# firewall-cmd --permanent --add-service=http[root@server ~]# firewall-cmd --reload4、关闭SELinux[root@server ~]# setenforce 05、客户端测试[root@client ~]# firefox http://IP地址或者 curl http://IP地址任务⼆:配置基于⽤户的个⼈⽹站注意:该⽤户必须在Linux系统中存在1、新建⼀个⽤户(⽹站基于该⽤户)[root@server ~]# useradd user0[root@server ~]# passwd user02、修改⽤户的家⽬录权限,使其他⽤户具有读取和执⾏的权限[root@server ~]# chmod -R 705 /home/user03、创建存放⽤户个⼈主页空间的⽬录,写user0的⽹页⽂件[root@server ~]# mkdir /home/user0/public_html[root@server ~]# cd /home/user0/public_html[root@server ~]# echo "this is user0's web">>index.html4、修改基于⽤户的httpd配置⽂件[root@server ~]# vim /etc/httpd/conf.d/userdir.conf修改: UserDir enabled #开启,表⽰让httpd服务程序开启个⼈⽤户主页功能UserDir public_html #去注释,UserDir参数表⽰⽹站数据在⽤户家⽬录中的保存⽬录名称5、配置防⽕墙(同上)[root@server ~]# firewall-cmd --permanent --add-service=http[root@server ~]# firewall-cmd --reload6、修改selinux权限[root@server ~]# getsebool -a|grep home[root@server ~]# setsebool httpd_enable_homedirs on7、重启服务[root@server ~]# systemctl restart httpd8、客户端测试[root@client ~]# firefox http://IP地址/~username 或者curl http://IP地址/~username任务三:配置基于域名访问的虚拟主机1、新建虚拟主机的⽹页⽂件[root@server ~]# mkdir /www/one /www/two[root@server ~]# cd /www/one[root@server ~]# echo "this is a web for virtual host one">>index.html[root@server ~]# cd /www/two[root@server ~]# echo "this is a web for virtual host two">>index.html[root@server ~]# chmod o+x /www2、配置虚拟主机的⽂件[root@server ~]# cd /etc/httpd/conf.d[root@server ~]# vim vhost.conf<Directory /www/one> #设置⽹站⽬录权限Require all granted #开启所有客户机访问权限</Directory><VirtualHost 192.168.100.10> #虚拟主机ServerName #定义服务器名称DocumentRoot /www/one/ #⽹站数据⽬录</VirtualHost><Directory /www/two>Require all granted</Directory><VirtualHost 192.168.100.11>ServerName DocumentRoot /www/two/</VirtualHost>3、做域名解析⽂件server/client[root@server ~]# vim /etc/hosts192.168.100.10 192.168.100.11 4、配置防⽕墙(同上)[root@server ~]# firewall-cmd --permanent --add-service=http[root@server ~]# firewall-cmd --reload5、修改虚拟主机⽹页⽂件的selinux上下⽂类型[root@server ~]# semanage fcontext -a -t httpd_sys_content_t '/www(/.*)?'[root@server ~]# restorecon -RFv /www6、重启服务[root@server ~]# systemctl restart httpd任务四:配置基于端⼝访问的虚拟主机1——新建虚拟主机的⽹页⽂件[root@server ~]# mkdir /www/8088[root@server ~]# echo "this is a web for port 8088 ">>index.html[root@server ~]# mkdir /www/8089[root@server ~]# echo "this is a web for port 8089 ">>index.html2——配置虚拟主机的⽂件[root@server ~]# cd /etc/httpd/conf.d[root@server ~]# vim vhost.conf<Directory /www/8088/>Require all granted</Directory><virtualHost 192.168.100.10:8088>DocumentRoot /www/8088/</virtualHost><Directory /www/8089/>Require all granted</Directory><virtualHost 192.168.100.10:8089>DocumentRoot /www/8089/</virtualHost>3、配置防⽕墙[root@server ~]# firewall-cmd --permanent --zone=public --add-port=8089/tcp[root@server ~]# firewall-cmd --permanent --zone=public --add-port=8088/tcp[root@server ~]# firewall-cmd --reload4、关闭SELinux[root@server ~]# setenforce 05、重启服务[root@server ~]# systemctl restart httpd6、使⽤浏览器访问任务五:配置基于TLS加密的虚拟主机注意:经TLS/SSL安全加密的超⽂本传输协议,默认情况下使⽤端⼝443/TCP 1、安装TLS加密软件,⽹站内容不⽤明⽂传输[root@server ~]# yum -y install mod_ssl2、⽣成密钥[root@server ~]# openssl genrsa >tlsweb.key3、⽣成证书请求⽂件[root@server ~]# openssl req -new -key tlsweb.key > tlsweb.csr4、⽣成证书⽂件[root@server ~]# openssl req -x509 -days 365 -key tlsweb.key -in tlsweb.csr >tlsweb.crt5、修改ssl.conf配置⽂件[root@server ~]# vim /etc/httpd/conf.d/ssl.confSSLCertificateFile /etc/pki/tls/certs/tlsweb.crtSSLCertificateKeyFile /etc/pki/tls/private/tlsweb.key6、把证书⽂件拷贝到ssl.conf配置⽂件⾥的对应路径下⾯[root@server ~]# cp tlsweb.crt /etc/pki/tls/certs/7、把秘钥⽂件拷贝到ssl.conf配置⽂件⾥的对应路径下⾯[root@server ~]# cp tlsweb.key /etc/pki/tls/private/。