这里写自定义目录标题
Web服务搭建与配置 (配置基于端口、IP虚拟主机的apache服务)
一.Apache特点
二.相关配置文件
三.Apache服务的启动和安装方法
四.http协议
一.Apache特点
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。Apache HTTP服务器是一个模块化的服务器,源于NCSAhttpd服务器,经过多次修改,成为世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。
(1)Apache是目前世界上使用最广泛的一种web server,它以跨平台,高效和稳定而闻名。
(2)Apache缺点是变得越来越重,被普遍认为是重量级的web server。(Apache主要采用的是基于进程的Prefork模式(还有基于线程的Worker模式),也就是,对于每个请求会用一个进程去进行服务,进程非常占资源,当并发量大的时候,就需要等额的进程,导致的是高内存占用和CPU占用,这就是所谓的“重量级”。)
(3)Apache是基于模块化设计的,总体上看起来代码的可读性高于php代码,它的核心代码并不多,大多数的功能都被分割到各种模块中,各个模块在系统启动时按需载入。
(4)Apache是用C语言写的。
二.相关配置文件
Apache的主配置文件:/etc/httpd/conf/httpd.conf
默认站点主目录:/var/www/html/
Apache服务器的配置信息全部存储在主配置文件/etc/httpd/conf/httpd.conf中。
配置文件包括三部分:
1)Global Environment—全局环境配置,决定Apache服务器的全局参数
2)Main server configuration—主服务配置,相当于是Apache中的默认Web站点,如果我们的服务器中只有一个站点,那么就只需在这里配置就可以了。
3)Virtual Hosts—虚拟主机,虚拟主机不能与Main Server主服务器共存,当启用了虚拟主机之后,Main Server就不能使用了
主配置文件:/etc/httpd/conf/httd.conf ,这个是httpd最主要的配置文档
扩展配置文件:/etc/httpd/conf.d/*.conf ,这个是httpd的额外配置文档
文档根目录: /var/www/html ,这个是apache 首页的文档目录 ,即输入http://127.0.0.1 显示页面所在的目录
服务脚本:/etc/rc.d/init.d/httpd
错误目录:/var/www/error ,服务器设定错误,请求的资源错误或浏览器访问出现错误等错误文件的存储目录
CGI目录: /var/www/cgi-bin/ ,预设为CGI运行脚本的存储目录
日志目录:/var/log/httpd ,client端登录httpd时,记录的登录日志等信息存储目录
脚本配置文件: /etc/sysconfig/httpd
Listen端口:80/tcp ,443/tcp
命令执行文件:/usr/sbin/apachectl ,/usr/sbin/httpd,/usr/bin/htpasswd
PID文件:/var/run/httpd/httpd.pid
三.Apache服务的启动和安装方法
1.第一步命令安装apache:
yum install httpd httpd-devel -y
2.第二步执行命令:开启服务器
systemctl start httpd.service
3.Linux系统中的防火墙会没有给Apache开放端口,所以需要做以下操作:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
4.安装完成以后apache默认的安装地址为 etc/httpd/conf/httpd.conf
5.关闭防火墙:systemctl stop Firewalld
Linux selinux:setenforce 0
四.http协议
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。
HTTP协议的主要特点可概括如下:
1.支持客户/服务器模式。
2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
五.实验操作步骤
1.安装HTTPD
Yum install -y httpd
2.修改html
Vim /var/www/html/index.html
或者echo ‘this my test html --dhy’显示如下页面
3.配置基于端口的虚拟主机。
①.创建“/var/www/port8080”两个主目录和默认文件index.html
Mkdir -p /var/www/html/port8080
Cd /var/www/html/port8080
Vim index.html
This is test port8080;
②修改配置文件vim /etc/httpd/conf/httpd.conf 添加监听端口listen 8080
listen 80
Listen 8080
<Virtualhost *:8080>
DocumentRoot “/var/www/html/port8080/”
ServerName 192.168.153.129
Errorlog “logs/www.dhy.com.error_log”
Customlog “logs/www.dhy.com.access_log” common
<Directory “/var/www/html”>
Require all granted
③重启服务,浏览器进行访问systemctl restart httpd
4.配置基于IP地址的虚拟主机。
①配置虚拟IP
ifconfig eth0:0 192.168.153.6 up
ifconfig eth0:1 192.168.153.7 up
②添加虚拟IP配置文件并创建目录文件
③修改虚拟IP的配置文件vi /etc/httpd/vhost/vhost.conf
④创建目录并写入内容
mkdir -p /var/www/vhost6
mkdir -p /var/www/vhost7
echo “vhost6” >/var/www/vhost6/index.html
echo “vhost7” >/var/www/vhost7/index.html
Systemctl restart httpd
⑤客户端验证
六.注意
配置虚拟IP的时候配置文件不在/var/www/html/默认目录下,会出现报错,出现错误之后,查看日志,journal -xe 提示我selinux安全问题,则需要关闭SELINUX,输入setenforce 0之后重启服务,问题解决。