什么是WEB服务?
WEB服务器也称为WWW(WORLD WIDE WEB万维网)服务器,主要功能是提供网上信息浏览服务。 WWW 是 Internet 的多媒体信息查询工具,是 Internet 上近年才发展起来的服务,也是发展最快和目前用的最广泛的服务。正是因为有了WWW工具,才使得近年来 Internet 迅速发展,且用户数量飞速增长。
WEB服务必备知识点
WEB服务与FTP的区别?
网站:获取文件内容
FTP:获取文件--->传输内容(下载完才能看)
现在访问WEB为什么多数是图形化不是命令行?
互联网初期WEB页面上都是文字。随着互联网的发展,需要的业务对图形化有很大的需求:音频服务,图文并茂,多媒体元素在页面上越来越多,所以图形化更加主流。(linux下可以使用命令行工具elinks,多数情况下用于压力测试或者测试网络的连通性)
三种WEB服务器:Apache、IIS、Nginx
Apache服务:适用于全平台-->Linux,Windows(Ta家产品有httpdTomcat)
IIS服务:Windows上的一款服务(可以提供WEBFTPSMTP)
Nginx服务:发布时间相较于前两者完了很多,主要用于(静态,反向代理,集群,冗余等)
这一次我们的实验文档将以Apache的httpd来作为演示
链接与超链接的区别?
链接: 站内跳转(同一网站不同页面之间跳转)
超链接: 站间跳转(不同网站的不同页面之间跳转)
首页,网页,网站分别是什么?
首页: 单个页面(文件),构成网站的第一个页面文件
网页: 单个页面(文件),构成网站中的每一个文件
网站: 网站相关网页的集合(多个网页构成)
什么是HTML?
超文本标记语言(代码、编码)
HTTP与HTTPS的区别?
HTTP: 超文本传输协议
HTTPS: 安全的(加密的)超文本传输协议
什么是URL?
统一资源定位器(网址[协议://主机IP或域名/资源名称])
==> https://www.qqzmly.com/index.php
WEB服务常见的一些默认主页?
index.html default.htm index.asp index.php
default.html default.htm default.asp default.php
例如www.qqzmly.com我的博客地址我设置的默认主页有index.php
你在访问我博客地址的时候服务器会自动显示https://www.qqzmly.com/index.php
也就是说https://www.qqzmly.com/ https://www.qqzmly.com/index.php两个访问方式都是一样的!
当然默认主页地址也可以手动设置
html与htm的区别?
不管是运维,还是开发我觉得都有必要了解一下~
HTM与HTML没有本质意义的区别,只是为了满足磁盘操作系统(DOS)仅能识别三位文件名而已,因为一些老的系统(win32)不能识别四位文件名,所以某些网页服务器要求index.html最后一个l必须去掉。(因为html识别不了,只能识别htm)。
实验环境
VMware 、Red Hat Enterprise Linux 6、Windows XP
局域网内的两台Linux 用于DNS以及WEB服务,Windows XP用于访问网站。加上DNS可以更好的了解域名解析以及互联网WEB服务的一个流程。关于DNS的更多讲解推荐观看Linux——DNS服务
WEB服务配置要求
某公司新购一台服务器,服务器上已安装Linux操作系统,现要求将服务器配置成Apache 服务器,为公司员工提供基本Web服务。具体要求如下:
1.使用192.168.42.101和192.168.42.102两个IP地址,创建基于IP地址的虚拟主机,其中IP地址为192.168.42.101的虚拟主机对应的主目录为/var/www/html/ip101,网站名为ip101.czh.com,首页文件内容为“Welcome to 192.168.42.101”。IP地址为192.168.42.102的虚拟主机对应的主目录为/var/www/html/ip102,网站名为ip102.czh.com,首页文件内容为“Welcome to 192.168.42.102”。要求不同的虚拟主机对应的主目录不同,首页文件的内容也不同。
2.在DNS服务器中建立www.czh.com和www.czh.net两个域名,使它们解析到同一个IP地址192.168.42.8上,然后创建基于域名的虚拟主机,其中域名为www.czh.com的虚拟主机对应的主目录为/var/www/html/czh.com,首页文件内容为“Welcome to www.czh.com”。域名为www.czh.net的虚拟主机对应的主目录为/var/www/html/czh.net,首页文件内容为“Welcome to www.czh.net”。 要求不同的虚拟主机对应的主目录不同,首页文件的内容也不同。
实验操作
1.Linux主机需要修改正确网卡标识
2.Linux主机需要修改主机名
3.Linux主机需要关闭和禁用防火墙
4.Linux主机需要禁用Selinux
5.DNS & WEB服务器端需要配置本地YUM源仓库
6.Linux主机初始化配置完成需要重新启动
以上几步操作由于在Linux——DHCP服务中操作过一遍,所以不进行二次演示。
经过测试,实验机器的网卡设备,主机名,禁用Selinux,禁用防火墙、YUM源仓库均已配置成功。
正式开始配置WEB服务
注意点:
WEB服务软件包不止有Apache,还有很多很多,Linux机器上很多都默认安装了Apache当然也不排除没有安装,所以你得学会检查是否安装软件,如果没有安装就安装一下!
见名知义:看到名字,你就大概的能够知道其意思。我的文档算是贴图很细了,当然很多新手也会觉得分不清贴图是哪一台设备,你得学会看主机名。如:[root@czh_web ~]# 这是一台WEB服务器,也是本次实验的Node2
1.查看 WEB 服务相关软件是否安装
# rpm -qa | grep httpd
# yum -y install httpd //如果没有安装就安装一下
2.查看 WEB 服务软件包所生成的重要文件和目录
# rpm -ql httpd
配置文件太多太多,只展示一部分~
初学者只需要关注两个文件:
服务配置文件:/etc/httpd/conf/httpd.conf
服务管理脚本:/etc/rc.d/init.d/httpd
只要是修改/etc/httpd/目录下的文件,修改后都需要重启服务!
WEB服务端配置1
开始装13!
#service httpd start //node2 web服务端直接开启服务
其实不用任何配置,启动服务,通过域名的方式就可以直接访问网页了!不过访问的是一个欢迎页,你可以理解为(前提是客户端与服务端在同一个网络里,可以互相通信)所以也就说明DNS的必要性,真实环境下又有谁会记住那么多IP地址呢?
装13结束.....................
按照实验要求我们得让node2-->web服务器创建两个基于物理网卡的虚拟接口(逻辑子接口)的IP地址192.168.42.101与192.168.42.102,同时在/var/www/html创建两个目录ip101与ip102并在里面放上相应的首页文件内容。
1.创建逻辑子接口,方法有很多,我的实验环境为VMware
# cd /etc/sysconfig/network-scripts/ //切换到网卡配置的目录
# ls //查看一下目录里面的文件
# cp ifcfg-eth0 ifcfg-eth0:1 //将ifcfg-eth0复制一份到ifcfg-eth0:1
# cp ifcfg-eth0 ifcfg-eth0:1 //将ifcfg-eth0复制一份到ifcfg-eth0:2
//===>开始编辑逻辑子接口的相关配置
# vim ifcfg-eth0:1 //我这里是相对路径如果你访问不了可以尝试↓
# vim ifcfg-eth0:2 //vim /etc/sysconfig/network-scripts/ifcfg-etho:2
我们进入虚拟网络IP地址进行编辑
值得注意的是你的文件名得与文件里面的DEVICE一致,下面需要做的就是重启网络服务,或者重启服务器!
然后查看一下网卡的信息以及虚拟的子接口IP信息是否正确!
# service network restart //重启网络服务
# reboot //重启服务器 两种方式二选一就好
//====>
# ifconfig //查看网络相关信息
看到这些就说明网络相关配置完成了,这些也是此次试验的必须配置,否则后面都无法进行!
# mkdir /var/www/html/ip{101,102} //创建两个目录
# ls /var/www/html/ip* //查看一下是否创建
# echo "Welcome to 192.168.42.101" > /var/www/html/ip101/index.html
# echo "Welcome to 192.168.42.102" > /var/www/html/ip102/index.html
//=====创建两个默认的主页文件========
# cat /var/www/html/ip101/index.html
# cat /var/www/html/ip102/index.html //查看一下内容是否正确
这样前期需要的就基本配置成功了,接着开始配置文件的编写,自增写在文件最底部
# vim /etc/httpd/conf/httpd.conf
# service httpd restart //重启服务
重启WEB服务后直接在Windows XP客户端上通过IP访问就可以了
DNS服务端配置1
想要实现域名访问,DNS是必须要的!我们回到Node1,DNS服务器!关于DNS的详细学习文档你可以查看Linux——DNS。由于详细的讲解过所以在这里不会进行太多的讲解!
# rpm -qa | grep bind //查看是否安装软件
# yum -y install bind //没有安装就安装一下
没有安装就安装一下,前提是你得配置YUM源仓库,不然拿命装啊.............
# vim /etc/named.conf //编辑主配置文件
# grep -v ^"//" /etc/named.conf | grep -v ^$ //查看配置的主配置文件信息
有同学在前面几次文档问过我,好几次我只列出了查看修改好的配置文件,那要修改哪一个配置文件啊?答:弄清楚逻辑关系吧,多花点时间,考虑一下是否适合从事互联网行业...............
我这里都修改好了,就直接贴图了!后面的几个也一样!
# vim /etc/named.rfc1912.zones //编辑子配置文件
# tail /etc/rfc1912.zones //查看配置的子配置文件信息最后几行
# cp -p /var/named/named.localhost /var/named/czh.com.zone
//==========复制解析数据库配置文件模板==================
# vim /var/named/czh.com.zone //修改解析数据库配置文件
# cat /var/named/czh.com.zone //查看解析数据库配置文件
这一次只需要配置正向解析文件,反向解析文件不需要配置。
# service named start //启动服务,无法启动说明配置有问题
# service named status //反馈结果包含正在运行即成功
DNS/WEB客户端测试1
由于没有DHCP服务,我们得设置一下IP地址,当然这不是必要的,因为强大的VMware会自动跟你分配一个IP地址。重要的是DNS服务,你得手动去设置一下DNS地址是多少。上图说明我已经配置成功IP地址以及DNS地址。
# ping 192.168.42.3 //测试与DNS服务器的连通性
# nslookup ip101.czh.com
# nslookup ip102.czh.com
客户端测试首先做的应该是测试与DNS服务器的连通性,然后在看看解析是否正常,确认都没有问题后,才正式的开始测试网站访问!
测试成功,到此第一个实验的需求已完成。
WEB服务端配置2
按照实验要求我们得在Node2,WEB服务器里的/var/www/html创建两个目录czh.com与czh.net并在里面放上相应的首页文件内容。
# mkdir /var/www/html/czh.{com,net} //创建两个目录
# ls /var/www/html/czh* //查看一下是否创建
# echo "Welcome to www.czh.com" > /var/www/html/czh.com/index.html
# echo "Welcome to www.czh.net" > /var/www/html/czh.net/index.html
//=====创建两个默认的主页文件========
# cat /var/www/html/czh.com/index.html
# cat /var/www/html/czh.net/index.html //查看一下内容是否正确
这样前期需要的就基本配置成功了,接着开始配置文件的编写,自增写在文件最底部
# vim /etc/httpd/conf/httpd.conf
# tail -16 /etc/httpd/conf/httpd.conf //查看配置文件最后16行
当开启多域名多网站,我们还得在httpd.conf将下面这条代码的注释给去掉
NameVirtualHost *:80
//我用的RHLE6.0在配置文件的990行,接近文末!
如果没设置的话你在接下来测试会发现不管访问www.czh.com还是www.czh.net指向的内容都是同一个!
# service httpd restart //重启服务
重启WEB服务后直接在Windows XP客户端上通过IP访问就可以了,不过这个时候192.168.42.8:80这个IP端以及端口上绑定了两个目录地址,想知道在客户端上访问会显示哪一个页面还真的有点难为人........
查看 WEB 相关服务进程已运行
# ps -ef | grep httpd
查看 WEB 相关服务端口已监听
# netstat -tunlp | grep httpd
DNS服务端配置2
主配置文件不需要修改,我们继续修改子配置文件
# vim /etc/named.rfc1912.zones //编辑子配置文件
# tail /etc/named.rfc1912.zones //查看配置的子配置文件信息最后几行
# vim /var/named/czh.com.zone //修改解析数据库配置文件
# cat /var/named/czh.com.zone //查看解析数据库配置文件
//==========复制解析数据库模板文件=============
# cp -p /var/named/czh.com.zone /var/named/czh.net.zone
# vim /var/named/czh.net.zone //修改解析数据库配置文件
# cat /var/named/czh.net.zone //查看解析数据库配置文件
小技巧:/var/named/czh.com.zone与czh.net.zone内容差不多,所以我们复制他的就好了。同时我们要理解解析的过程,在干什么。所以net解析不需要ip101与ip102。
# service named start //启动服务,无法启动说明配置有问题
# service named status //反馈结果包含正在运行即成功
# chkconfig named on
# chkconfig named --list //反馈结果在2-5的运行级别中均为启用即成功
DNS设置为开机自启,经常会忘记,这是个注意点,得牢记!
查看 DNS 相关服务进程已运行
# ps -ef | grep bind
查看 DNS 相关服务端口已监听
# netstat -tunlp | grep bind
DNS/WEB客户端测试2
# ping 192.168.42.3 //测试与DNS服务器的连通性
# nslookup www.czh.com
# nslookup www.czh.net
客户端测试首先做的应该是测试与DNS服务器的连通性,然后在看看解析是否正常,确认都没有问题后,才正式的开始测试网站访问!
测试成功,到此第二个实验的需求也已完成。
WEB服务小知识点
用户关注的点在哪里?
创建基于物理网卡的虚拟接口(逻辑子接口),这个过程是运维做的事情。用户不会关心访问的是几台主机,几个网卡,用户关心的内容是能否查看到想要的内容!
原则上一台服务器对应的是一个网站,因为DNS实现了一服务器多网站!
访问网站服务器做了些什么操作?
我们从WEB服务上说,用户发送访问请求,WEB服务器
1.看看主目录中有没有指定首页文件
2.如果没有首页文件,那就来一个欢迎页,测试页。
我用的RHLE6欢迎页地址为/etc/httpd/conf.d/welcome.conf,版本不同文件不同,不知道这个文件在哪里的话,你看看你的欢迎页内容,应该是有的!
3.如果把欢迎页给删除掉了,WEB服务器会列出目录结构(目录索引/目录文件的一个列表)
4.如果上面的这些都没有,连索引都不让他显示,就会返回失败页面。
这个错误页面让他显示出来还真花了我一些时间.....
一般都是httpd.conf配置文件写的有问题,再要么你看看相对应的网站目录以及文件的权限吧!
如何实现一台服务器支持多个网站(虚拟主机)
1)多端口多网站(一个IP地址,多个不同port,对应多个不同的site),域名解析不是必须
例如: 192.168.1.128 80 --> 192.168.1.128
192.168.1.128 8000 --> 192.168.1.128:8000
192.168.1.128 8080 --> 192.168.1.128:8080
缺点:不实用,对浏览网站的用户而言,增加了难度
2)多IP多网站(多个IP地址,每个地址的80Port,对应多个不同的site),域名解析不是必须
例如: 192.168.1.129 80 --> 192.168.1.129
192.168.1.130 80 --> 192.168.1.130
192.168.1.131 80 --> 192.168.1.131
缺点:在局域网中较实用,需要大量IP地址支持,给管理增加了成本
3)多域名多网站(多域名,一个IP地址,每个地址的80port,对应多个不同的site),域名解析是必须,而且关键
例如: 192.168.1.132 80 --> www.test1.com
192.168.1.132 80 --> www.test2.com
192.168.1.132 80 --> www.test3.com
缺点:依赖DNS
第三种方式最为实用,生产环境运用的也最多!
经典架构:LAMP(Linux-Apache-MySQL-PHP)下下次文档进行讲解!
总结一下
到此关于Linux——WEB服务配置的教程就结束了。最开始的初始化配置由于篇幅问题没有过多描述,可以去参考一下我写的Linux——DHCP服务。Linux服务本站的文档已经写的接近尾声,同时也代表着我在学校的Linux服务课程也接近了尾声。真的感谢能够碰到浩哥这样一位老师,谢谢!
最后的最后摘抄一句我很喜欢的话吧!
不要每天思考应该学习什么技术,现在流行什么技术,因为以后你都得学。应该思考的是如何学精一门技术,这样才更有利于自身发展和将来学习其他技术。
所以,大家一起加油啦~
普及的不错,适合新手
写的挺详细的,
嘿嘿,互相学习~
我也装过,不过跑网站都还是用一键包。
嘿嘿,老师说下下节课教我们LAMP~【我网站目前用的是宝塔,对新人确实太友好了!不过命令行环境还是得学一下下~
文章不错支持一下吧