Apache服务器配置

Posted bydzhangxiaowei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache服务器配置相关的知识,希望对你有一定的参考价值。

 

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 [email protected]
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 [email protected]
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 [email protected]
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>

以上是关于Apache服务器配置的主要内容,如果未能解决你的问题,请参考以下文章

配置完PHP,apache服务器不能运行,如何解决

Apache虚拟主机配置

Apache虚拟主机配置

高性能apache服务器配置大并发教程MPM模块配置

如何在CentOS配置Apache的HTTPS服务

如何恢复mac自带apache的默认配置