第一次在mac安装遇到如下问题:

截图:

具体code如下:

  1. Sonofelice:bch-flowrouter baidu$ brew install openresty/brew/openresty
  2. Updating Homebrew...
  3. ==> Homebrew has enabled anonymous aggregate user behaviour analytics.
  4. Read the analytics documentation (and how to opt-out) here:
  5. https://docs.brew.sh/Analytics.html
  6.  
  7. xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
  8. Error: Failure while executing: git config --local --replace-all homebrew.analyticsmessage true
  9. ==> Tapping openresty/brew
  10. Cloning into '/usr/local/Homebrew/Library/Taps/openresty/homebrew-brew'...
  11. remote: Counting objects: 72, done.
  12. remote: Compressing objects: 100% (72/72), done.
  13. remote: Total 72 (delta 1), reused 44 (delta 0), pack-reused 0
  14. Unpacking objects: 100% (72/72), done.
  15. Tapped 62 formulae (162 files, 131.7KB)
  16. ==> Installing openresty from openresty/brew
  17. Error: The following formula:
  18. openresty
  19. cannot be installed as a binary package and must be built from source.
  20. Install the Command Line Tools:
  21. xcode-select --install
  22.  
  23. Sonofelice:bch-flowrouter baidu$ brew untap homebrew/nginx
  24. Error: No available tap homebrew/nginx.
  25. Sonofelice:bch-flowrouter baidu$ xcode-select --install
  26. xcode-select: note: install requested for command line developer tools

我遇到上面的错误,主要是因为缺少xcode-select

  1. xcode-select --install

会弹出插件安装框,安装好之后再执行

brew install openresty/brew/openresty

进行安装即可。

还可能出现的错误二,安装过xcode command line,但是过期了,可以先删除/Library/Developer目录下的CommandLineTools文件夹,然后执行下面命令安装

  1. xcode-select --install

安装完成后,启动openresty,命令行直接输入openresty即可。可能会看到如下错误:

nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)

这是因为非root用户没有启动权限。使用sudo openresty启动即可。

在浏览器输入:http://127.0.0.1/

看到如下页面则表示openresty启动成功

二、helloworld

要本地跑一个helloworld,根据网上的教程,https://openresty.org/cn/getting-started.html

是需要执行下面的命令的:

  1. nginx -p `pwd`/ -c conf/nginx.conf

如果找不到nginx这个命令,可以先去配置一下环境变量:

PATH=/usr/local/openresty/nginx/sbin:$PATH

  1. export PATH

但是我自己的mac使用的是homebrew进行安装的,所以默认目录是

/usr/local/Cellar/openresty/1.13.6.1/nginx/sbin

记得去配置好自己的安装目录。

在自己的nginx.conf中,内容如下:

  1. worker_processes ;
  2. error_log logs/error.log;
  3. events {
  4. worker_connections ;
  5. }
  6. http {
  7. server {
  8. listen ;
  9. location / {
  10. default_type text/html;
  11. content_by_lua '
  12. ngx.say("<p>hello, world</p>")
  13. ';
  14. }
  15. }
  16. }

再使用

  1. nginx -p `pwd`/ -c conf/nginx.conf
  2. (停掉nginx进程可以在上述命令后面直接加 -s stop

命令启动之后,然后curl

  1. curl http://localhost:8081/

openresty环境搭建问题记录的更多相关文章

  1. Eclipse JSP +Tomcat 环境搭建 错误记录

    环境搭建请参考原文:https://www.cnblogs.com/james-lee/p/5964238.html 错误1:运行时,弹出如下错误:(如果没有此错误,请忽略) 原因是,我们之前点击了T ...

  2. JDK+Tomcat+Eclipse环境搭建过程记录

    这学期选了一门公选课叫网络开发工具与技术,主要学习用JSP语言构建网站.在配置环境的过程中遇到不少的坑,于是记录下来,希望能帮到大家. 系统环境:Win10 JDK版本:8u121, JAVA版本1. ...

  3. Maven环境搭建操作记录

    Maven官方网站: http://maven.apache.org/index.html Maven下载地址: http://maven.apache.org/download.cgi Maven历 ...

  4. aop思想以及环境搭建(记录自己的一小步)1.1

    ##什么是aop思想? 首先老办法我们一起先看看官网是咋描述的? 它利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其名为 ...

  5. python scikit-learn 环境搭建问题解决记录

    之前一直用pycharm 里内置的pip进行python 包的安装,今天装scikit-learn时没报错,但是报scipy包不识别,pip下载也报错下载anaconda 集成插件,最终问题解决:参考 ...

  6. linux 编程环境搭建过程记录

    1, 安装centos 7 最小版  过程略 ...... 2, 安装桌面安装yum groupinstall "GNOME Desktop" 更新系统运行级别ln -sf /li ...

  7. MAPR 开发环境搭建过程记录

    我下载了MAPR 官方提供的virtualbox 和 vmware版本的sandbox进行试用. 开始试用了一会vmware版的,因为不太熟悉vmware的操作,而且vmplayer经常没有反应,后来 ...

  8. cocos2d ios 环境搭建

    一.下载cocos2d-x http://cocos2d-x.org/projects/cocos2d-x/wiki/Download cocos2d-x-2.1.4.zip @ June.18, 2 ...

  9. Qt for Android开发环境搭建及测试过程记录

    最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...

随机推荐

  1. Makefile 8——使用依赖关系文件

    Makefile中存在一个include指令,它的作用如同C语言中的#include预处理指令.在Makefile中,可以通过include指令将自动生成的依赖关系文件包含进来,从而使得依赖关系文件中 ...

  2. jfinal中Interceptor的使用

    一.拦截器是用于对action请求的拦截处理,发生在进入action方法体之前的拦截操作,这样方便了对请求实例做一些文章.   二.自定义.系统已有拦截器都需要实现Interceptor接口,这样才能 ...

  3. Flume Channel Selectors + kafka

    http://flume.apache.org/FlumeUserGuide.html#custom-channel-selector 官方文档上channel selectors 有两种类型: Re ...

  4. Odoo 8.0 new API 之one装饰

    one装饰器的作用是对每一条记录都执行对应的方法,相当于traditional-style中的function 应用举例: 定义的columns now = fields.Datetime(compu ...

  5. CI $_GET

    CI默认过滤了$_GET 需要传递get参数时一般直接 /参数一/参数二 详见手册说明:http://codeigniter.org.cn/user_guide/general/controllers ...

  6. 【BZOJ】1053: [HAOI2007]反素数ant(贪心+dfs)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1053 约数个数等于分解出的质因数的(指数+1)的乘积这个就不用说了吧... 然后好神的题在于贪心.. ...

  7. duilib Webkit内核dui化浏览器控件

    參考http://blog.csdn.net/zhuhongshu/article/details/38540711 改进: 1.跟其它duilib控件一样,不包括窗体 2.将onURLChanged ...

  8. mac 安装软件提示权限不足的解决的方法

    假设直接输入命令提示没权限的时候 1.sudo 安装命令 2.sudo su -  这时候切换到root用户下了 ,能够随心所欲了

  9. C#引用传递[转]

    学过C#的人都知道,通过值或通过引用,值类型和引用类型都可以作为方法参数传递.在C#中,不管是值类型或者是引用类型,所有方法参数在默认情况下是通过值传递的. 1)通过值传递值类型 在通过值传递作为方法 ...

  10. HMLocationEvent

    HMLocationEvent *locEvent = [[HMLocationEvent alloc] initWithRegion:region1]; region1.notifyOnEntry ...