WHAT
本篇主要是基于Nginx在Mac上搭建自己的服务器。
我相信很多朋友肯定是第一次听到Nginx,关于它具有怎样的传奇,这儿肯定说不完也说不透.
有兴趣的朋友可以自行google或者baidu.
WHY
为什么要搭建自己的服务器呢。
好处肯定多多,这儿说一条——模拟数据。
很多时候,我们在前端开发的过程中,API接口没有做好.
当我们要铺界面时,如果等待API的开发完成,无疑是件很耽误工作的事情。
还有一点,即使API完成了,我们开发完项目时,需要自测各种极限的数据。例如
- 约定好返回的是NSString,如果返回的是NSNumber,你会崩吗?
- 约定好的一个字段有返回值,突然间返回为null,你会崩吗?
- 约定好的label上的赋值文本是最多7个字,突然给你77个字,你会变得很丑吗?
有人问了,不是约定好了吗?
话说API也是人开发的,你写的客户端还会crash呢,就不允许人家后台出错啦???
讲道理嘛大兄弟!
HOW
复杂来说,这是件很难的事情,因为无论是Nginx,还是它所需要的准备工作,都是一个个庞然大物。搞不懂!
你需要安装Nginx,你可以自己独立装,也可以用别的包安装.
后者那推荐的是Homebrew.这也是下面我带大家一起来做的。
如果是前者,不要问我,我装了一下午,然后失败了。
简单来说,跟着我来做,几个步骤,几分钟,带你实现。
- 平台:Mac
- 系统:10.11.1
1. 安装Homebrew
2. 安装Nginx
3. 启动Nginx
4. 配置JSON文件
5. 配置Nginx
6. 展现成果
1.安装Homebrew
打开终端,输入:
- ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
跟着步骤走。终端都有提示。
2.依赖Homebrew安装Nginx
依旧在终端中
- brew install nginx
这个等待时间会比较长。如果你仔细看了终端的进程。你会发现你用homebrew安装是多么聪明了。其实在安装nginx之前还要帮你安装很多别的,如果你独立安装,是很费劲的。。。
3.启动Nginx
依旧在终端里,输入
- nginx
回车就行了。别惊讶,就这么简单。
怎样验证Nginx能用了呢。你在浏览器里输入localhost:8080
,回车,出现以下画面,说明成功。
如果是以下画面,转身抬头挺胸三鞠躬,再回来看看那里出错了。
4.配置JSON文件
那配置文件是在
- /usr/local/Cellar/nginx/1.8.0/html/
这个目录下会默认有50x.html和index.html两个文件。你再新加一个json文件,取个名字叫oscar.json,里面随便写些字典数组,保存。
5.配置Nginx
安装完之后,默认路径是在
- /usr/local/etc/
这个文件下会有一个nginx文件夹和一个openssl的文件夹。
点开nginx文件夹,里面会有个
- nginx.conf.default
的文件,记住,不要看错了,这里面的名字很相像。用文本编辑器打开,里面默认是有内容的,可以看看。将以下内容粘贴进去。
- server {
- listen 8080;
- server_name localhost;
- #access_log logs/host.access.log main;
- location ~* {
- add_header Content-Type “application/json”;
- root html;
- if (!-f $request_filename) {
- rewrite ^/(.*) /$1.json last;
- }
- index index.php index.html index.htm;
- }
- error_page 405 =200 http://$host$request_uri;
- }
6.展现成果
如果你新加的json文件叫oscar.json,目录是在刚刚说的
- /usr/local/Cellar/nginx/1.8.0/html/oscar.json
那么你在浏览器里输入
- localhost:8080/oscar.json
看看你的成果吧!
如果你的页面有你配置的JSON文件,那么恭喜你。别人如果想访问你的资源,保证你两在同一个局域网内,然后把你的ip地址替换localhost,再看看你朋友的电脑的页面吧。
通过brew 安装install 后
- sudo cp /usr/local/opt/nginx/*.plist /Library/LaunchDaemons
- sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.nginx.plist