WEB/HTTP服务器搭建

HTTP

对于软件都有服务和客户,有服务端和客户端

服务

就是在操作系统运行一个或者多个程序,并为客户端提供相应所需的服务

协议

就是计算机网络中进行数据交换而建立的规则、标准或约定的集合。只有遵守这个约定,计算机之间才能相互通信交流。它的三要素是:语法、语义、时序。

1.WEB服务器

web服务器一般指网站服务器,他是一个驻留于Internet的一个计算机程序,用于向浏览器提供文档,网站等信息,也可以在其中放置各种文档数据供世界下载,当然也可以放置文档供世界浏览。

1.1 WWW

环球信息网,又名“万维网”,其可分为Web客户端和Web服务器程序。可以让客户端(常用浏览器)访问浏览Web服务器上的页面。由许多互相链接的超文本组成,通过互联网互相访问。

Internet提供的主要服务有万维网WWW)、文件传输FTP)、电子邮件(E-mail)、远程登录Telnet)、手机 (3GHZ) 等。

1.2 Http

(HyperText Transfer Protocal)超文本传输协议,是互联网上最广泛的一种网络协议,所有的www文件都必须遵守这个标准。

它使得浏览器的传输访问更高效,使网络传输减少。

1.3 网页、网页文件和网站

网页是网站的基本信息单位,是组成WWW的基本文档。由文字、图片、动画、声音等多种媒体信息以及链接组成,用HTML编写,通过链接实现与其他网页或网站的关联和跳转。

网页文件是用HTML(标准通用标记语言下的一个应用)编写的,在WWW上传输,能被浏览器识别显示的文本文件。其扩展名是.htm.html

网站由众多不同内容的网页构成,网页的内容可体现网站的全部功能。通常把进入网站首先看到的网页称为首页或主页(homepage)

1.4 apache

是一种当今流行的linux Web服务器,起初由Illinois大学Urbana-Champaign的国家高级计算程序中心开发,后来Apache被开放源代码团体的成员不断地发展和加强。

1.5网站架构lamp    

lamp=Linux+apache+mysql+php\python\jsp\perl

静态网页:html

动态网页 : 和后台数据库实现一些交互  php jsp python perl …

本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,该软件开发的项目在软件方面的投资成本较低,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案。

访问标准:通过访问ip地址及端口号访问服务器               

2.HTTP协议运行原理

HTTP报文结构

请求报文由请求行,请求头部,空行和请求数据组成

如下图

1).请求行

请求行分为三个部分:请求方法、请求地址和协议版本

请求方法

请求地址

URL:统一资源定位符,是一种自愿位置的抽象唯一识别方法。

端口和路径有时可以省略(HTTP默认端口号是80)

如下例:

协议版本

协议版本的格式为:HTTP/主版本号.次版本号,常用的有HTTP/1.0和HTTP/1.1

2).请求头部

请求头部为请求报文添加了一些附加信息,由“名/值”对组成,每行一对,名和值之间使用冒号分隔。

请求头部的最后会有一个空行,表示请求头部结束,接下来为请求数据,这一行非常重要,必不可少。

3).请求数据

可选部分,比如GET请求就没有请求数据。

下面是一个POST方法的请求报文:

POST  /index.php HTTP/1.1    请求行

Host: localhost

User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2  请求头

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8

Accept-Language: zh-cn,zh;q=0.5

Accept-Encoding: gzip, deflate

Connection: keep-alive

Referer: http://localhost/

Content-Length:25

Content-Type:application/x-www-form-urlencoded

  空行

username=aa&password=1234  请求数据

HTTP响应 

代理服务器: S和C之间的访问实体        

缓存服务器: 特殊的代理服务器

网关服务器: 一个http/FTP网关服务器C---http -- 8080 (FTP<-->HTTP )-----S FTP

                       <源ip地址><源端口号> <目标ip地址><端口> 

HTTP关键字段

UA字段

SERVER字段

Referer字段

HTTP重定向

Session

Session是可以存储针对于某一个用户的浏览器以及通过其当前窗口打开的任何窗口具有针对性的用户信息存储机制。 通常大家认为,只要关闭浏览器,session就消失,其实这是错误的理解。对session来说也是一样的,除非程序通知服务器删除一个session,否则服务器会一直保留。由于关闭浏览器不会导致session被删除,迫使服务器为seesion设置了一个失效时间,当距离客户端上一次使用session的时间超过这个失效时间时,服务器就可以认为客户端已经停止了活动,才会把session删除以节省存储空间.

(1)第一次访问某个web站点资源时,客户端提交没有带SessionID的请求(请求报文头没有Cookie头域信息)。  而web服务器会检查是否有SessionID过来,没有则创建SessionID,并根据web程序自身定义在请求哪个资源时添加属于当前会话的信息(也可为空),这个信息列表以SessionID作为标识。然后将SessionID返回给客户端(通过响应报文头的Set-Cookie头域)。 (2 )客户端再次访问同个web站点时,提交带有SessionID的请求(通过Cookie头域存储SessionID)。由服务端判断session是否失效,如果未失效,可查询属于当前会话的信息列表。如果失效,则创建新的session(产生新的SessionID),而原先的session(包含session带的信息列表)则丢失,无法访问。

Cookie

