openresty环境搭建问题记录

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

截图:

具体code如下:

Sonofelice:bch-flowrouter baidu$ brew install openresty/brew/openresty
Updating Homebrew...
==> Homebrew has enabled anonymous aggregate user behaviour analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics.html

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
Error: Failure while executing: git config --local --replace-all homebrew.analyticsmessage true
==> Tapping openresty/brew
Cloning into '/usr/local/Homebrew/Library/Taps/openresty/homebrew-brew'...
remote: Counting objects: 72, done.
remote: Compressing objects: 100% (72/72), done.
remote: Total 72 (delta 1), reused 44 (delta 0), pack-reused 0
Unpacking objects: 100% (72/72), done.
Tapped 62 formulae (162 files, 131.7KB)
==> Installing openresty from openresty/brew
Error: The following formula:
  openresty
cannot be installed as a binary package and must be built from source.
Install the Command Line Tools:
  xcode-select --install

Sonofelice:bch-flowrouter baidu$ brew untap homebrew/nginx
Error: No available tap homebrew/nginx.
Sonofelice:bch-flowrouter baidu$ xcode-select --install
xcode-select: note: install requested for command line developer tools

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

xcode-select --install

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

brew install openresty/brew/openresty

进行安装即可。

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

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

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

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

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

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

export PATH

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

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

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

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

worker_processes  1;
error_log logs/error.log;
events {
    worker_connections 1024;
}
http {
    server {
        listen 8081;
        location / {
            default_type text/html;
            content_by_lua '
                ngx.say("<p>hello, world</p>")
            ';
        }
    }
}

再使用

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

(停掉nginx进程可以在上述命令后面直接加 -s stop)

命令启动之后,然后curl

curl http://localhost:8081/
原文地址:https://www.cnblogs.com/sonofelice/p/8072570.html