先埋坑!
安装nginx卡在nginx.conf文件配置这,需要改些东西 暂时没有思路改 后续再看
2018年03月20日回来填坑:
这里总共有两篇,为防别人链接挂掉,复制过来,不过时间太长导致我忘记链接在哪,深感抱歉.下面文章附加自己的理解
这里我需要说明一下,两篇用的都是homebrew安装nginx,安装ng的时候还需要安装其他的库,openssl等什么的,当时我安装的时候等了很久(其实是去干别的事了),homebrew安装我是看的别的教程,大家自己找一下即可,本文主要讲的是安装完成后如何配置nginx,第一篇需要修改conf.default,我觉得很坑!所以尝试读取json成功后我就又改回第二篇内容,不过仍然拿json去尝试
2018年03月21日,大家刚尝试的话不要太急着去搞什么开机启动,更改权限什么的,昨天搞了之后就不行了囧,修复了半天最后还是重装了ng才可以
这里说下我对安装完成后的文件夹理解:
etc下是安装的nginx配置目录目录,里面的nginx.conf可以修改端口等配置,openssl也安装在这里
/usr/local/Cellar/nginx/1.13.9
celler这里我认为是安装nginx的目录,(不懂请指正),里面有一个html的替身,替身原路径是在
/usr/local/var/www
其实这里才是真正的静态位置
第一篇
本篇主要是基于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
的文件,记住,不要看错了,这里面的名字很相像。用文本编辑器打开,里面默认是有内容的,可以看看。将以下内容粘贴进去。
1. server {
2. listen 8080;
3. server_name localhost;
4. #access_log logs/host.access.log main;
5. location ~* {
6. add_header Content-Type "application/json";
7. root html;
8. if (!-f $request_filename) {
9. rewrite ^/(.*) /$1.json last;
10. }
11. index index.php index.html index.htm;
12. }
13. error_page 405 =200 http://$host$request_uri;
14. }
6.展现成果
如果你新加的json文件叫oscar.json,目录是在刚刚说的
那么你在浏览器里输入
localhost:8080/oscar.json
看看你的成果吧!
如果你的页面有你配置的JSON文件,那么恭喜你。别人如果想访问你的资源,保证你两在同一个局域网内,然后把你的ip地址替换localhost,再看看你朋友的电脑的页面吧。
通过brew 安装install 后
1. sudo cp /usr/local/opt/nginx/*.plist /Library/LaunchDaemons
2. sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
第二篇
这篇内容十分精简,但是十分有用
1、安装
brew install nginx
2、修改配置文件
sudo vi /usr/local/etc/nginx/nginx.conf
修改默认的8080端口为80
修改日志文件地方
error_log logs/error.log;
pid logs/nginx.pid;
access_log logs/access.log;
按上面修改后日志文件在/usr/local/opt/nginx/logs
3、修改管理员权限(这个命令没看懂wheel是干嘛用的,所以没成功,所以我用的还是sudo命令)
sudo chown root:wheel/usr/local/opt/nginx/bin/nginx
sudo chmod u+s/usr/local/opt/nginx/bin/nginx
4、加上launchctl控制(就是开机启动)
mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/nginx/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
5、启动nginx
sudo nginx #启动
sudo nginx -t #测试配置文件是否有错
sudo nginx -s reload #重启nginx
6、问题
如果出现nginx: [error] invalid PID number "" in "/usr/local/var/run/nginx/nginx.pid",则需要
sudo nginx -c /usr/local/etc/nginx/nginx.conf
sudo nginx -s reload