mac 10.9.x已经自带了apache,可按如下步骤开启:

1、启动

sudo apachectl start

启动后,访问 http://localhost/ 应该能看到"It works!"的初始页面,如果对初始页面的内容感到好奇,可以打开"/etc/apache2/httpd.conf",197行可以看到如下代码片段:

 <Directory "/Library/WebServer/Documents">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks MultiViews #
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None #
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all </Directory>

It works的内容,就在/Library/WebServer/Documents/index.html.en这个文件里,这是apache的默认页,相当于windows下IIS的C:\inetpub\wwwroot\iisstart.htm

另外,如果要监听多端口,可以修改http.conf,类似下面这样:

Listen 80
Listen 81

这样就同时监听了80,81二个端口

2、重启/停止

sudo apachectl restart

sudo apachectl stop

3、创建个人站点目录

cd ~/

mkdir Sites

echo "hello" >> index.html

sudo apachectl restart

然后再访问 http://localhost/~jimmy/ 应该就能看到"hello"的个人目录初始页面(注:~jimmy需换成~你的用户名

如果失败,请检查"/etc/apache2/users"目录下,是否有名为“jimmy.conf”的配置文件(同样:jimmy需换成你的用户名),如果没有,手动创建一个,内容参考下面:

 <Directory "/Users/jimmy/Sites/">
Options FollowSymLinks Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>

如果好奇目录名为什么是Sites? 可以查看"/etc/apache2/extra/httpd-userdir.conf"

 # Settings for user home directories
