Apache服务器多站点配置

debian下Apache的配置文件位置

默认配置文件所在目录都是在/etc/apache2/

目录下有如下目录

conf-available    包含可以使用的配置文件
conf-enabled      包含已经启用的配置文件
mods-available    包含可以使用的模块
mods-enabled      包含已经启用的模块
sites-available   包含可以使用的站点配置
sites-enabled     包含已经启用的站点配置

配置文件:

apache2.conf    主配置文件
ports.conf      默认监听端口
envvars          apache的设置变量如log位置
magic            ?

apache2.conf
指定wwwroot可用

<Directory /www/wwwroot/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

多站点的配置

建站web1 web2
web1
域名为blog.domain.org
站点别名为name_blog
配置文件为web1_blog.conf
页面文件目录为/www/wwwroot/blog/

web2
域名为web.domain.org
站点别名为name_web
配置文件为web2_www.conf
页面文件目录为/www/wwwroot/web/

根据apache2.conf
配置文件目录指向

/etc/apache2/sites-available

在sites-available目录下建立web1_blog

#touch /etc/apache2/sites-available/web1_blog.conf

在sites-available目录下建立web2_www

#touch /etc/apache2/sites-available/web2_www.conf

web1_blog中写入:

<VirtualHost *:80>
  ServerAdmin [email protected]
  ServerName blog.domain.org
  ServerAlias name_blog
  DocumentRoot /www/wwwroot/blog
</VirtualHost>

web2_www中写入:

<VirtualHost *:80>
  ServerAdmin [email protected]
  ServerName www.domain.org
  ServerAlias name_web
  DocumentRoot /www/wwwroot/www
</VirtualHost>

web3_xxx
web4_xxx
5
6
7

ServerName        域名站点绑定
DocumentRoot      站点根目录
ServerAlias       站点别名
ServerAdmin       站点管理员信息如邮件

web1 web2创建目录

#mkdir /www/wwwroot/blog /www/wwwroot/www

用a2ensite启用站点

#a2ensite web1_blog.conf
#a2ensite web2_www.conf

执行了a2ensite之后会在
/etc/apache2/sites-enable/
创建web1_blog和web2_www两个link文件.
sites-enable是包含已经启用的站点配置的文件夹
通过a2ensite命令启用在sites-available目录中已经配置好的站点
apache就会在sites-enable中创建一个对应的配置连接。
这样的好处是对于维护站点更加方便

配置模块的mods-available和mods-enable目录同样道理。

a2enmod rewrite 启用rewrite模块
a2dismod rewrite 停用rewrite模块

重新加载apache服务

#systemctl reload apache2

分别上传文件到这两个站点的根目录下,就实现了在一个主机上配置多个站点。

关于配置命令

a2enmod rewrite         启用rewrite模块
a2dismod rewrite        停用rewrite模块
a2ensite siteConfName   启用站点siteConfName
a2dissite siteConfName  停用站点siteConfName