41 | Linux/Mac实验环境搭建与URI查询参数
该思维导图由 AI 生成,仅供参考
Linux 上搭建实验环境
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了在Linux和Mac上搭建HTTP实验环境以及URI查询参数的使用。在Linux上,作者详细介绍了如何安装OpenResty,并提供了安装命令和验证方式。然后,通过git clone获取http_study项目的源码,并介绍了用于启停实验环境的Shell脚本。在Mac上,作者介绍了使用homebrew安装OpenResty的过程,并提供了相应的命令。此外,还介绍了在Linux和Mac下使用命令行抓包的方法,包括tcpdump和tshark的基本用法。最后,作者讨论了URI的查询参数和头字段的区别,强调了它们的作用域和时效性不同,以及在何种场景下使用更加合适。文章内容涵盖了Linux/Mac实验环境搭建和URI查询参数的使用,适合对HTTP技术感兴趣的读者阅读学习。
《透视 HTTP 协议》,新⼈⾸单¥59
全部留言(20)
- 最新
- 精选
- 浪里淘沙的小法师讲一下用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的镜像。
2021-11-1023 - GitHubGanKai真好,又见到你了,而且我最近换个了mac,😊正愁这个。
作者回复: we meet again.
2019-10-0926 - Luka!3055记录下问题: 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
2020-05-072 - dongge老师好, 按文章指导搭建了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可能就不会出现这样的问题。
2019-10-1822 - dongge这个专栏这么好玩,留言的人这么少,真可惜。
作者回复: 答疑篇来的太晚了,没赶上当初的热度,不过总会有需要的同学看到的。
2019-10-162 - ifelse谢谢分享
作者回复: my pleasure.
2023-02-09归属地:浙江1 - Change老师请教个问题: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的问题一般都有现成的解决办法。
2020-03-2871 - SmNiuhe这个大家有遇到嘛,是不是资源的问题 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虚拟机,暂解燃眉之急。
2019-11-0761 - 超轶主mac环境运行 run run.sh 返回 nginx version: openresty/1.19.9.1 format : run.sh [start|stop|reload|list]是什么情况呢
作者回复: 后面要加参数,start|stop|reload|list。 脚本比较简单,可以用vi看看。
2021-12-132 - silence请问安装好环境后在www目录执行./run.sh start 老是command not found怎么解决
作者回复: 是不是没有安装好openresty,看看是哪个命令没找到,再按照课程正文是否遗漏了哪个步骤。
2021-08-233