这篇文章主要是针对Mac用户,第一次搭建本地开发环境的同学,已经搭建过的同学可以忽略。

Mac自带的Apache还是XAMPP?

That is a question. 其实自带的apache也够用了,XAMPP可能更加方便些。比如本地服务重启的时候,不需要在终端里面敲sudo apachectl restart. 当然,可能还有一些其他的问题,比如我之前在使用CI框架配置rewrite的时候,自带的apache没有配置成功,然后换成XAMPP就可以了。而且,安装XAMPP,不会影响自带的apache,二者的安装路径是不同的。但是在使用的时候,最好只启动一个,否则会有冲突。在这里,我们使用了XAMPP来作为本地服务器,当然,自带的apache服务器的配置跟XAMPP是类似的,只是安装的路径不同而已。首先,我们先下载XAMPP。XAMPP下载地址:https://www.apachefriends.org/download.html . 下载好XAMPP,直接安装即可。

修改配置

XAMPP的默认安装目录为:/Applications/XAMPP,XAMPP的目录结构如下:

修改httpd.conf

httpd.conf文件所在目录为:/Applications/XAMPP/etc
打开httpd-conf,vim httpd-conf
查找关键字'rewrite',确认rewrite_module开启
查找关键字'php',确认php5_module开启
查找关键字'Directory',修改为以下语句:

然后保存httpd.conf,并退出。

配置虚拟主机

一般来说,为了方便本地调试,我们还需要使用虚拟主机。比如调试异步接口的时候,我们会配置本地域名为'local.xxx.com'等等,这样就方便在本地调试接口。
配置虚拟主机,我们需要开启httpd-vhosts.conf
打开httpd-conf
查找关键字'vhosts'
然后去掉'httpd-vhosts.conf'所在语句前面的'#',即去掉注释,如下图:

然后保存httpd.conf,并退出。

修改httpd-vhosts.conf

既然要开启虚拟主机的功能,接下来就需要修改httpd-vhosts.conf
httpd-vhosts.conf的所在目录为:/Applications/XAMPP/etc/extra
打开httpd-vhosts.conf
在底部插入一段代码,如下图所示:

我这里配置的域名是: 'local.design.com',你可以自定义哦。
DocumentRoot,这里写你代码所在的路径,一般的放在个人目录下的Sites目录。注意,这里的路径要写绝对路径,之前有同学配置路径的时候写的相对路径,就没有成功哦。
为了方便,Directory 可以设置为 AllowOverride All,Allow from All
然后保存httpd-vhosts.conf,退出。

修改hosts

为了让虚拟域名生效,需要修改hosts文件
Mac下可以使用ihosts, gas mask 等工具来修改hosts
在hosts里面添加:127.0.0.1 local.desgin.com即可
最后保存hosts,重启XAMPP

验证

在浏览器里面访问local.design.com,如果你能看到Sites下的目录,那说明开发环境已经配置成功。
不过如果自带apache服务还开启的时候,可能会提示404的错误。这时候需要停掉自带apache的服务。命令:sudo apachectl stop
如果输入上面的命令,提示失败,可以强制kill进程,即:sudo kill httpd,然后重启XAMPP即可。
至此,本地环境就搭建好咯,如果你是开发某个页面,那么直接把仓库代码clone到Sites目录下即可。如果不使用XAMPP,要使用自带的apache服务,除了etc的目录位置不同,其余的配置步骤跟上面也是几乎一样的哦。相信聪明的你,一定会触类旁通、举一反三的。

