树莓派的硬件:raspberry pi 2 model b
SD卡的OS版本:2019-09-26-raspbian-buster-full
笔者采用了两种方法安装nginx,一种是下载安装源码,配置后安装,但是编译遇到openssl的问题,详情如下。一种是直接apt-get install安装,比较容易实现。
1.下载源码安装
参考:
https://www.cnblogs.com/qiantuo1234/p/6611845.html
开配置的时候出现如下的错误信息:
权限不够,在前面加上sudo即可。
编译的时候出现错误:
按照参考中的方法修改了ngx_http_streaming_module.c也是无效的。
查看文件vim src/core/ngx_murmurhash.c:
参考文献https://blog.csdn.net/jaybill/article/details/80164370解决。如果gcc版本号为7,那么源代码的switch-case块中如果忘了加上break,有可能会报错Implicit fallthrough error。
1.更换gcc版本,具体是升级还是降级还需测试。
2.在报错的switch-case块中加上break。此时要对代码逻辑理解清楚,否则加上break有可能会破坏原来的逻辑。
3.编译时忽略Implicit fallthrough error这个错误。
笔者采用了第三种方法,即在编译的时候就忽略这个错误。方法是修改objs/Makefile的内容。CFLAGS表示编译的可选参数,我们只需要在后面加上-Wno-implicit-fallthrough,即可忽略gcc7编译时switch-case中缺少break的错误。
还是有错误,应该是openssl版本的问题:
查看OpenSSL的版本:openssl version
列出软件的版本:sudo apt-cache madison openssl
也就是说树莓派的软件库中也只有这个版本。
2.使用raspberry的远程包管理器安装。
参考:https://blog.csdn.net/u011142756/article/details/81666693。直接apt-get install安装nginx。
这样安装好了之后应该还要做一些进一步的配置才能使用。
