apache服务器以及虚拟主机的配置
简介
apache版本:2.4
centos中配置文件路径及文件名:/usr/local/apache/conf/httpd.conf。
mac OS中,配置文件的路径及文件名:/etc/apache2/httpd.conf。
不同的安装路径,配置文件的路径可能会不一样,但是文件名总是httpd.conf。
首先要明白的一点,真正对apache进行控制的是apachectl命令,路径是path/to/apache/bin/apachectl。
虽然在centos、RHEL中使用service httpd [start | stop | restart | status ]来对apache进行操作,实际上都是使用的下面这条命令:
path/to/apache/bin/apachectl [start | stop | restart | status ]
至于为什么可以使用service httpd xxx来操作apache,可以参考这篇博客:制作自己的服务脚本
和httpd.conf同级的有几个重要的目录:
1、cgi-bin目录,存的是CGI程序,关于CGI的博客,可以参考这篇博客:初始CGI
2、bin目录,包含apache各种服务的二进制文件(可执行的命令)
3、conf目录,存放的是apache的配置文件目录
其中conf目录很重要,其目录下包含以下目录和文件:
1、httpd.conf文件,apache的主配置文件
2、extra目录,包含很多apache的辅配置文件,可以在主配置文件中选择是否加载这些辅配置文件中的配置。
配置项
ServerRoot 服务器的根目录
注意:这个不是网站文件的根目录,而是服务器的根目录,保存着一些组件、配置文件等
Listen 监听,可以指定ip + port,也可以只指定port。
这里的监听ip是这样的,如果一台电脑的ip是192.168.1.104,那么他就可以监听这个ip地址,也就是本地,此时指定一个80端口,表示让apache监听本机的80端口,其他机器访问本机没有监听的端口,本机服务器并不会响应。
警告:这里监听的ip不是指白名单那种可以访问本机服务器的ip,而是本机
注意:这里可以不用写ip,表示监听本机所有的ip地址的指定port(对于有多ip的主机而言)
如果写为listen 127.0.0.1:80,那么只能通过本机访问服务器。
建议:要么只写port,要么写本机ip + port。
可以监听多个接口,每行写一个Listen
ServerName 本机的域名或者ip
ServerName 使用ip+port来标识其自身的,也可以使用域名
其实这里的ServerName并没有什么用,只是用来标识自己的,这个标识是给自己配置人员看的,不是给访问服务器的人看的。
并且可以随意指定ip和port,哪怕这个ip不是你的ip,这个port你也没有监听。
DocumentRoot 网站的根目录
这里才是真正的网站各种文件的根目录,存放源代码、图片等资源的地方。
客户端对服务器访问的资源全都处在此目录之下。
<Directory 'path'> setting </Directory>
注意这个是两个Directory,类似html双标签一样。
用来为指定的path设置一些权限等操作。
path应该是DocumentRoot的子目录,比如某个目录某个目录下的文件是否允许可访问:setting就是deny from all
DirectoryIndex 当访问服务器的根路径,既没有指定访问的资源时,就会默认返回一个文件给客户端。
这里可以指定多个文件名,如果一个文件不存在,则返回下一个文件,以此类推。
这里最好将最常用的、访问最频繁的文件写在这里。
配置虚拟主机
根据端口来配置多个虚拟主机:注意主配置文件中要监听虚拟主机的端口。
<VirtualHost 192.168.1.104:80> ServerAdmin webmaster@example.com DocumentRoot "/home/www/one" ServerName 192.168.1.104 ErrorLog "/home/wwwlogs/IP-error_log" CustomLog "/home/wwwlogs/IP-access_log" combined <Directory "/home/www/one/"> AllowOverride All Order allow,deny Allow from all DirectoryIndex index.html index.php </Directory> </VirtualHost> <VirtualHost 192.168.1.104:90> ServerAdmin webmaster@example.com DocumentRoot "/home/www/two" ServerName 192.168.1.104 ErrorLog "/home/wwwlogs/IP-error_log" CustomLog "/home/wwwlogs/IP-access_log" combined <Directory "/home/www/two/"> AllowOverride All Order allow,deny Allow from all DirectoryIndex index.html index.php </Directory> </VirtualHost>
根据ip来配置多个主机,和上面的操作几乎一样,VirtualHost后面的ip改一下就行了。
注意:多ip的主机才可以使用这种方法。
相关文章
- Apache配置详解(最好的APACHE配置教程)
- apache 负载均衡策略_负载均衡slb
- 配置Apache把子目录设置为二级站点
- 异常处理;Apache安装后服务无法启动处理过程
- apache虚拟主机配置的三种方式(小结)
- Apache Hive 基本理论与安装指南详解大数据
- 以Apache、MySQL和PHP组成的最强技术栈(apache mysql php)
- Linux下重启Apache简易指令.(linux重启apache命令)
- Apache与MySQL的完美融合开启精彩程序之旅(apache加mysql)
- 如何在Apache中配置MySQL数据库连接(mysql、apache)
- Apache,PHP在Windows9x/NT下的安装与配置(二)
- Linux下PHP+MYSQL+APACHE配置过程(摘)
- win+apache+php+mysql+phpmyadmin环境配置方法
- PHP+Apache在Windows9x下的安装和配置
- Windows配置Apache以便在浏览器中运行Pythonscript的CGI模式
- Apache与Tomcat服务器整合的基本配置方法及概要说明
- CentOS(Linux)下的apache服务器配置与管理方法分享
- apache日志配置一例
- apache服务器全局配置详解(全)
- Apache启用GZIP压缩网页传输方法
- Apache简介及安全配置方案
- Apache安装配置mod_pagespeed加速模块