共计 2646 个字符,预计需要花费 7 分钟才能阅读完成。
前言
本文主要讲述在一个基于 Debian 操作系统和 apache 服务器的主机上配置多站点的方式
最近搭建的多个站点都是基于 debian 操作系统, 都是在阿里云上搭建 Lamp 环境 . 自己在本地也使用 Vagrant 装载一个 debian 的 box 用来作为开发环境中的本地服务器. 本文记录了基于多站点配置是如何做到的
我在阿里云以及 Vagrant 虚机中都是使用
apt-get install apache2
的方式直接安装的 apache 服务器.
debian 下 Apache 的配置文件位置
在 debian 或基于 debian 的 Linux 发行版中 apache 安装后的默认配置文件所在目录都是在 /etc/apache2/
目录下.
在这个目录下有如下目录
mods-available 包含可以使用的模块 | |
mods-enabled 包含已经启用的模块 | |
sites-available 包含可以使用的站点配置 | |
sites-enabled 包含已经启用的站点配置 | |
另外:
apache2.conf 是主配置文件 | |
httpd.conf 用户配置文件 | |
进行配置
多站点的配置主要在 /etc/apache2/sites-available
目录下进行
假如我们需要建立两个名字分别为 project1 和 project2 的站点, 那我们可以在 sites-available 目录下先建立这两个文件(本文中的 $ 号表示 shell 指示符, 不是输入的部分)
$touch /etc/apache2/sites-available/project1 | |
$touch /etc/apache2/sites-available/project2 |
然后在 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 当然是虚拟的, 自己配置的时候根据实际情况来就可以) .
域名解析配置完成后, 我们需要使用以下指令启用站点
$a2ensite project1 | |
$a2ensite project2 |
当我们执行了这两个命令之后会发现在 /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 停用站点 siteConfName |
Ubuntu Server 14.04 安装 Web 服务器(Linux+Apache+MySQL+PHP) http://www.linuxidc.com/Linux/2015-06/119061.htm
Linux 下安装配置 PHP 环境(Apache2) http://www.linuxidc.com/Linux/2015-05/118062.htm
Linux 下 Apache 服务器配置 http://www.linuxidc.com/Linux/2016-06/132025.htm
Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm
CentOS 5.9 下编译安装 LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12) http://www.linuxidc.com/Linux/2013-03/80333p3.htm
Linux 下 Apache 服务器配置 http://www.linuxidc.com/Linux/2016-10/136517.htm
Linux 下 Apache 虚拟主机的配置 http://www.linuxidc.com/Linux/2016-04/130381.htm
Ubuntu 下 Apache 的安装与配置 http://www.linuxidc.com/Linux/2016-11/136841.htm
CentOS 6.5 安装 Apache-2.4.10 及安全配置 http://www.linuxidc.com/Linux/2016-12/137985.htm
Apache 的详细介绍:请点这里
Apache 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-12/138943.htm
