Nginx 虽然本体非常的轻量化,但是它的一些模块引用了外部的库,因此在进行升级编译的时候很容易报错。但好在在 Ubuntu 上,一些常用的库都可以通过 apt 直接安装。
- GNU C编译器
GCC是在Linux下编写、编译C程序,经常使用的一款编译器
sudo apt-get install gcc
- PCRE库
Perl兼容的正則表達式是用C編寫的庫,它實現了正則表達式引擎,其靈感來自於Perl編程語言的功能。Philip Hazel從1997年夏天開始編寫PCRE。PCRE的語法比任何POSIX正則表達式風格以及許多其他正則表達式庫都強大得多和靈活得多。儘管PCRE最初旨在與Perl進行功能等效,但這兩種實現並不完全等效。
sudo apt-get install libpcre3 libpcre3-dev
- zlib库
zlib库用于对HTTP包的内容做gzip格式的压缩,如果我们在nginx.conf中配置了gzip on,并指定对于某些类型(content-type)的HTTP响应使用gzip来进行压缩以减少网络传输量,则在编译时就必须把zlib编译进Nginx。zlib-devel是二次开发所需要的库。
sudo apt-get install zlib1g-dev
- OpenSSL库
在電腦網路上,OpenSSL是一個開放原始碼的軟體函式庫套件,應用程式可以使用這個套件來進行安全通訊,避免竊聽,同時確認另一端連線者的身分。這個套件廣泛被應用在網際網路的網頁伺服器上。 其主要函式庫是以C語言所寫成,實作了基本的加密功能,實作了SSL與TLS協定。
sudo apt-get install openssl libssl-dev
Reference:
- 陶辉. 深入理解Nginx 模块开发与架构解析[M]. 机械工业出版社, 2016.
- Exim and PCRE: How free software hijacked my life (1999-12), by Philip Hazel, p. 7: https://www.ukuug.org/events/winter99/proc/PH.ps
- https://www.zhaixue.cc/gcc/
- https://wikipedia.org/OpenSSL
评论区