在我的例子中,默认的 NGINX 配置不包含 SSI 模块(不要与 SSL 混淆)
# nginx -V
nginx version: nginx/1.18.0 (Ubuntu)
built with OpenSSL 1.1.1f 31 Mar 2020
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2
-fdebug-prefix-map=/build/nginx-lUTckl/nginx-1.18.0=.
-fstack-protector-strong
-Wformat
-Werror=format-security
-fPIC
-Wdate-time
-D_FORTIFY_SOURCE=2'
--with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fPIC'
--prefix=/usr/share/nginx
--conf-path=/etc/nginx/nginx.conf
--http-log-path=/var/log/nginx/access.log
--error-log-path=/var/log/nginx/error.log
--lock-path=/var/lock/nginx.lock
--pid-path=/run/nginx.pid
--modules-path=/usr/lib/nginx/modules
--http-client-body-temp-path=/var/lib/nginx/body
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi
--http-proxy-temp-path=/var/lib/nginx/proxy
--http-scgi-temp-path=/var/lib/nginx/scgi
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi
--with-debug
--with-compat
--with-pcre-jit
--with-http_ssl_module
--with-http_stub_status_module
--with-http_realip_module
--with-http_auth_request_module
--with-http_v2_module
--with-http_dav_module
--with-http_slice_module
--with-threads
--with-http_addition_module
--with-http_gunzip_module
--with-http_gzip_static_module
--with-http_image_filter_module=dynamic
--with-http_sub_module
--with-http_xslt_module=dynamic
--with-stream=dynamic
--with-stream_ssl_module
--with-mail=dynamic
--with-mail_ssl_module
ngx_http_ssi_module(http://nginx.org/en/docs/http/ngx_http_ssi_module.html) 缺失。如何安装?
答案1
在搭载 NGINX 1.18.0(包括 Jammy 22.04)的 Ubuntu 版本中,您需要安装nginx-full
该软件包的版本。只需执行此操作sudo apt install nginx
即可安装nginx-core
,其中包含一组非常有限的第三方模块,并且大多数可选模块都处于禁用状态。
您可以通过执行 来执行此操作sudo apt install nginx nginx-full
,这将替换nginx-core
为nginx-full
并安装所有nginx-full
包含 的内容来代替nginx-core
。您的配置应该不是/etc/nginx
受到影响,但请确保在执行更改和切换之前进行备份。
然后 SSI 模块就会出现。
请注意,NGINX 文档指出“目前,支持的 SSI 命令列表不完整。“,因此并非所有 SSI 命令都能起作用或必须记录或可用。(重点是我,但这是您链接的文档的直接引用)