1、目录结构详解
一般情况下 , apache安装好后 , 其目录结构大致如图(linux也差不多):

文章插图
conf #主要存放了配置文件httpd.conf
logs #日志文件存放的目录
bin #执行文件存放的目录 , 比如:(ab 常用压测工具) , (apachectl 控制apache启动的 , 实际调用的httpd) , (apxs apache扩展编译的工具) , (htpasswd 为网站设置用户名密码) , (httpd apache的控制命令程序) , (rotatelogs apache的日志轮询工具)等
cgi-bin #CGI处理程序的存放目录
manual #一些帮助及说明文档
modules #apache加载的module文件存放目录(缺省配置)
可能还有这么几个目录:
conf.d #里面存放的是一些额外的参数文档 , 比如php.conf , 可以自定义设置一定配置参数放置到该目录
vhost #虚拟主机配置文件存放的目录 , 这个也是自定义的—phpstudy则直接把配置放到conf/vhost.conf 这个文件里 , 效果是一样的 。
run #PID文件存放的目录(可以自行更改)
htdocs #apache网站程序文件存放目录(可以自定义)
2、httpd.conf 主配置文件详解
```
ServerRoot"D:/phpStudy/PHPTutorial/Apache"// apache安装目录Listen 80//监听端口# Example:# LoadModule foo_module modules/mod_foo.so//拓展加载<IfModule unixd_module>User daemon//apache运行用户Group daemon//apache运行组</IfModule>ServerAdmin admin@php.cn//管理员邮箱ServerName localhost//管理地址-本地根目录地址DocumentRoot"D:phpStudyPHPTutorialWWW"//根目录<Directory />//根目录配置Options +Indexes +FollowSymLinks +ExecCGIAllowOverride AllOrder allow,denyAllow from allRequire all granted</Directory><IfModule dir_module>DirectoryIndex index.html index.php index.htm l.php//站点目录首页文件</IfModule><Files ".ht*">//防止WEB用户查看以.ht开头的隐藏文件Require all denied</Files>ErrorLog "logs/error_log"//错误日志LogLevel error//错误日志等级<IfModule log_config_module>//错误日志配置LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combinedLogFormat "%h %l %u %t "%r" %>s %b" common<IfModule logio_module>LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %I %O" combinedio</IfModule></IfModule><IfModule alias_module>//别名设置#ScriptAlias /cgi-bin/ "H:/adsdv01/php/Apache/cgi-bin/"//CGI别名设置</IfModule><IfModule cgid_module></IfModule><IfModule mime_module>TypesConfig conf/mime.typesAddType Application/x-compress .ZAddType application/x-gzip .gz .tgz</IfModule>Include conf/extra/httpd-mpm.conf//引入文件Include conf/extra/httpd-php.confInclude conf/vhosts.conf//****引入vhosts虚拟机配置文件SSLSessionCache"shmcb:logs/ssl_scache(512000)"SSLSessionCacheTimeout300<IfModule ssl_module>//ssl证书配置SSLRandomSeed startup builtinSSLRandomSeed connect builtin</IfModule><IfModule setenvif_module>BrowserMatch "MSIE 10.0;" bad_DNT</IfModule><IfModule headers_module>RequestHeader unset DNT env=bad_DNT</IfModule>```3、vhosts.conf 虚拟机配置文件详解
先直接上配置:
```
<VirtualHost _default_:80>默认localhost根目录 , 监听80端口DocumentRoot "D:phpStudyPHPTutorialWWW"<Directory "D:phpStudyPHPTutorialWWW">Options -Indexes +FollowSymLinks +ExecCGIAllowOverride AllOrder allow,denyAllow from allRequire all granted</Directory></VirtualHost><VirtualHost *:80>DocumentRoot "D:phpStudyPHPTutorialWWW网站代码根目录"ServerName www.域名.comServerAlias 服务别名<Directory "D:phpStudyPHPTutorialWWW网站代码根目录">Options FollowSymLinks ExecCGIAllowOverride AllOrder allow,denyAllow from allRequire all granted</Directory></VirtualHost>```VirtualHost: 表示基于名称的虚拟主机 *:80表示监听本机所有IP的80端口上提供HTTP服务 , *可以设置为具体IP
DocumentRoot: 网站代码目录
ServerName: 解析的域名地址
< Directory ></ Directory> 配置目录权限
AllowOverride:禁止用户对目录配置文件.htaccess修改 , 一般为none
DirectoryIndex: 站点目录首页文件多个文件用空格隔开
Order和Allow: IP限制
Options:主要作用是控制特定目录将启用哪些服务器特性 , 参数有:All、None、FollowSymLinks、Indexes、MultiViews、SymLinksIfOwnerMatch、ExecCGI、Includes、IncludesNOEXEC 。参数说明如下图:
推荐阅读
- Python 四大主流 Web 编程框架
- Google Webmaster的站内链接工具方便SEO人员的网站分析
- Ubuntu16.04搭建VNC Server远程桌面服务器
- JSON WEB TOKEN JWT为啥这么流行
- 服务器端如何开启GZIP压缩功能
- 虚拟主机、服务器在网站建设选购主机大有讲究
- web API接口及restful规范详解
- 史上最全Linux服务器程序规范
- 分享Nginx搭建图片服务器简单实现
- 解决64位操作系统为Oracle服务器配置ODBC的问题
