查看原文请访问:http://codewenda.com/ubuntu16-04%E9%85%8D%E7%BD%AEapache%E6%94%AF%E6%8C%81%E5%A4%9A%E4%B8%AA%E7%AB%99%E7%82%B9/

 

怎样在一个Ubuntu的机器上(虚拟机)配置Apache支持多个网站呢?

比如你有一台独立的Ubuntu虚拟机,配有一个外网的IP(45.46.47.48),并且注册了两个域名AAA.com和BBB.com,将这两个域名DNS解析到你虚机的IP地址。假设你已经安装好了Apache,一切都是默认的设置。
我们需要在这一个server上面,同时host AAA.com,BBB.com

第一步:修改hosts文件

在Ubuntu系统中,hosts文件目录为/etc/hosts,可以用vi编辑
sudo vi /etc/hosts
添加一下两行内容:
127.0.0.1 AAA.com
127.0.0.1 BBB.com

第二步:创建站点目录

默认一个站点,我们的站点目录为/var/www/html,这里我们分别为两个站点创建两个目录:
创建目录/var/www/html/AAA/, 并创建一个index.html文件,添加内容”Hello, site AAA”
然后,
创建目录/var/www/html/BBB/, 并创建一个index.html文件,添加内容”Hello, site BBB”

第三步:修改apache config文件

进入目录 /etc/apache2/sites-available/
可以看到有一个默认文件000-default.conf,我们可以直接将其作为A站点的config文件,它的内容如下:

  1. <VirtualHost*:80>
  2. ServerName AAA.com
  3. ServerAlias www.AAA.com
  4. <Directory/var/www/html/AAA/>
  5. AllowOverride All
  6. </Directory>
  7. ServerAdmin webmaster@localhost
  8. DocumentRoot /var/www/html/AAA
  9. ErrorLog ${APACHE_LOG_DIR}/error.log
  10. CustomLog ${APACHE_LOG_DIR}/access.log combined
  11. </VirtualHost>
 

运行命令为BBB.com创建配置文件:
sudo cp 000-default.conf 001-default.conf
修改其内容如下:

  1. <VirtualHost*:80>
  2. ServerName BBB.com
  3. ServerAlias www.BBB.com
  4. <Directory/var/www/html/BBB/>
  5. AllowOverride All
  6. </Directory>
  7. ServerAdmin webmaster@localhost
  8. DocumentRoot /var/www/html/BBB
  9. ErrorLog ${APACHE_LOG_DIR}/error.log
  10. CustomLog ${APACHE_LOG_DIR}/access.log combined
  11. </VirtualHost>
 

第四步:启动站点

运行命令:
sudo a2ensite 000-default.conf
sudo a2ensite 000-default.conf
如果提示需要运行apache load,你可以按照提示运行命令。

第五步:重启Apache service

运行命令:
sudo service apache2 restart

第六步:验证

你可以在浏览器中分别输入AAA.com和BBB.com查看是否和index里面的内容一致。如果和预期一致,那么就完成了Apache多站点的配置了。

是不是很简单?有问题欢迎直接留言。