#
# Required module: mod_userdir #
# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received. Note that you must also set
# the default access control for these directories, as in the example below.
#
UserDir Sites #
# Users might not be in /Users/*/Sites, so use user-specific config files.
#
Include /private/etc/apache2/users/*.conf
<IfModule bonjour_module>
RegisterUserSite customized-users
</IfModule>

第10行就是答案

4、启用虚拟主机

默认情况下,apache的虚拟主机功能是关闭的,在“/etc/apache2/httpd.conf”中找到下面这行:

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

将前面的#去掉,然后再打开“/etc/apache2/extra/httpd-vhosts.conf”,内容修改成类似下面的样子:

 NameVirtualHost *:80

 <VirtualHost *:80>
DocumentRoot "/Users/jimmy/Sites"
ServerName www.yjmyzz.com
ErrorLog "/Users/jimmy/Sites/log/error.log"
CustomLog "/Users/jimmy/Sites/log/access.log" common
<Directory />
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order deny,allow
Allow from all
</Directory>
</VirtualHost>

注:

a) /Users/jimmy/Sites/log/ 日志文件目录,必须存在,否则apache启动将失败,而且不会有任何错误提示

b) 虚拟主机的站点根目录,建议放在~/Sites/下,否则mac环境中会报类似“无权限访问”的错误。

这段配置绑定了一个不存在的域名www.yjmyzz.com到站点http://localhost/~jimmy/,为了验证域名绑定的效果,手动修改下hosts文件

sudo vi /etc/hosts 以管理员身份打开hosts文件,追加一行

127.0.0.1       www.yjmyzz.com

保存退出,重启apache,再次浏览 http://www.yjmyzz.com 应该ok了,看到的内容跟http://localhost/~jimmy/ 一样

tips: 如果站点根目录,想放到其它位置,在httpd.conf中找到

 <Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory

把4,5行删除掉就行了

5、URL转发

先打开httpd.conf,确保下面这二行没有被注释掉:

 LoadModule proxy_module libexec/apache2/mod_proxy.so
LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so

然后在httpd.conf最后加上

 ProxyPass /HelloApp http://localhost:8080/HelloApp/
ProxyPassReverse /HelloApp http://localhost:8080/HelloApp/

这样访问 http://localhost/HelloApp、http://ip/HelloApp、http://www.yjmyzz.com/HellpApp  都相当于访问 http://localhost:8080/HelloApp

6、端口转发

假如服务器上有一个应用 http://x.x.x.x:8080/ ,如果想通过类似 http://www.yjmyzz.com 的域名来直接访问,就需要做端口转发,仍然打开httpd.conf

 LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

在"5、URL转发"的基础上,再打开这二项

然后修改extra/httpd-vhosts.conf

 NameVirtualHost *:80

 <VirtualHost *:80>
ProxyPreserveHost On
ServerName www.yjmyzz.com ProxyPass / http://www.yjmyzz.com:8000/
ProxyPassReverse / http://www.yjmyzz.com:8000/ ServerAdmin webmaster@localhost
</VirtualHost>

这样就相当于把 80端口转发到8080端口上了

mac 10.9.4下配置apache的更多相关文章

  1. [转]mac 10.9.4下配置apache

    出处:http://yjmyzz.cnblogs.com mac 10.9.x已经自带了apache,可按如下步骤开启: 1.启动 sudo apachectl start 启动后,访问 http:/ ...

  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. 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 ...

  4. 【高可用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 ...

  5. 一步一步教你如何在linux下配置apache+tomcat(转)

    一步一步教你如何在linux下配置apache+tomcat   一.安装前准备. 1.   所有组件都安装到/usr/local/e789目录下 2.   解压缩命令:tar —vxzf 文件名(. ...

  6. ubuntu下配置Apache

    ubuntu下配置Apache Apache的默认文档根目录是在Ubuntu上的/var/www目录 配置文件是/ etc/apache2/apache2.conf配置存储在的子目录在/etc/apa ...

  7. Mac OS X 10.10 Yosemite下配置 apache+php

    自从系统从OS X Mavericks 10.9升级到OS X Yosemite 10.10 后之前配置apache和php均不能正常使用了, 重新设置配置如下: 首先,查看当前系统的apache版本 ...

  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

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

随机推荐

  1. 项目管理之道--纪我的新书《PMP项目管理认证学习指南(第4版)》出版并预祝大卖!

    新年伊始,我最新的项目管理书籍——<PMP项目管理认证学习指南(第4版)>也出版了,真是新年新气象啊!翻译英文书籍是一件任重道远的工作,除了要具备扎实的基本功,熟悉相关的领域外,还需要细致 ...

  2. 使用jqgrid的C#/asp.net mvc开发者的福音 jqgrid-asp.net-mvc

    你是否使用jqgrid? 你是否想在C#/asp.net mvc中使用jqgrid? 那你很可能曾经为了分析jqgrid的request url用fiddler忙活了2个小时.(如果你要使用jqgri ...

  3. WPF学习之路(六)Command

    在WPF中,命令绑定机制是相比于事件更高级的概念,把应用程序的功能划分为多个任务,任务由多种途径触发. 应用Command Binding使代码更符合MVVM模式(Model-View-ViewMod ...

  4. 0006 《SQL必知必会》笔记02-计算字段与函数

    1.从数据库中检索出的数据往往并不是最后要展示的格式,可以在数据库端或者客户端应用程序中完成转换和格式化,但一般说来,在数据库服务器中完成要快很多. 2.拼接字段:将几个值连接到一起构成单个值.Ora ...

  5. Nginx 切片模块、断点续传

    熟悉 CDN 行业主流技术的朋友应该都比较清楚,虽然 Nginx 近几年发展的如日中天,但是基本上没有直接使用它自带的 proxy_cache 模块来做缓存的,原因有很多,例如下面几个: 不支持多盘 ...

  6. Linux 下从头再走 GTK+-3.0 (二)

    仅仅创建一个空白窗口是不够的,下面我们为创建的窗口添加一个按钮. 以 Hello,World!为例. 首先创建一个源文件:example2.c 内容如下. #include <gtk/gtk.h ...

  7. [转] Finding the Best Programmer's Font

    原文 Finding the Best Programmer's Font

  8. java 知识点随记

    JAVA 读取配置文件: Properties props= new Properties();//文件在src目录下,编译会被加载到classpath下. Props.load(Test.class ...

  9. plain framework 1 参考手册 入门指引之 模块

    模块 总述 基础 数据库 引擎 事件 文件 网络 性能 脚本 系统 工具 总述 上图为plain framework(简称简约框架)所有的模块,包括基础.数据库.引擎.事件.文件.网络.性能.脚本.系 ...

  10. 网格弹簧质点系统模拟(Spring-Mass System by Euler Integration)

    弹簧质点模型是利用牛顿运动定律来模拟物体变形的方法.如下图所示,该模型是一个由m×n个虚拟质点组成的网格,质点之间用无质量的.自然长度不为零的弹簧连接.其连接关系有以下三种: 1.连接质点[i, j] ...