1. 修改 apache 服务器指向的根目录

macOS 默置了 apache,有以下几个常用命令:

sudo apachectl -v // 查看 apache 版本
httpd -v // 同上
sudo apachectl start
sudo apachectl stop
sudo apachectl restart
sudo apachectl -t // 查看当前 apache 运行情况

当我们启动 apache 后,在浏览器地址栏输入 localhost,看到 "It works!" 字样就对了。这个 html 文件位于 /Library/Webserver/Documents/ 下,该目录也就相当于 wampserver 下的 www 目录。如果不修改默认指向的目录,以后所有的文件都必须放在该目录下,不大方便,我们可以修改 /etc/apache2/httpd.conf 文件,搜索 DocumentRoot,进行修改(sudo vi http.conf)。(因为接下来的每个虚拟主机配置都会设定 DocumentRoot,所以修改这里的 DocumentRoot 看起来并不是必须的)

DocumentRoot "/Users/fish/www"
<Directory "Users/fish/www">

比如我把根目录指向了 /Users/fish/www 目录下,这时启动 apache,输入 localhost,打开的就是该目录下的 index 文件了。

2. 配置文件中开启 virtual hosts

上一步骤中的 httpd.conf 文件中,打开 vhosts 开关(去掉行首注释 #)

Include /private/etc/apache2/extra/httpd-vhosts.conf

3. 修改 httpd-vhosts.conf 文件

该文件位于 /etc/apache2/extra/ 文件夹中。现在比如我在 /Users/fish/www/ 目录中新建了个名为 test 的文件夹,想用 www.test.com 去访问,可以在该文件中添加如下:

<VirtualHost *:80>
    DocumentRoot "/Users/fish/www/test"
    ServerName www.test.com
    ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log"
    CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common
</VirtualHost>

这里注意修改的话都要用管理员权限 (sudo vi xxx)

4. 修改 hosts 文件

sudo vi /etc/hosts

添加一行 127.0.0.1 www.test.com

5. localhost 不能访问了?

这个时候,我们启动或者重启下 apache,便能访问 www.test.com,但是访问 localhost 却出错了,这时我们需要再次修改 httpd-vhosts.conf 文件,添加如下:

<VirtualHost *:80>
    DocumentRoot "/Users/fish/www/"
    ServerName localhost
    ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log"
    CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common
</VirtualHost>

6. 其他

如果出现这样错误 AH00557: httpd: apr_sockaddr_info_get() failed for fishdeMacBook-Pro.local,在 hosts 文件中添加 127.0.0.1 fishdeMacBook-Pro.local 即可。

macOS 中 apache vhosts 配置备忘的更多相关文章

  1. 生产服务器环境最小化安装后 Centos 6.5优化配置备忘

    生产服务器环境最小化安装后 Centos 6.5优化配置备忘 作者:Memory 发布于:2014-8-13 15:00 Wednesday 服务器 本文 centos 6.5 优化 的项有18处: ...

  2. 生产服务器环境最小化安装后Centos 6.5优化配置备忘

    生产服务器环境最小化安装后 Centos 6.5优化配置备忘 本文 centos 6.5 优化 的项有18处,列表如下: 1.centos6.5最小化安装后启动网卡 2.ifconfig查询IP进行S ...

  3. Manjaro启动项目及服务配置备忘

    Manjaro启动项目及服务配置备忘 =============== 系统服务GUI管理搜索 systemdgenie 并安装,类似Windows的服务管理. ================ 系统启 ...

  4. mac中apache+mysql+php+phpMyAdmin配置备忘

    Mac OS X 内置Apache 和 PHP,使用起来非常方便.本文以Mac OS X 10.6.3和为例.主要内容包括: 启动Apache 运行PHP 安装MySQL 使用phpMyAdmin 配 ...

  5. centos配置备忘(apache\php\mysql)

    1. 安装apache\php\mysql=======================================yum -y install httpd php mysql mysql-ser ...

  6. jenkins持续集成配置备忘

    配过好几次,但是老忘记.记录备忘. 安装下列插件: ssh和git插件用来下载源码 publish over ssh 插件用来发布代码到测试环境. email插件用来更强大的email配置. file ...

  7. wampserver2.5 在 Win7 64位下的相关配置备忘

    发现运行和配置这个版本和之前的Wampserver有些差异,特此记录 1).wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b,另外有可能需要安 ...

  8. Web Config配置备忘

    数据压缩 <httpCompression>节点用于配置静态压缩和动态压缩,<urlCompression>则用于开关 http压缩 <urlCompression do ...

  9. vps_centos_7_系统环境常规配置备忘

    1.设置时区(东八区) 1> 选择亚洲东八区北京时间:tzselect (按照提示选择指定的序号直到北京时间) 2>替换时区文件 :cp /usr/share/zoneinfo/Asia/ ...

随机推荐

  1. CentOS 6.5 安装MySQL过程

    使用软件的版本 CentOS 6.5 mysql-5.5.22.tar.gz cmake-2.8.6.tar.gz 准备工作 解压安装mysql之前把关于mysql软件包卸载,以免程序冲突,端口冲突. ...

  2. 获取spring容器上下文(webApplicationContext)的几种方法

    在很多情况,我们需要先获取spring容器上下文,即webApplicationContext,然后通过webApplicationContext来获取其中的bean.典型的情况是,我想在一个并未委托 ...

  3. 使用Flink时从Kafka中读取Array[Byte]类型的Schema

    使用Flink时,如果从Kafka中读取输入流,默认提供的是String类型的Schema: val myConsumer = new FlinkKafkaConsumer08[String](&qu ...

  4. Intellij Idea配置MapReduce编程环境

    原文参考地址:http://www点w2bc点com/article/229178 增加内容:question1: Hadoop2以上版本时,在Hadoop2的bin目录下没有winutils.exe ...

  5. 55、js对象

    在python中我们学习了面向对象,javascript也是一门面向对象语言,在JavaScript中除了null和undefined以外其他的数据类型都被定义成了对象. JavaScript的对象简 ...

  6. 写给自己的web总结——css篇(1)

    上一篇写了关于html的知识,算是小试牛刀,这次来尝试写一下css. 初步了解css css的全称为cascading style sheet-- 层叠样式表,通过编入代码来对html里的标签做出各种 ...

  7. 【java】io流之字节输入流:java.io.InputStream类及子类java.io.FileInputStream

    package 文件操作; import java.io.File; import java.io.FileInputStream; import java.io.IOException; impor ...

  8. 【java】Vector

    package com.tn.collect; import java.util.Enumeration; import java.util.Iterator; import java.util.Ve ...

  9. ES6之Class

    ES6中的Class和JS的比起来无疑是让对象原型的写法更加清晰,更像面向对象编程的语法而已,注意一个问题ES6里面的Class的内部定义的所有方法都是不可枚举的,而且在ES6中Class不存在变量提 ...

  10. 仿知乎app登录界面(Material Design设计框架拿来就用的TexnInputLayout)

    在我脑子里还没有Material Design这种概念,就我个人而言,PC端应用扁平化设计必须成为首选,手当其冲的两款即时通讯旺旺和QQ早就完成UI扁平化的更新,然而客户端扁平化的设计本身就存在天生的 ...