Cookie 保存SessionID的方式可以采用Cookie,这样在交互过程中浏览器可以自动的按照规则把这个SessionID发回给服务器。Cookie的命名方式类似于SessionID。有时Cookie被人为的禁止,所以出现了其他机制以便在Cookie被禁止时仍然能够把SessionID传递回服务器。这种技术叫做URL重写,就是把SessionID直接附加在URL路径的后面,附加方式也有两种,一种是作为URL路径的附加信息,表现形式为http://www.wantsoft.com/index.asp;jsessionid= ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764 。 另一种是作为查询字符串附加在URL后面,表现形式为http://www.wantsoft.com/index?js ... 99zWpBng!-145788764 。

软件安装

[root@imoemoe ~]# yum install httpd                  安装http服务器

[root@imoemoe ~]# systemctl stop firewalld       关闭防火墙

[root@imoemoe ~]# setenforce 0                        关闭selinux防火墙

[root@imoemoe ~]# mkdir /{xixi,haha}                创建文件夹

[root@imoemoe ~]# mkdir /usr/local/hehe          创建虚拟目录文件夹

[root@imoemoe ~]# mkdir /xixi/100                    创建用户名登陆的虚拟目录

[root@imoemoe ~]# echo '嘻嘻' > /xiaopang/100/index.html

[root@imoemoe ~]# echo ‘我是嘻嘻’ > /xiaopang/index.html

[root@imoemoe ~]# echo ‘哈哈’ > /dapang/index.html

[root@imoemoe ~]# echo '虚拟目录' > /usr/local/hehe/index.html

vim /etc/httpd/conf.d/httpd.conf                        ——编写主配置文件

ServerName 0.0.0.0:80 

vim /etc/httpd/conf.d/vhosts.conf                      ——编写辅助配置文件

<Directory /xixi>                                ——设置xixi目录

        AllowOverride none                  ——允许覆盖

        Require all granted                   ——设置访问目录权限

</Directory>

<Directory /haha>                             ——设置haha目录

        AllowOverride none

        Require all granted

</Directory>

<Directory /usr/local/hehe>               ——设置hehe目录

        AllowOverride none

        Require all granted

</Directory>

Listen 10000    ——监听10000端口

<VirtualHost 192.168.10.100:80>   端口号必须写

        DocumentRoot /xixi/100           ——指定当前主机访问网站根目录

        ServerName 192.168.10.100   ——指定访问网站名称

</VirtualHost>

<VirtualHost 192.168.10.100:80>       

        DocumentRoot /xixi

        ServerName www.xixix.com                             ——基于域名寻址

        ErrorLog "/var/log/httpd/dummy-host2.example.com-error_log"                               ——错误日志

        CustomLog "/var/log/httpd/dummy-host2.example.com-access_log" common        ——访问日志

</VirtualHost>

<VirtualHost 192.168.10.100:80>

        DocumentRoot /haha

        ServerName www.haha.com

        Alias /hehe /usr/local/hehe

        ErrorLog "/var/log/httpd/dummy-host2.example.com-error_log"

        CustomLog "/var/log/httpd/dummy-host2.example.com-access_log" common

</VirtualHost>

<VirtualHost *>   ——如想表示所有主机则使用 * 号

[root@imoemoe ~]# systemctl restart httpd

[root@imoemoe ~]# vim /etc/hosts

   192.168.10.100  www.xixi.com

   192.168.10.100 www.haha.com

[root@imoemoe ~]# curl http://192.168.10.100

嘻嘻

[root@imoemoe ~]# curl http://www.haha.com

哈哈

[root@imoemoe ~]# curl http://www.haha.com/hehe/

虚拟目录

[root@imoemoe ~]# curl http://www.xixi.com

我是嘻嘻

  • 28
    点赞
  • 172
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
服务器搭建Web服务器是一种将Web应用程序托管在云平台上的技术实践。云服务器是一种基础设施即服务(IaaS)模型,可以提供虚拟计算资源,包括虚拟机(VM)、网络和存储空间等。 搭建Web服务器的第一步是选择适合的云服务提供商,并创建一个虚拟云服务器实例。选择时可以考虑云服务商的可靠性、性能和价格等因素。创建一个云服务器实例通常包括选择操作系统、配置服务器规格和网络设置等。 在创建云服务器实例后,我们需要连接到服务器,通常使用远程登录工具(如SSH)进行登录。一旦登录成功,我们就可以开始配置服务器环境了。 首先,我们需要安装和配置Web服务器软件,如Apache、Nginx或Microsoft IIS等。这些软件可以处理HTTP请求,并将Web页面发送给用户浏览器。根据操作系统使用不同的命令来进行软件安装和配置。 其次,我们需要将Web应用程序文件上传到服务器。可以使用FTP或SCP等工具将文件上传到服务器的特定目录。这个目录通常称为Web根目录,Web服务器会从这个目录中读取文件并将其提供给用户。 此外,我们需要配置DNS解析,将域名指向服务器的IP地址,以便用户可以通过域名访问Web应用程序。这通常在域名注册提供商的管理界面上进行配置。 最后,我们需要测试服务器是否正常工作。可以使用浏览器访问服务器的IP地址或域名来查看Web应用程序是否正常加载。如果一切正常,我们的Web服务器搭建好了,可以通过云服务器提供商的控制台来监控服务器的性能和资源使用情况。 总之,通过云服务器搭建Web服务器可以使我们更轻松地托管和管理Web应用程序。云计算技术的灵活性和可扩展性为我们提供了高效、可靠的基础设施,使我们能够快速、稳定地提供在线服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值