41 | Linux/Mac实验环境搭建与URI查询参数
41 | Linux/Mac实验环境搭建与URI查询参数
讲述:Chrono
时长06:22大小5.09M
Linux 上搭建实验环境
Mac 上搭建实验环境
Linux/Mac 下的抓包
URI 的查询参数和头字段
赞 11
提建议
精选留言(20)
- 浪里淘沙的小法师2021-11-10讲一下用M1芯片 mac 搭建搭建环境的遇到的问题和解决方法。 1. 运行 ./run.sh start 报错 /usr/local/bin/openresty: command not found 这是因为 M1 芯片mac 的 homebrew 安装软件的位置与以往不同,先通过 which openresty 查询 openresty 的位置 /opt/homebrew/bin/openresty,然后打开 run.sh 脚本替换一下老师写的位置 if [ $os != "Linux" ] ; then openresty="/usr/local/bin/openresty" fi 替换成 if [ $os != "Linux" ] ; then openresty="/opt/homebrew/bin/openresty" fi 2. 再运行 ./run.sh start 报错 nginx: [emerg] could not build server_names_hash, you should increase server_names_hash_bucket_size: 32 网上查寻了一下,放大 bucket_size 即可,打开 www/conf/nginx.conf 文件添加这一句server_names_hash_bucket_size 64; 即可 # http conf http { #include http/common.conf; #include http/cache.conf; #include http/resty.conf; #include http/mime.types; server_names_hash_bucket_size 64; include http/*.conf; include http/servers/*.conf; }展开
作者回复: 太高端了,都用上M1的Mac。 也可以参考GitHub里的Dockerfile,构建出基于arm的镜像。
17 - GitHubGanKai2019-10-09真好,又见到你了,而且我最近换个了mac,😊正愁这个。
作者回复: we meet again.
共 2 条评论6 - dongge2019-10-18老师好, 按文章指导搭建了MAC的环境: openresty -v nginx version: openresty/1.11.2.2 在~/git/http_study/www目录下执行 ./run.sh start Password: nginx: [emerg] "/Users/xiaodong/git/http_study/www/conf/ssl/ticket.key" must be 48 bytes in /Users/xiaodong/git/http_study/www/conf/nginx.conf:34 报了这个错误,在网上google没找到解决方法。 尝试在nginx.conf中注销相关代码,也会报其他错误。 老师能指点一下吗?展开
作者回复: 这是提示Nginx要求48字节的密钥文件,按理说附带的80字节也是可以的,你可以用命令“openssl rand 48 > ticket.key”重新生成www/conf/ssl/ticket.key。 详细可参见http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_tickets 另外,你用的openresty版本太老了,用最新的1.15.8.2可能就不会出现这样的问题。
共 2 条评论2 - Luka!30552020-05-07记录下问题: brew install openresty/brew/openresty 后,报错: curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused Error: An exception occurred within a child process: DownloadError: Failed to download resource "openresty-openssl--patch" Download failed: https://raw.githubusercontent.com/openresty/openresty/master/patches/openssl-1.1.0d-sess_set_get_cb_yield.patch 此时把 DNS 设置为 114.114.114.114 或者 8.8.8.8 就好了,最好再挂个梯子展开
作者回复: nice
1 - Change2020-03-28老师请教个问题:Mac 环境下安装以后,按照命令./run.sh start 启动后访问 localhost 显示403 Forbidden:终端返回的错误信息是下面的错误信息,这是所有端口都被占用了?我查了一下好像也没有被占用啊,不知道这是啥原因 nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use) nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use) nginx: [emerg] bind() to 0.0.0.0:443 failed (48: Address already in use) nginx: [emerg] bind() to 0.0.0.0:8443 failed (48: Address already in use) nginx: [emerg] bind() to 0.0.0.0:440 failed (48: Address already in use) nginx: [emerg] bind() to 0.0.0.0:441 failed (48: Address already in use) nginx: [emerg] bind() to 0.0.0.0:442 failed (48: Address already in use)展开
作者回复: 可能需要sudo,是否权限的问题。 可以在网上搜一下错误信息,Nginx的问题一般都有现成的解决办法。
共 7 条评论1 - SmNiuhe2019-11-07这个大家有遇到嘛,是不是资源的问题 brew install openresty/brew/openresty :DownloadError: Failed to download resource "openresty-openssl--patch" Download failed: https://raw.githubusercontent.com/openresty/openresty/master/patches/openssl-1.1.0d-sess_set_get_cb_yield.patch
作者回复: 如果mac安装有问题,可以用virtualbox装个Linux虚拟机,暂解燃眉之急。
共 6 条评论1 - ifelse2023-02-09 来自浙江谢谢分享
作者回复: my pleasure.
1 - 超轶主2021-12-13mac环境运行 run run.sh 返回 nginx version: openresty/1.19.9.1 format : run.sh [start|stop|reload|list]是什么情况呢
作者回复: 后面要加参数,start|stop|reload|list。 脚本比较简单,可以用vi看看。
共 2 条评论 - silence2021-08-23请问安装好环境后在www目录执行./run.sh start 老是command not found怎么解决
作者回复: 是不是没有安装好openresty,看看是哪个命令没找到,再按照课程正文是否遗漏了哪个步骤。
共 3 条评论 - Miroticwillbeforever2021-06-22老师我有个问题。实验环境搭建好了。前两讲的实验也做成功了。 但是当我用浏览器 访问 www.chrono.com 时,它跳转到的 地址为 https://dp.diandongzhi.com/?acct=660&site=chrono.com 然后wireshark抓包并没有任何反应。我想问一下是我操作不当的原因还是怎么回事。课程大部分听完了。但是后面实验没做成挺难受的,没有去验证。等老师给个答复准备二刷!
作者回复: 域名解析这个问题确实困扰了不少同学,因为我们实验环境的域名是假的,只能在本地用,所以有可能会与某些真实的域名冲突,导致输入域名跑到了外网而不是实际环境。 解决方法是改hosts文件,但因为域名会有缓存,所以有时候改了hosts也不会生效。如果遇到这种情况,最好是换个实验环境,改成虚拟机或者docker。
共 2 条评论 - Erebus2021-03-20老师你好、我安装好了openrestry后、启动服务说 nginx:invalid option:http,请问是怎么回事呀
作者回复: 这个提示信息太模糊了,不好帮你。 可以网上搜一下错误信息,一般都能找到解决方案。或者把OpenResty、GitHub项目重新安装看看。 还是不行就改用docker试试。
- 小童2021-03-02不行啊,老师,我的那个openresty界面出来了,就是抓不到包!用的wireshark .搞了好久。那个telnet也安装了。是不是那步出错了 ,我就直接运行openresty,然后用抓包工具过滤信息,然后浏览器输入localhost,浏览器洁界面也出来了。
作者回复: 可以先试试Wireshark能不能抓其他网络的包,然后再试试抓本地(loopback),再加上过滤器,逐步分析来缩小范围。 如果还不行,可以试着换个环境,用虚拟机+Linux或者docker,这样的环境比较单纯隔离。
共 2 条评论 - 旗木卡卡2020-08-19Mac电脑,耗费本人2个晚上的环境,终于搭好了,碰到了2个坑,第一个是dns查找不到,brew install openresty时,需要在本机的hosts文件,加上解析不到的url的ip地址,第二个是启动一直bind不上,nginx就自动启动了,但是很明显不是openresty,然后用root权限启动成功,也可以正常访问,发现是nginx.conf的user权限问题,修改成本机的用户user kaka(你的用户名) staff;即可。
作者回复: 虽然都是unix,但mac的环境和Linux还是不太一样,辛苦了。
共 3 条评论 - Jinlee2020-04-21Welcome to HTTP Study Page! 还好我看得迟,成功在ubuntu下搭建起环境😊😊😊
作者回复: nice
- test2020-01-06最喜欢实验环境了,之前学习就是苦于没实验环境浪费了几年时间。
作者回复: 搭好后一定要多做实验,实践出真知。
- 无名2019-11-15Updating Homebrew... ==> Auto-updated Homebrew! Updated 1 tap (homebrew/core). ==> Updated Formulae handbrake ==> Installing openresty from openresty/brew ==> Downloading https://openresty.org/download/openresty-1.15.8.2.tar.gz Already downloaded: /Users/hejunbin/Library/Caches/Homebrew/downloads/4395089f0fd423261d4f1124b7beb0f69e1121e59d399e89eaa6e25b641333bc--openresty-1.15.8.2.tar.gz ==> ./configure -j8 --prefix=/usr/local/Cellar/openresty/1.15.8.2 --pid-path=/us Last 15 lines from /Users/hejunbin/Library/Logs/Homebrew/openresty/01.configure: DYNASM host/buildvm_arch.h HOSTCC host/buildvm.o HOSTLINK host/buildvm BUILDVM lj_vm.S BUILDVM lj_ffdef.h BUILDVM lj_bcdef.h BUILDVM lj_folddef.h BUILDVM lj_recdef.h BUILDVM lj_libdef.h BUILDVM jit/vmdef.lua make[1]: *** [lj_folddef.h] Segmentation fault: 11 make[1]: *** Deleting file `lj_folddef.h' make[1]: *** Waiting for unfinished jobs.... make: *** [default] Error 2 ERROR: failed to run command: gmake -j8 TARGET_STRIP=@: CCDEBUG=-g XCFLAGS='-msse4.2 -DLUAJIT_NUMMODE=2 -DLUAJIT_ENABLE_LUA52COMPAT' CC=cc PREFIX=/usr/local/Cellar/openresty/1.15.8.2/luajit If reporting this issue please do so at (not Homebrew/brew or Homebrew/core): https://github.com/openresty/homebrew-brew/issues These open issues may also help: Can't install openresty on macOS 10.15 https://github.com/openresty/homebrew-brew/issues/10 Fails to install OpenResty https://github.com/openresty/homebrew-brew/issues/5 The openresty-debug package should use openresty-openssl-debug instead https://github.com/openresty/homebrew-brew/issues/3 macOS 10.15.1 安装失败。参考给出的链接也没有解决问题,求老师解惑。展开
作者回复: 10.15是新出的,我没升级,看这些信息像是openresty在这上面安装有问题(luajit编译失败),可以向官方反应一下,只能期待官方更新包了。
共 2 条评论 - Dream.2019-10-17Linux-CentOS 7下,修改了/etc/hosts的域名与IP的映射关系后 再使用./run.sh start启动OpenResty之后 curl localhost 或者 curl http://www.chrono.com都是返回403 按之前课程里的url访问https://www.chrono.com/11-1什么的,都返回404 第一次接触OpenResty,麻烦老师回复下是哪里没配置好嘛?展开
作者回复: 我这里没有遇到你这样的现象。 先用run.sh list看看Nginx进程是否正常运行,然后用netstat等工具检查一下监听端口,是否有防火墙什么的其他应用阻碍了服务。 可以问问周围熟悉Linux运维的同事。
共 4 条评论 - dongge2019-10-16这个专栏这么好玩,留言的人这么少,真可惜。
作者回复: 答疑篇来的太晚了,没赶上当初的热度,不过总会有需要的同学看到的。
- 许童童2019-10-13老师又来了,很高兴再次见到老师。
作者回复: nice to meet you again.
- 果果2019-10-09当初费了好些时间,才在mac上搭建了环境
作者回复: 这篇答疑来晚了,实在是抱歉。