找到
2
篇与
Nginx
相关的结果
-
编译安装带 Brotli 压缩的 Nginx 安装依赖 apt install dpkg-dev curl gnupg2 build-essential zlib1g-dev libpcre3 libpcre3-dev unzip cmake -y下载编译源码 添加nginx源码库 添加 Nginx 密钥: curl -L https://nginx.org/keys/nginx_signing.key | apt-key add -添加密钥后,使用以下命令添加 Nginx 存储库: vim /etc/apt/sources.list.d/nginx.list添加如下内容 deb http://nginx.org/packages/ubuntu/ focal nginx deb-src http://nginx.org/packages/ubuntu/ focal nginx更新存储库 apt update -y 下载nginx Brotli 源文件 目录文件最好保持一致,在后续编译配置文件修改部分需要文件路径正确 cd /usr/local/src apt source nginx安装编译nginx所需要的文件 apt build-dep nginx -y从github下载 Brotli 源代码: git clone --recursive https://github.com/google/ngx_brotli.git 修改编译配置文件 修改Nginx 源并编辑 debian 规则文件添加 Brotli模块 : cd /usr/local/src/nginx-*/ vim debian/rules添加位置不同位置可能有些许不同,这里需要注意模块路径,也就是github下载 Brotli 源代码存储路径,如果位置不对需要自行修改 1.26.1版本 image-20240703160843201图片 1.22.1版本 其他版本添加位置也可能会有不同 --add-module=/usr/local/src/ngx_brotli 编译文件 使用以下命令编译并构建具有 ngx_brotli 支持的 nginx 包: dpkg-buildpackage -b -uc -us在编译时如果出现以下报错: /usr/bin/ld: cannot find -lbrotlienc /usr/bin/ld: cannot find -lbrotlicommon collect2: error: ld returned 1 exit status make[2]: *** [objs/Makefile:383: objs/nginx] Error 1 make[2]: Leaving directory '/usr/local/src/nginx-1.26.1/debian/build-nginx' make[1]: *** [Makefile:10: build] Error 2 make[1]: Leaving directory '/usr/local/src/nginx-1.26.1/debian/build-nginx' make: *** [debian/rules:62: build-arch.nginx] Error 2 dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2image-20240703162706876图片 只需要编译编译一下brotli子模块即可 cd /usr/local/src/ngx_brotli/deps/brotli mkdir out cd out cmake -DCMAKE_BUILD_TYPE=Release .. makebrotli子模块编译完成后再执行编译命令 cd /usr/local/src/nginx-* dpkg-buildpackage -b -uc -us 若没有新的报错出现,在/usr/local/src就有可安装的deb软件包 安装 Nginx 并启用 Brotli 支持 安装软件包 cd /usr/local/src/ dpkg -i *.deb若软件无法安装,出现如下报错 image-20240703163851175图片 新nginx和原有的冲突,现在安装的nginx再重新安装即可 apt remove nginx apt --fix-broken install 启用Brotli 安装所有软件包后,编辑 Nginx 主配置文件并启用 Brotli 支持: vim /etc/nginx/nginx.conf在 http{ 下面添加以下行 brotli on; brotli_comp_level 6; brotli_static on; brotli_types text/plain text/css application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript image/x-icon image/vnd.microsoft.icon image/bmp image/svg+xml;重新启动 Nginx 服务: systemctl restart nginx 验证 Nginx 和 Brotli curl -H 'Accept-Encoding: br' -I http://localhost如果一切正常,您将看到 brotli 支持的结果“content-encoding:br”,如下所示: 禁用nginx更新 将 nginx 标记为保持: sudo apt-mark hold nginx查看所有被标记为“保持”的包: apt-mark showhold取消“保持”状态,允许更新: sudo apt-mark unhold nginx
-
nginx做web代理偶尔网页出现PHP Version界面解决办法 出现场景 之前在树莓派上利用Nginx和NextCloud搭建了一个自用的网盘,NextCloud需要PHP作为运行环境,但是时不时会出现网页无法正常显示的情况,之前一直以为是通过frp做内网穿透时和nginx监听的80端口冲突 解决办法 究其原因是因为安装PHP时附带下载了Apache2,apache2启动后占用了80端口导致Nginx无法正常启动 查看80端口占用 # lsof -i:80 停止apache2 # systemctl disable apache2 # systemctl stop apache2 重启Nginx # systemctl restart nginx 步骤截图图片