Mac下配置Apache服务的更多相关文章

  1. Mac下配置Apache Httpd的Https/SSL

    Mac下配置Apache Httpd的Https/SSL httpd版本: httpd-2.4.17 jdk版本: jdk1.8.0_65 参考来源: Mac下安装Apache Httpd Mac O ...

  2. 【高可用HA】Apache (4) —— Mac下配置Apache Httpd负载均衡(Load Balancer)之mod_jk

    Mac下配置Apache Httpd负载均衡(Load Balancer)之mod_jk httpd版本: httpd-2.4.17 jk版本: tomcat-connectors-1.2.41 参考 ...

  3. 【高可用HA】Apache (3) —— Mac下配置Apache Httpd负载均衡(Load Balancer)之mod_proxy

    Mac下配置Apache Httpd负载均衡(Load Balancer)之mod_proxy httpd版本: httpd-2.4.17 参考来源: Apache (1) -- Mac下安装Apac ...

  4. Mac下配置Apache,PHP

    注:如果觉得终端下编辑太麻烦,也可以直接将文件拖出来手动编辑后在放回原文件夹替换即可 1.启用Apache: 在Mac下打开终端,输入“sudo apachectl start”(不包含引号,下同) ...

  5. Mac下配置apache

    一.前言 今天遇到问题,怎么配置apache在Mac上,原来Mac自带apache,只需要自己开启配置一下就行了. 二.步骤: 1.修改apache的http_conf文件 打开finder前往/pr ...

  6. mac下配置Apache虚拟域名方案,以及遇到的坑(转)

      1. 配置Apache虚拟域名 1.执行    sudo vi /etc/apache2/httpd.conf 开始配置httpd.conf 的文件; //配置listen 80端口(默认配置), ...

  7. mac下配置Apache虚拟域名方案,以及遇到的坑

      1. 配置Apache虚拟域名 1.执行    sudo vi /etc/apache2/httpd.conf 开始配置httpd.conf 的文件; //配置listen 80端口(默认配置), ...

  8. mac下 配置 Apache Php Mysql

    参考 http://www.guomii.com/posts/30136 参考 http://forums.mysql.com/read.php?11,600754,600754 MacOS 10.8 ...

  9. Mac下配置Apache服务器

    有的时候,我们需要在内网工作组中分享一些文件或是后台接口没有及时给出,你又想要模拟真实数据,直接在项目里创建plist也可以做到这种需求,但难免让工程变得冗余且看起来比较Low.这个时候就看出配置本地 ...

随机推荐

  1. iOS多播放器封装

    今年在做直播业务的时候遇到一些问题,就是在一个套播放器UI中需要多种不同的播放器(AVPlayer.IJKPlayer.AliPlayer)支持,根据ABTest开关来切换具体使用哪种播放器,并且还要 ...

  2. java.lang.NoSuchMethodException: org.apache.ibatis.executor.statement.StatementHandler.prepare(java.sql.Connection)

    此错误是由于版本造成的,如果使用mybatis3.4版本以上,配置拦截器规则应增加Intger @Intercepts({ @Signature( type= StatementHandler.cla ...

  3. 一些关于 checkbox的前台 jquery 操作 记录

    $(function() { //页面载入函数 var partList = jQuery.parseJSON( '${KeyWordsList}'); $.each(partList,functio ...

  4. 【转载】Java集合类Array、List、Map区别和联系

    Java集合类主要分为以下三类: 第一类:Array.Arrays第二类:Collection :List.Set第三类:Map :HashMap.HashTable 一.Array , Arrays ...

  5. iOS automaticallyAdjustsScrollViewInsets

    self.automaticallyAdjustsScrollViewInsets = NO; //在当前VC内修改这个属性就可以解决这个问题了. 当前以TableView为主View的ViewCon ...

  6. java 判断两个list是否相等

    /** * 队列比较 * @param <T> * @param a * @param b * @return */ public static <T extends Compara ...

  7. jQuery页面加载初始化的3种方法

    jQuery 页面加载初始化的方法有3种 ,页面在加载的时候都会执行脚本,应该没什么区别,主要看习惯吧,本人觉得第二种方法最好,比较简洁. 第一种: $(document).ready(functio ...

  8. 求50-100内的素数(java)

    实现代码: public class sushu { public static void main(String[] args) { for(int i=50 ; i<=100; i++){ ...

  9. http服务的安装与配置

    挂载光盘mount /dev/cdrom /y       #y是挂载光盘的位置 使用yum命令进安装httpd服务 yum命令的配置文件, yum配置文件位于 /etc/yun.repos.d 目录 ...

  10. codeforces 360 C

    C - NP-Hard Problem Description Recently, Pari and Arya did some research about NP-Hard problems and ...