Heim  >  Fragen und Antworten  >  Hauptteil

Statische Kompilierung – So stellen Sie Nginx stapelweise bereit

Es gibt eine Reihe von Maschinen, die dasselbe Nginx bereitstellen müssen. Ich möchte die Dateien direkt nach dem Kompilieren kopieren, aber nach dem Kopieren wird angezeigt, dass eine bestimmte abhängige Bibliothek nicht gefunden werden kann.
Gibt es eine Möglichkeit, es einmal zu kompilieren und auf jedem Computer laufen zu lassen?

大家讲道理大家讲道理2713 Tage vor474

Antworte allen(2)Ich werde antworten

  • 習慣沉默

    習慣沉默2017-05-16 17:22:56

    可以用ldd和lsof找出二进制文件nginx依赖的共享库,然后复制到nginx里的一个目录(比如/png/pack/libs),然后用patchelf修改二进制文件nginx的rpath和interpreter:

    patchelf --set-rpath /png/pack/libs --force-rpath /png/nginx/1.8/sbin/nginx
    patchelf --set-interpreter /png/pack/libs/ld-linux-x86-64.so.2 /png/nginx/1.8/sbin/nginx

    然后打包目录/png,部署到各个服务器即可.具体参考我如何编译打包的适用于64位Linux发行版的PHP7.

    Antwort
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 17:22:56

    docker

    Antwort
    0
  • StornierenAntwort