1.web 服务器软件
Nginx --->反向代理
Apache --->Php
IIs --->Asp.net
tomcat --->Java
2.安装Web服务器软件
安装一个常用的web放服务器软件 Apache HTTP Server
安装解压版的Apache 服务器
bin目录是二进制的目录,exe是二进制的文件 可运行的东西放在里面
3.打开windows 服务
cmd -->services.msc 查看所有的服务
4.安装apache服务
httpd.exe -k install -n "Apache"(服务器名称 可自定义)
Testing httpd.conf...
问题1:出现 ServerRoot must be a valid directory(需改配置文件apache/conf/httpd.conf中 ServerRoot:''的路径)apache的安装路径,修改后测试 命令:httpd -t
问题2:提示DocumentRoot “c:/apache/...”is not a directory or is not readable 因为很多未修改路径的目录文件名,修改为文件的安装目录 路径
问题3:httpd:Could not reliably determine the server's fully qualified domain name ...
set the 'ServerName' directive globally to suppress this message
解决方案:设置ServerName localhost
5.启动apache服务器
httpd -k start -n "Apache"
6.如果网络设备没有连接任何网络情况,我们会有一个本地回环地址 127.0.0.1
7.路由器或交换机中的 192.168.1.1属于网关 ,192.168.1是网段
8.DNS服务器 DNS寻址 通过宽带运营商提供的服务器解释一个域名背后对应的Ip 这个过程过程叫做DNS寻址
帮你完成DNS寻址过程的服务器叫做DNS服务器
9.php中 host文件 操作系统在发起DNS服务器的查询请求之前,会优先检查本机的hosts文件,如果这个文件中包含了对当前解析的域名的配置,则不再发起对DNS服务器的请求,直接使用hosts文件中的配置
windows/system32/drivers/etc/hosts 192.0.0.1 www.baidu.com
本机的hosts文件配置只能影响到本机的DNS寻址
10.端口 每台计算机只有65536个端口
可以通过在命令行中运行 netstat -an 命令监听本机端口使用情况
http默认的端口 80
https默认的端口 443
11.监听端口 在httpd.conf文件中 修改 Listen 80
12.网站根目录 默认根目录为:apache/htdocs/
在httpd.conf文件中 修改 DocumentRoot "D:www/"
<Directory "D:www/">
问题1.Forbidden You don't hava permission to access/on this server(所有文件磁盘根目录/禁止访问)
<Directory /> (禁止所有'/'下的目录访问)
AllowOverride None
Require all denied (禁止所有'/'下的目录访问)
</Directory >
修改<Directory "D:www/">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted ("D:www/"目录允许访问)
</Directory >
13.index.html 为默认文档
修改<IfModule dir_module>
DirectoryIndex index.html (可以改为任意默认文件)
</IfModule>
14.目录浏览 禁止访问目录浏览
修改<Directory "D:www/">
Options (Indexes )FollowSymLinks (把Indexes去掉)
AllowOverride None
Require all granted
</Directory >
15.虚拟主机 httpd.conf中 Virtual Host
Include conf/extra/httpd-vhosts.conf
httpd-vhosts.conf中 配置虚拟主机
*80 监听绑定在当前电脑上的任意IP 的80 端口
由于多个虚拟主机一同工作,每个虚拟主机必须配置 ServerName
<VirtualHost *:80> (监听绑定在当前电脑上的任意IP 的80 端口)
ServerAdmin 163@.com
DocumentRoot "d:/www/" 网站根目录
ServerName www.baidu.com
ServerAlias www.baidu 别名.com
Errorlog "logs/baidu.log"
CustomLog "log/" common
</VirtualHost>
16.清除DNS缓存 浏览器中输入 chrome://chrome-urls-->chrome://net-internals-->DNS
DNS->先找浏览器缓存->再找操作系统缓存->再找hosts文件->再找运行商DNS服务器
17.配置多个虚拟主机(添加Directory允许访问的路径)
一:
<VirtualHost *:80> (监听绑定在当前电脑上的任意IP 的80 端口)
ServerAdmin 163@.com
DocumentRoot "d:/www/" 网站根目录
<Directory "D:www/">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted ("D:www/"目录允许访问)
</Directory >
ServerName www.baidu.com
ServerAlias www.baidu 别名.com
Errorlog "logs/baidu.log"
CustomLog "log/" common
</VirtualHost>
二:
<VirtualHost *:80> (监听绑定在当前电脑上的任意IP 的80 端口)
ServerAdmin 163@.com
DocumentRoot "d:/aaa/" 网站根目录
<Directory "D:aaa/">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted ("D:www/"目录允许访问)
</Directory >
ServerName www.baidu.com
ServerAlias www.baidu 别名.com
Errorlog "logs/baidu.log"
CustomLog "log/" common
</VirtualHost>
18.Apache 加载php处理模块
在httpd.conf中加载 如下代码
LoadModule php7_module(名称可以随便起) c:php/apache2_4.dll
这个模块不是根据后缀判断是否 php工作,根据MIME Type 是不是 application/x-httpd-php 决定是否让php上场
在httpd.conf中载入 MIME type为application/x-httpd-php的文件
<IfModule mime_module>
TypesConfig conf/mime.types
AddType application/x-httpd-php .php
</IfModule>