www服务

www服务

1 概述

1.1 WWW服务简介
www服务全称为World Wide Web,常称为Web,中文译为“万维网”。它是目前互联网上最受用户欢迎的信息服务形式。HTTP协议的WWW服务应用的默认端口为80,另外一个加密的WWW服务应用https的默认端口为443,主要用于网银、支付等和钱相关的业务。当今,HTTP服务、WWW服务、Web服务三者的概念已经混淆了,在本文中也视为相同,都是指当下最常见的网站服务应用。

1.2 HTTP协议
HTTP超文本传输协议(HyperText Transfer Protocal),是互联网上最广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。它是建立在TCP上一种的无状态连接,整个基本的工作流程是客户端发送一个HTTP请求,说明客户端想要访问的资源和请求的动作,服务端收到请求之后,服务端开始处理请求,并根据请求做出相应的动作访问服务器资源,最后通过发送HTTP响应把结果返回给客户端。其中一个请求的开始到一个响应的结束称为事务,当一个事物结束后还会在服务端添加一条日志条目。

1.3 WEB服务器
WEB服务器:指网站服务器,是指驻留与因特网上某种类型计算机的程序,可以向浏览器等WEB客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个WEB服务器是Apache和Microsoft和Internet-信息服务器(Internet Information Services,IIS)unix nginx。
当WEB浏览器(客户端)连接到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP与客户机浏览器进行信息交流,这就是人们常把他们称为HTTP服务器的原因。

2 LAMP平台的说明

LAMP:即Linux+Apache+Mysql+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案.在 LAMP 里面除了 Linux 之外,其他三个小东西就让我们來谈谈先。