在一个Ubuntu系统上配置Apache支持多个站点的更多相关文章

  1. 如何在一个ubuntu系统上搭建SVN版本控制工具

    有话说,由于公司项目部署需要,将Windows工程迁移到Linux,通过调查确定使用Ubuntu的Linux操作系统.那么如何快速搭建和Windows一样快捷方便的开发环境就很重要了.本文讲述如何在一 ...

  2. Ubuntu14.04配置Apache支持多个站点

    怎样在一个Ubuntu的机器上(虚拟机)配置Apache支持多个网站呢? 比如你有一台独立的Ubuntu虚拟机,配有一个外网的IP(45.46.47.48),并且注册了两个域名AAA.com和BBB. ...

  3. ubuntu系统下配置php支持SQLServer数据库

    最近在做一个项目,该项目的数据库是微软公司的的SQLserver ,数据库安装在另一台windows服务器上,而项目却部署在ubuntu server上.那么这样就会涉及到项目在linux上如何链接S ...

  4. Ubuntu系统下配置PHP支持SQLServer 2005

    最近在做一个项目,该项目的数据库是微软公司的的SQLserver ,数据库安装在另一台windows服务器上,而项目却部署在ubuntu server上.那么这样就会涉及到项目在linux上如何链接S ...

  5. 在Ubuntu系统上搭建Hadoop 2.x(2.6.2)

    官方的中文版的Hadoop快速入门教程已经是很老的版本了,新版的Hadoop目录结构发生了变化,因此一些配置文件的位置也略微调整了,例如新版的hadoop中找不到快速入门中提到的conf目录,另外,网 ...

  6. Ubuntu系统下允许Apache的mod_rewrite功能

    首先,使能apache的rewirte模块,在shell里输入下边的命令: sudo a2enmod rewrite 然后重启一下webserver使更改生效 sudo service apache2 ...

  7. Nginx: ubuntu系统上如何判断是否安装了Nginx?

    问题描述:ubuntu系统上,如何查看是否安装了Nginx? 解决方法:输入命令行:ps -ef | grep nginx master process后面就是Nginx的安装目录. 延伸:1. 如何 ...

  8. ubuntu系统自动配置开机启动脚本

    以前一直搞的centos配置开机启动脚本,但是相同方法用在ubuntu系统上就不管用了,非常伤脑筋. 非常感谢  https://www.linuxidc.com/Linux/2017-09/1471 ...

  9. Windows Server 2016 上配置 APACHE+SSL+PHP+perl

    Windows Server 2016 上配置 APACHE+SSL+PHP+perl 安装环境 谷歌云实例 Windows Server 2016 Apache Apache/2.4.25 (win ...

随机推荐

  1. Java CPU占用率高分析

    首先,通过top命令找出CPU占用率高的进程: 然后,通过ps -o THREAD,tid,time -mp 2066命令找出执行时间最长的线程的TID 将有问题的TID转为16进制格式: print ...

  2. UIView的autoresizingMask属性研究

    在 UIView 中有一个autoresizingMask的属性,它对应的是一个枚举的值(如下),属性的意思就是自动调整子控件与父控件中间的位置,宽高. 1 2 3 4 5 6 7 8 9 enum  ...

  3. [mysql]mysql弱密码字典检测

    1.如何定义弱密码 和用户名一致 连续字符 连续数字 空密码 2.生成弱密码字典 3.检测脚本 4.结果

  4. squid总结

    squid可以完成的工作: 代理服务器 反向代理服务器 防火墙 缓存功能 透明代理 squid和varnish的对比,以及squid的优缺点说明: 缓存到硬盘,容易遇到I/O瓶颈 V3.2以下不支持多 ...

  5. apt-get update的hit和ign含义

    How do Ign and Hit affect apt-get update? From what I can see in the apt source code, "Ign" ...

  6. JupyterHub的安装与配置——让Jupyter支持多用户

    1.下载anaconda 打开https://www.continuum.io/downloads,找到自己要的版本 如:https://repo.anaconda.com/archive/Anaco ...

  7. SQL Server 代理(已禁用代理 XP)

    sp_configure 'show advanced options', 1; GO RECONFIGURE WITH OVERRIDE; GO sp_configure 'Agent XPs', ...

  8. Mybatis(1) 创建Mybatis HelloWorld

    简介: MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 ...

  9. linux部署j2eeweb工程涉及到的指令

    1.查看java进程: ps -e | grep java; 可以获取到java进程的进程号. 或: ps -ef | grep java; 可以查看到详细的进程信息 2.杀死java进程 kill ...

  10. [uva11174]村民排队 递推+组合数+线性求逆元

    n(n<=40000)个村民排成一列,每个人不能排在自己父亲的前面,有些人的父亲不一定在.问有多少种方案. 父子关系组成一个森林,加一个虚拟根rt,转化成一棵树. 假设f[i]表示以i为根的子树 ...