[转]mac 10.9.4下配置apache
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>
Code
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>
Code
如果好奇目录名为什么是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>
Code
第10行就是答案
4、启用虚拟主机
默认情况下,apache的虚拟主机功能是关闭的,在“/etc/apache2/httpd.conf”中找到下面这行:
#Include /private/etc/apache2/extra/httpd-vhosts.conf
将前面的#去掉,然后再打开“/etc/apache2/extra/httpd-vhosts.conf”,内容修改成类似下面的样子:
NameVirtualHost *: <VirtualHost *:>
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>
Code
注:
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中找到
1 <Directory />
2 Options FollowSymLinks
3 AllowOverride None
4 Order deny,allow
5 Deny from all
6 </Directory
把4,5行删除掉就行了
5、URL转发
先打开httpd.conf,确保下面这二行没有被注释掉:
1 LoadModule proxy_module libexec/apache2/mod_proxy.so
2 LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so
然后在httpd.conf最后加上
1 ProxyPass /HelloApp http://localhost:8080/HelloApp/
2 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
1 LoadModule proxy_connect_module modules/mod_proxy_connect.so
2 LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
在"5、URL转发"的基础上,再打开这二项
然后修改extra/httpd-vhosts.conf
NameVirtualHost *: <VirtualHost *:>
ProxyPreserveHost On
ServerName www.yjmyzz.com ProxyPass / http://www.yjmyzz.com:8000/
ProxyPassReverse / http://www.yjmyzz.com:8000/ ServerAdmin webmaster@localhost
</VirtualHost>
Code
这样就相当于把 80端口转发到8080端口上了
[转]mac 10.9.4下配置apache的更多相关文章
- mac 10.9.4下配置apache
mac 10.9.x已经自带了apache,可按如下步骤开启: 1.启动 sudo apachectl start 启动后,访问 http://localhost/ 应该能看到"It wor ...
- 【高可用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 参考 ...
- 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 ...
- 【高可用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 ...
- 一步一步教你如何在linux下配置apache+tomcat(转)
一步一步教你如何在linux下配置apache+tomcat 一.安装前准备. 1. 所有组件都安装到/usr/local/e789目录下 2. 解压缩命令:tar —vxzf 文件名(. ...
- ubuntu下配置Apache
ubuntu下配置Apache Apache的默认文档根目录是在Ubuntu上的/var/www目录 配置文件是/ etc/apache2/apache2.conf配置存储在的子目录在/etc/apa ...
- Mac OS X 10.10 Yosemite下配置 apache+php
自从系统从OS X Mavericks 10.9升级到OS X Yosemite 10.10 后之前配置apache和php均不能正常使用了, 重新设置配置如下: 首先,查看当前系统的apache版本 ...
- mac下 配置 Apache Php Mysql
参考 http://www.guomii.com/posts/30136 参考 http://forums.mysql.com/read.php?11,600754,600754 MacOS 10.8 ...
- Mac下配置apache
一.前言 今天遇到问题,怎么配置apache在Mac上,原来Mac自带apache,只需要自己开启配置一下就行了. 二.步骤: 1.修改apache的http_conf文件 打开finder前往/pr ...
随机推荐
- Kali Linux Web 渗透测试视频教程— 第七课 OpenVas
Kali Linux Web 渗透测试视频教程— 第七课 OpenVas 文/玄魂 视频教程地址:http://edu.51cto.com/course/course_id-1887.html 目录 ...
- 《JavaScript权威指南》第六版阅读笔记(二):JavaScript词法结构
JavaScript使用Unicode字符集.ECMAScript3要求JS的实现必须支持Unicode 2.1及后续版本,ECMAScript 5要求JS的实现支持Unicode 3及后续版本. J ...
- [ACM_暴力][ACM_几何] ZOJ 1426 Counting Rectangles (水平竖直线段组成的矩形个数,暴力)
Description We are given a figure consisting of only horizontal and vertical line segments. Our goal ...
- Linux:目录&文件基本操作
- 表示上一次所在目录,- 通常表示当前用户的"home"目录.使用 pwd 命令可以获取当前所在路径(绝对路径). 新建文件:touch test创建目录:mkdir -p fa ...
- JSPatch中的OC高级语法
1)多线程相关 dispatch_after dispatch_async dispatch_sync dispatch_get_main_queue dispatch_get_global_queu ...
- celery简单入门
写作背景介绍 最近在做后台图像处理,需要使用到celery这个异步任务框架.但是使用的时候遇到很多技术问题,为了方便日后再遇到相似问题时能够快速解决.写下这篇文章也希望能够帮助共同奋战在同一战线的程序 ...
- paip. 混合编程的实现resin4 (自带Quercus ) 配置 php 环境
paip. 混合编程的实现resin4 (自带Quercus ) 配置 php 环境 #---混合编程的类型 1.代码inline 方式 2.使用库/api 解析方式. #----配置resin 支 ...
- iOS开发---集成ShareSDK实现第三方登录、分享、关注等功能。
(1)官方下载ShareSDK IOS 2.9.6,地址:http://sharesdk.mob.com/Download (2)根据实际情况,引入相关的库,参考官方文档. (3)在项目的AppDel ...
- c#中的事件
之前的博客讲到委托,委托本质上是将方法作为方法的参数传给方法.实际开发中,实现某个功能的的代码通常会封装成一个类,本例中字符串处理封装成MyStringProc类, 代码如下: namespace D ...
- 使用Facebook的SDK判斷來訪者是否已經按讃并成為本站粉絲團的成員
今天公司裡要做活動,其中有一項活動內容是要求來訪者按一下facebook粉絲團的讃,按了讃之後贈送現金.Facebook被墻大家眾所周知,在百度搜了一下發現因為被墻的原因導致國內涉及到Facebook ...