2.1 Apache
1995 年以前就有很多的 WWW服务器软件,其中以HTTPd 占有率较高。 后來HTTPd 经过多次的修订后,才在1995 年后发布 Apache (http://www.apache.org)这东西就是主要提供 WWW 的服务器平台,后面谈到的PHP必须要在这上面才能运作!

2.2 MySQL
传统的文件读取是很麻烦的,如果你只要读取该文档中的一小部分,系统还是会将整个文件读出来, 若又有多人同时读取同一个文档时,那就会造成效能与系统上的问题,所以才会有数据库系统的推出。 数据库其实是一种特殊格式的档案,这种档案必需要透过特殊接口 (数据库软件) 来进行读写。由于这个特殊接口已经针对数据的查询、写入做过优化设计, 因此很适合多人同时写入与查询的工作。
针对数据库的语法有所谓的 SQL 标准语法,任何根据这种数据检索语法发展出来的数据库,就称为 SQL 数据库。 比较知名的自由软件数据库系统有 MySQL 及 PostgreSQL ,其中 MySQL 的使用率又比较高一些。 MysQL 可以透过网页程序语言来进行读写的工作,因此很适合例如讨论区、论坛等的设计, 甚至很多商业网站的重要数据也是透过 MySQL 这个数据库软件来存取的呢!

2.3 PHP
按照官方的说法来说,PHP是一个工具,他可以被用来建立动态网页,PHP程序代码可以直接在HTML网页当中嵌入, 就像你在编辑HTML网页一样的简单。所以说, PHP 是一种“程序语言“,这种程序语言可以直接在网页当中编写,不需要经过编译即可进行程序的执行。由于具有:自由软件、跨平台、容易学习及执行效能高等优点, 目前是很热门的一个设计网页的工具。

3.HTTP工作原理

3.1 HTTP的运行方式
①用户输入URL
http://www.joes-hardware.com:80/tools.html
②获取主机名
www.joes-hardware.com
③获取端口号:80
④连接到161.58.228.45(服务器)的端口号80
⑤客户机发送一条HTTP GET请求
⑥客户机从服务器读取HTTP服务

3.2 HTTP的连接过程
(1)Web浏览器使用HTTP命令向一个特定的服务器发出Web页面请求。
(2)若该服务器在特定端口(通常是TCP 80端口)处接收到Web页面请求后,就发送一个应答并在客户和服务器之间建立连接。
(3)服务器Web查找客户端所需文档,若Web服务器查找到所请求的文档,就会将所请求的文档传送给Web浏览器。若该文档不存在,则服务器会发送一个相应的错误提示文档给客户端。
(4)Web浏览器接收到文档后,就将它显示出来。
(5)当客户端浏览完成后,就断开与服务器的连接。

3.3 HTTP响应
通过报文返回一个状态码
–200 正常,请求成功
–401 静止访问,未授权(没有登录或者登陆失败)
–403 禁止访问,通常代表已认证通过,但没有访问权限
–404 未找到资源
–500 服务器内部错误(服务器内部出现问题,服务器内部故障,或者访问过多没有显示就可能会出现500错误)
代理服务器:S和C之间的访问实体
缓存服务器:特殊的代理服务器
网关服务器:一个http/FTP网关服务器C—http – 8080 (FTP<–>HTTP )-----S FTP
<源ip地址><源端口号> <目标ip地址><端口>

4 搭建WWW服务器

4.1在Linux中的相关配置
首先挂载光盘sr0并且配置yum文件:
[root@localhost ~]# mount /dev/sr0 /mnt
[root@localhost ~]# mount /dev/sr0 /mnt(挂载光盘sr0)
[root@localhost ~]#vim /etc/yum.repos.d/base.repo(配置yum文件)
[base] (源)
name=base (源名称)
baseurl=file:///mnt (本地连接)
gpgcheck=0

[root@localhost ~]# yum install -y httpd
[root@localhost ~]# systemctl start httpd (系统服务的操作)
-Start—开始
-Restart—重启
-Stop—停止
-remove—删除
[root@localhost ~]# Systemctl stop firewalld(关闭防火墙)
[root@localhost ~]# Setenforce 0 (停止SE linux)

4.2 关于httpd软件
[root@localhost ~]# yum install httpd –y
启动脚本:/usr/lib/systemd/system/httpd.service
所需RPM包:httpd-2.4.6-17.el7.x86_64.rpm
主配置目录:/etc/httpd/conf
子配置目录:/etc/httpd/conf.d(apache是一个模块化的一个配置服务,所以我们可以根据每个模块进行一些配置,不仅对程序本身进行模块化配置对配置文件也进行了模块化配置)
默认网站存放路径:/var/www/html/
打开主配置文件:
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf

主配置文件的一些内容与解析:
ServerRoot “/etc/httpd” (服务配置文件的根)
Listen 80
Include conf.modules.d/.conf
User apache (进程属主)
Group apache
ServerAdmin root@localhost (服务管理员邮箱)
ServerName 0.0.0.0:80
(目录标签)
AllowOverride none (可以覆盖前面的配置)
Require all denied (禁止访问根)

DocumentRoot “/var/www/html”
<Directory “/var/www”>
AllowOverride None
Require all granted

<Directory “/var/www/html”>
Options Indexes FollowSymLinks (选项索引跟踪软连接)
AllowOverride None
Require all granted


DirectoryIndex index.html (索引目录为index.html)

<Files ".ht
"> (安全策略控制文件都是以.ht开头)
Require all denied

ErrorLog “logs/error_log” (链接到日志的文件)
LogLevel warn

LogFormat “%h %l %u %t “%r” %>s %b “%{Referer}i” “%{User-Agent}i”” combined
%h—客户端IP
%l—使用identd时才会有信息,一般情况下都是-
%u—远程用户(从验证获取到的)
%t—收到请求时的时间
%r—请求的首行
%s—服务器端返回的状态码
%b—除HTTP头以外的返回的字节数
%{Referer}i—从那个页面链接跳转到的此页面
%{User-agent}i—用户的User-Agent
LogFormat “%h %l %u %t “%r” %>s %b” common

LogFormat “%h %l %u %t “%r” %>s %b “%{Referer}i” “%{User-Agent}i” %I %O” combinedio

CustomLog “logs/access_log” combined


ScriptAlias /cgi-bin/ “/var/www/cgi-bin/”

<Directory “/var/www/cgi-bin”>
AllowOverride None
Options None
Require all granted


TypesConfig /etc/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

AddDefaultCharset UTF-8

MIMEMagicFile conf/magic

EnableSendfile on (支持发送文件)
IncludeOptional conf.d/*.conf

4.3配置HTTP的基本功能
(1)下面是apache的所有配置文件存放的目录:
[root@localhost ~]# ll /etc/httpd/
(2)网页默认的存放路径:
[root@localhost ~]# ll /var/www/

cgi-bin是一种特殊的目录,在进行交互式的www访问(如填写在线表格)时,需要对服务器上有相应程序对访问这输入的信息进行处理,这写程序就是就是cgi程序。而这些程序只能放在cgi-bin这个目录。
(3)apache的主配置文件:
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf

5服务器的访问

5.1默认的访问界面
启动HTTP服务
[root@localhost ~]# systemctl restart httpd.service
然后打开浏览器,输入IP地址就会看到下面的apache界面,表示你的HTTP服务启动成功。

5.2访问静态界面
[root@localhost ~]# vim /var/www/html/index.html

然后打开浏览器,输入IP地址,刷新浏览器界面,即可看到效果。

6 WWW的高级设定

6.1基于IP地址的WEB服务器
实例:新建一个192.168.253.150的网站,文件存放在/www/150,内容显示为this is 192.168.253.150
[root@localhost ~]# nmcli connection modify eno16777736 +ipv4.addresses 192.168.253.150
给eno16777736网卡加上一个192.168.253.150的IPV4地址
[root@localhost ~]# vim /etc/httpd/conf.d/vhost.conf
<directory “/www”>
AllowOverride None
options none
require all granted

<virtualhost 192.168.253.150:80>
documentroot “/www/150”
servername 192.168.253.150

(使用wq!进行强制保存)
[root@localhost ~]# cd /etc/httpd/conf.d/
[root@localhost ~]# mkdir /www/150 -pv
[root@localhost conf.d]# echo this is 150 > /www/150/index.html
[[root@localhost conf.d]# systemctl restart httpd.service
实验查看:

6.2基于端口的WEB服务器
新建一个网站,文件存放在/www/10000,内容显示为this is 10000。
[root@localhost ~]# vim /etc/httpd/conf.d/vhost.conf

LISTEN 10000
<virtualhost 192.168.253.150:10000>
servername 192.168.253.150:10000
documentroot “/www/10000”

(使用wq!进行强制保存)
[root@localhost conf.d]# mkdir /www/10000 -pv
mkdir: created directory ‘/www/10000’
[root@localhost conf.d]# echo this is 10000 > /www/10000/index.html
[root@localhost ~]# systemctl restart httpd.service
实验查看:

6.3基于域名的WEB服务器
新建一个网站,域名为www.haha.com,同时也可以使用www1.haha.com访问,文件存放在/www/hahai目录,网页内容为This is haha。
[root@localhost ~]# vim /etc/httpd/conf.d/vhost.conf
<virtualhost 192.168.253.150:80>
documentroot “/www/haha”
servername www.haha.com
serveralias www1.haha.com

(使用wq!进行强制保存)
[root@localhost conf.d]# mkdir /www/haha -pv
mkdir: created directory ‘/www/haha’
[root@localhost conf.d]# echo this is haha > /www/haha/index.html
[root@localhost conf.d]# systemctl restart httpd.service

7 总结

我们最常讲的“架站”其实就是架设一个Web网站。Web就是全球信息广播的意思 (World Wide Web),或者也可以称之为互连网吧。这个是我们目前的人类最常使用的Internet的协议之一。通常说的上网就是使用WWW来查询用户所需要的信息。目前在Unix-Like 系统中的WWW服务器主要就是透过Apache这个服务器软件来达成的,而为了动态网站,于是LAMP(Linux + Apache + MySQL + PHP) 就这么产生了。学会建立自己的Web网站是一项具有挑战而又必须学会的技能。希望读者通过本篇文章对LAMP有基本了解,并能跟着文章,建立自己的第一个Web网站。

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值