Linux Web服务

Web服务

Web服务是Internet应用最流行,最受欢迎的服务之一。它是实现信息发布、资料查询、数据处理、网络办公和远程教育的平台。

一、Web服务简介

Web服务器也称为WWW服务器,主要功能是提供网上信息浏览服务。WWW代表万维网,WWW是Internet的多媒体信息查询工具。起源于1989年3月,由欧洲量子物理实验室CERN(the European Laboratory for Particle Physics)发展出来的主从结构分布式超媒体系统。通过万维网,人们只要使用简单的方法,就可以和迅速、方便地去的丰富的信息资料。

目前的常用的Web服务器有以下几种:

1、Microsoft IIS

IIS(Internet Information Services,互联网信息服务)是由微软公司提供的基于Windows平台的互联网基本服务。是目前流行的Web服务器产品之一。

2、IBM WebSphere

WebSpahere(WebSpahere Application Server)是IBM公司推出的一种功能完善、开放的WEB应用程序服务器,基于Java的应用环境。

3、Apache

Apache(Apache HTTP Server)是一种开放源码的Web服务器软件,可在大多数的操作系统中运行,由于其多平台和安全性被广泛应用。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。是目前流行的Web服务器产品之一。

4、Tomcat

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web 应用服务器

5、Nginx

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名,是目前流行的Web服务器软件之一。

二、Apache概述

Apache是一种开放源代码的Web服务器软件。因其具有良好的跨平台和安全特性,目前几乎是主流Unix、Linux和BSD系统(如FreeBSD)选用的唯一Web服务器软件。

Apache服务器具有下列功能特性:

(1)简单、速度快、性能稳定、可配置。

(2)静态与动态内容支持。Apache同时支持静态和动态内容。动态内容是由一组相关技术提供的,其中包括SSI、CGI、PHP、Perl以主服务器API等。

(3)模块支持。采用模块化的定制方式,能够动态扩展Apache服务器的功能。软件模块可以直接连接到核心服务器程序,或根据需要动态加载到服务器中。

(4)支持SSL和虚拟主机。采用基于主机名或基于IP地址的虚拟主机技术与概念,利用单个或多个IP地址同时支持多个网站,同时利用SSL支持HTTPS。

(5)日志。Apache具有完整的日志功能,能够定义信息记录的级别,能够把客户机的请求和服务器的相应信息详细地记录到日志文件中。方便管理员用专门程序分析日志文件,收集服务器的使用统计信息。

(6)支持用户认证机制。在访问重要资源前,需要先通过用户和密码认证。

三、Apache服务实践

案例1:

某公司新购一台服务器,服务器上已安装Linux操作系统,现要求将服务器配置成Apache服务器,为公司员工提供基本Web服务。具体要求如下:

(1)启用默认WEB服务的根目录/var/www/html,默认首页为index.html,内容为“Welcome to www.test.com”,使用IP地址和域名均可访问。

(2)在Apache服务器中创建名为/vfolder的虚拟目录,它对应的物理路径是/var/tfolder,虚拟目录默认首页为default.html,内容为“Welcome to www.test.com/vfolder”。

(1)启用默认WEB服务的根目录/var/www/html,默认首页为index.html,内容为“Welcome to www.test.com”,使用IP地址和域名均可访问。

1、实验环境

角色主机名操作系统网卡IP地址备注
web服务器webserver.gc.comCentOS7.4vmnet1(仅主机)192.168.92.11虚拟机
web客户端webclient.gc.comCentOS7.4vmnet1(仅主机)192.168.92.101虚拟机

2、环境准备

  • web服务器

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=192.168.92.11
NETMASK=255.255.255.0
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens32
DEVICE=ens32
ONBOOT=yes
​
[root@localhost ~]# hostnamectl set-hostname webserver.gc.com
[root@localhost ~]# hostname
webserver.gc.com
​
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
​
[root@webserver ~]# getenforce 
Disabled
​
[root@webserver ~]# yum repolist all
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                          repo name                      status
dvd                              gc                             enabled: 3,894
repolist: 3,894
  • web客户端

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=192.168.92.101
NETMASK=255.255.255.0
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens32
DEVICE=ens32
ONBOOT=yes
​
[root@localhost ~]# hostnamectl set-hostname webclient.gc.com
[root@localhost ~]# hostname
webclient.gc.com
​
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
​
[root@webserver ~]# getenforce 
Disabled
​
[root@webserver ~]# yum repolist all
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                          repo name                      status
dvd                              gc                             enabled: 3,894
repolist: 3,894

3、配置文件解析

/etc/httpd/conf/httpd.conf              ###主配置文件
/usr/sbin/httpd                         ###二进制执行脚本
/var/log/httpd                          ###日志文件
/var/www/html                           ###网站根目录
/etc/httpd/conf.d/*.conf                ###子配置文件
/usr/lib64/httpd/ modules/              ###模块配置文件
/var/www/error/                         ###网页错误页面文件
/usr/lib/systemd/system/httpd.service   ###服务管理脚本

4、服务配置

(1)、安装软件包

[root@webserver ~]# yum install vim httpd -y

(2)、创建首页内容

[root@webserver ~]# echo "welcome to www.test.com" >> /var/www/html/index.html
[root@webserver ~]# cat /var/www/html/index.html 
welcome to www.test.com

(3)、启动服务并设置开机自启动

[root@webserver ~]# systemctl start httpd
[root@webserver ~]# systemctl enable httpd

5、客户端测试

(1)、安装测试软件包

[root@webclient ~]# yum install elinks -y

(2)、修改区域解析文件

[root@webclient ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.92.11   www.test.com

(3)、访问测试

[root@webclient ~]# curl http://192.168.92.11
welcome to www.test.com
[root@webclient ~]# elinks --dump http://www.test.com
   welcome to www.test.com

(2)在Apache服务器中创建名为/vfolder的虚拟目录,它对应的物理路径是/var/tfolder,虚拟目录默认首页为default.html,内容为“Welcome to www.test.com/vfolder”。

6、服务配置

(1)、创建目录和首页

[root@webclient ~]# mkdir /var/tfolder
[root@webclient ~]# echo "welcome to www.test.com/vfolder" >> /var/tfolder/default.html
[root@webclient ~]# cat /var/tfolder/default.html 
welcome to www.test.com/vfolder

(2)、修改配置文件

[root@webserver ~]# cat /etc/httpd/conf/httpd.conf
ServerName www.test.com:80
<Directory "/var/tfolder">
    AllowOverride None
    Require all granted
    Options None
</Directory>
<IfModule dir_module>
    DirectoryIndex index.html default.html
</IfModule>
<IfModule alias_module>
    Alias /vfolder "/var/tfolder"
</IfModule>

(3)、重启服务

[root@webserver ~]# systemctl restart httpd

7、客户端测试

  • 访问测试

[root@webclient ~]# curl http://192.168.92.11/vfolder/
welcome to www.test.com/vfolder
[root@webclient ~]# elinks --dump http://www.test.com/vfolder
   welcome to www.test.com/vfolder