本文主要讲述在一个基于Debian操作系统和apache服务器的主机上配置多站点的方式
最近搭建的多个站点都是基于debian操作系统, 都是在阿里云上搭建Lamp环境 . 自己在本地也使用Vagrant装载一个debian的box用来作为开发环境中的本地服务器. 本文记录了基于多站点配置是如何做到的
我在阿里云以及Vagrant虚机中都是使用 apt-get install apache2 的方式直接安装的apache服务器.
debian下Apache的配置文件位置在debian或基于debian的Linux发行版中apache安装后的默认配置文件所在目录都是在/etc/apache2/ 目录下.
在这个目录下有如下目录
另外:
apache2.conf 是主配置文件 httpd.conf 用户配置文件 ... 进行配置多站点的配置主要在 /etc/apache2/sites-available目录下进行
假如我们需要建立两个名字分别为project1和project2的站点, 那我们可以在sites-available目录下先建立这两个文件(本文中的$号表示shell指示符, 不是输入的部分)
然后在project1中写入如下格式内容
<VirtualHost *:80> ServerAdmin admin@project.com ServerName project1.com ServerAlias www.project1.com DocumentRoot /var/www/project1/ </VirtualHost>在project2中写入
<VirtualHost *:80> ServerAdmin admin@project.com ServerName project2.com ServerAlias www.project2.com DocumentRoot /var/www/project2/ </VirtualHost>这里主要的信息在于ServerName和DocumentRoot . ServerName后面需要填写的站点绑定的域名. DocumentRoot后面填写站点根目录 .
这里的ServerAlias是指站点的别名, ServerAdmin是站点管理员的信息
我们在刚才在sites-available目录下建立的project1和project2文件中分别写上了这两个站点的根目录地址, 那么我们就要创建这两个目录
$cd /var/www $mkdir project1 $mkdir project2然后我们就可以将project1.com和project2.com这两个域名都解析到我们的主机IP (这里project1.com 和 project2.com 当然是虚拟的, 自己配置的时候根据实际情况来就可以) .
域名解析配置完成后, 我们需要使用以下指令启用站点
当我们执行了这两个命令之后会发现在 /etc/apache2/sites-enable/ 目录下出现了 project1 和 project2 两个link文件. 前面说过sites-enable是包含已经启用的站点配置的文件夹, 这就代表着. 我们通过a2ensite命令启用sites-available目录中的站点配置后, apache就会在sites-enable中创建一个对应的配置连接 . 那这样的话, 配置模块的 mods-available和mods-enable 目录是否也有同样的特点呢 ???
问题大家自己思考, 我们接下来重启apache服务器
service apache2 restart然后分别上传文件到这两个站点的根目录下, 就可以通过域名进行访问了. 这样就实现了在一个主机上配置多个站点
关于配置命令 a2enmod rewrite 启用rewrite模块 a2dismod rewrite 停用rewrite模块 a2ensite siteConfName 启用站点siteConfName a2dissite siteConfName 停用站点siteConfNameUbuntu Server 14.04 安装Web服务器(Linux+Apache+MySQL+PHP)
Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置
CentOS 5.9下编译安装LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12)