GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So kompilieren Sie den Nginx-Webserver unter Debian Linux neu

Angenommen, Sie möchten einige Änderungen an nginx vornehmen Quellcode,
um einige Funktionen vor dem eigentlichen nginx hinzuzufügen oder zu entfernen
Paketinstallation. In dieser Konfiguration zeigen wir, wie man
nginx neu kompiliert Paket unter Debian Linux.

Installieren Sie zuerst die Paketerstellungstools:

# apt-get install dpkg-dev

Als nächstes müssen wir alle nginx installieren Abhängigkeiten erstellen:

# apt-get build-dep nginx

Laden Sie nginx herunter Quellcode:

$ mkdir nginx-local
$ cd nginx-local/
$ apt-get source nginx

Der obige Befehl lädt alle notwendigen nginx herunter Quelldateien
die geändert werden müssen, um *.deb zu erstellen Debian-Paket.

$ tree -L 2 
.
├── nginx-1.6.2
│   ├── auto
│   ├── CHANGES
│   ├── CHANGES.ru
│   ├── conf
│   ├── configure
│   ├── contrib
│   ├── debian
│   ├── html
│   ├── LICENSE
│   ├── man
│   ├── README
│   └── src
├── nginx_1.6.2-5.debian.tar.xz
├── nginx_1.6.2-5.dsc
└── nginx_1.6.2.orig.tar.gz

8 directories, 8 files

Als Beispiel können wir jetzt den Quellcode ändern, um den Namen des Webservers von
nginx zu ändern an Labnix Private Web Server . Bearbeiten Sie
nginx-1.6.2/src/http/ngx_http_header_filter_module.c
Linien

FROM:
static char ngx_http_server_string[] = "Server: nginx" CRLF;
static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;
TO:
static char ngx_http_server_string[] = "Server: Labnix Private Web Server" CRLF;
static char ngx_http_server_full_string[] = "Server: Labnix Private Web Server" CRLF;

Sobald Sie alle notwendigen Änderungen am Quellcode von nginx vorgenommen haben, ist es an der Zeit, eine neue *.deb zu erstellen Paket:

$ cd nginx-1.6.2/
$ dpkg-buildpackage -rfakeroot -uc -b
....
        dpkg-deb --build debian/nginx ..
dpkg-deb: building package `nginx' in `../nginx_1.6.2-5_all.deb'.
        dpkg-deb --build debian/nginx-doc ..
dpkg-deb: building package `nginx-doc' in `../nginx-doc_1.6.2-5_all.deb'.
        dpkg-deb --build debian/nginx-common ..
dpkg-deb: building package `nginx-common' in `../nginx-common_1.6.2-5_all.deb'.
        dpkg-deb --build debian/nginx-full ..
dpkg-deb: building package `nginx-full' in `../nginx-full_1.6.2-5_amd64.deb'.
        dpkg-deb --build debian/nginx-full-dbg ..
dpkg-deb: building package `nginx-full-dbg' in `../nginx-full-dbg_1.6.2-5_amd64.deb'.
        dpkg-deb --build debian/nginx-light ..
dpkg-deb: building package `nginx-light' in `../nginx-light_1.6.2-5_amd64.deb'.
        dpkg-deb --build debian/nginx-light-dbg ..
dpkg-deb: building package `nginx-light-dbg' in `../nginx-light-dbg_1.6.2-5_amd64.deb'.
        dpkg-deb --build debian/nginx-extras ..
dpkg-deb: building package `nginx-extras' in `../nginx-extras_1.6.2-5_amd64.deb'.
        dpkg-deb --build debian/nginx-extras-dbg ..
dpkg-deb: building package `nginx-extras-dbg' in `../nginx-extras-dbg_1.6.2-5_amd64.deb'.
 dpkg-genchanges -b >../nginx_1.6.2-5_amd64.changes
dpkg-genchanges: binary-only upload (no source code included)
 dpkg-source --after-build nginx-1.6.2
dpkg-buildpackage: binary-only upload (no source included)

Die neu kompilierten Pakete können nun installiert werden:

$ cd ..
$ ls
nginx-1.6.2            nginx_1.6.2-5_amd64.changes  nginx_1.6.2-5.dsc        nginx-common_1.6.2-5_all.deb  nginx-extras_1.6.2-5_amd64.deb      nginx-full_1.6.2-5_amd64.deb      nginx-light_1.6.2-5_amd64.deb
nginx_1.6.2-5_all.deb  nginx_1.6.2-5.debian.tar.xz  nginx_1.6.2.orig.tar.gz  nginx-doc_1.6.2-5_all.deb     nginx-extras-dbg_1.6.2-5_amd64.deb  nginx-full-dbg_1.6.2-5_amd64.deb  nginx-light-dbg_1.6.2-5_amd64.deb

Installieren Sie nginx aus neu erstellten Paketen:

# dpkg -i nginx_1.6.2-5_all.deb nginx-full_1.6.2-5_amd64.deb nginx-common_1.6.2-5_all.deb nginx-doc_1.6.2-5_all.deb

Überprüfen Sie den Status des Webservers:

 systemctl status nginx
   nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
   Active: active (running) since Wed 2015-04-15 09:46:53 AEST; 1min 18s ago
  Process: 3535 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 3534 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 3538 (nginx)
   CGroup: /system.slice/nginx.service
           ├─3538 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           ├─3539 nginx: worker process
           ├─3540 nginx: worker process
           ├─3541 nginx: worker process
           └─3542 nginx: worker process

Änderungen des Servernamens bestätigen:

# curl -I http://localhost
HTTP/1.1 200 OK
Server: Labnix Private Web Server
Date: Tue, 14 Apr 2015 23:49:37 GMT
Content-Type: text/html
Content-Length: 867
Last-Modified: Tue, 14 Apr 2015 23:45:07 GMT
Connection: keep-alive
ETag: "552da683-363"
Accept-Ranges: bytes

Debian
  1. So ändern Sie den Hostnamen unter Debian Linux

  2. So installieren Sie Logstash unter Debian Linux

  3. So installieren Sie Elasticsearch unter Debian Linux

  4. So installieren Sie Slack unter Debian Linux

  5. So installieren Sie VirtualBox unter Debian Linux

So installieren Sie MongoDB unter Debian 10 Linux

So installieren Sie PHP unter Debian 10 Linux

So installieren Sie OpenCV unter Debian 10 Linux

So installieren Sie Nginx unter Debian 11

So installieren Sie Skype unter Debian Linux

So installieren Sie den Linux-Kernel 5.15 unter Debian 11