服务器:(提供服务)指的就是一台安装了特定软件的公共计算机,专门用于提供特定的服务,按照服务类型的不同,又分为web服务器、数据库服务器、文件服务器等。
我们手头上的电脑都可以是一台服务器,因为服务器是一个相对的概念,只要能提供服务就可以是一个服务器。
客户端:(使用服务)指的是一次服务过程中使用这个服务的设备(网络端点),目前最常见的客户端就是浏览器。
web服务器软件
Nginx----------------反向代理
Apache-------------PHP
IIS--------------------ASP.NET
Tomcat-------------Java
安装Apache
-
进入到bin目录找到httpd.exe文件,以管理员身份打开命令行,执行安装此文件
配置Apache
监听端口
监听端口可以随意修改为任意一个未被其他程序监听的端口,可以通过设置配置文件httpd.conf中的Listen指令后面的数字修改。这里Apache默认占的是80这个门。不仅仅可以占一个端口,也可以同时设置多个端口,写多个Listen命令就可以了。设置完之后记得重新启动一下服务,最好在启动之前用httpd -t命令测试一下,看是否有错误。
网站根目录
网站根目录就是存放我们网站文件的最顶层目录,通常URL中域名后面的第一个斜线对应的就是网站根目录。
默认文档指的是我们在访问某一个目录时,默认访问的文件就叫做默认文档。
注:
动态网站情况比较特殊,需要单独考虑,不一定是这个规则。
默认文档
当客户端访问的是一个目录而不是某个具体的文件时,服务端会默认返回这个目录下的某个文档,一般是index.html文档(为啥呢?看下面),这个文档就称之为默认文档。当然这个文档也可以设置的,同样在httpd.conf文件中目录浏览
同样在配置文件中,把下图中的indexes去掉就可以取消目录的浏览虚拟主机
如果一台机器上只有一个网站的话,只要配置好网站的根目录、默认文档等就可以使用了,但是如果想要在一台机器上部署多个站点,就必须通过配置虚拟主机的方式解决。
配置方法:
1. 在httpd.conf配置文件中找到Include conf/extra/httpd-vhosts.conf这一行,并把注释解除掉;
2. 然后对应上面的路径找到Apache的虚拟主机配置文件E:\apache\Apache24\conf\extra\httpd-vhosts.conf,添加虚拟主机配置节点,并重启Apache
配置一个虚拟主机,*:80指的是绑定任意当前机器IP的80端口;
ServerAdmin 站长邮箱
DocumentRoot 网站根目录
ServerName 域名
ServerAlias 别名(多个域名可以访问同一个网站)
ErrorLog 错误日志
CustomLog 普通日志
(一旦配置了虚拟主机,那么默认绑定到机器上的IP和localhost就不起作用了,都会直接请求第一个虚拟主机)
静态网站与动态网站
通过上面的配置,客户端已经可以通过域名请求一个网站,Apache完成的事情就是找到请求对应的文件-à读取文件-à将文件内容相应给客户端浏览器(将文件原封不动的给客户端),无法满足让网页内容动起来的需求。服务端动态网页,实现这种概念的技术有:JSP,ASP.NET,PHP,Node等,这些技术的原理就是:不再将HTML固定写死,每次用户请求时,动态执行一段代码,临时生成一个用户想要的HTMl页面。
配置PHP
下载PHP安装包并解压
http://php.net/downloads.php-
在Apache的配置文件中配置php
打开此文件E:\apache\Apache24\conf\httpd.conf,配置PHP:
Apache与PHP
Apache是根据文件的扩展名找到文件的类型,然后挨个问一下每一个模块能否处理这个类型的文件,如果这些模块都不能处理,那么Apache就自己处理(按照静态文件的方式处理)。