Beiträge zu “nginx”

NGINX Performance Tips

Heute morgen habe ich mal die 3 Tipps von hier ausprobiert. Bisher habe ich die Konfiguration des Webservers zur Performance nicht so stark beachtet da ich eher mit den Ladezeiten der Webseiten beschäftigt war. Wahrscheinlich geht da noch mehr aber die 3 Einstellungen bringen substantiellen Gewinn:

Getestet habe ich mit

     ab -c 20 -n 1200 https://www.hagen-bauer.de/

Vorher:

     Time taken for tests:   18.786 seconds
     Requests per second:    596.17 [#/sec] (mean)
     Time per request:       33.547 [ms] (mean)
     Time per request:       1.677 [ms] (mean, across all concurrent requests)

     Connection Times (ms)
                   min  mean[+/-sd] median   max
     Connect:       15   30   3.6     30      83
     Processing:     2    3   0.8      3      35
     Waiting:        2    3   0.7      3      35
     Total:         22   33   3.9     33      89

Nachher:

      Time taken for tests:   7.866 seconds
      Requests per second:    1423.81 [#/sec] (mean)
      Time per request:       14.047 [ms] (mean)
      Time per request:       0.702 [ms] (mean, across all concurrent requests)

      Connection Times (ms)
                    min  mean[+/-sd] median   max
      Connect:        2   11   4.9     10      44
      Processing:     0    3   1.8      3      18
      Waiting:        0    1   1.2      1      14
      Total:          2   14   5.4     13      49
22.2.18
Weitere Beiträge zu: nginx   performance  

Nginx Konfigurationen mit gixy prüfen

Mit dem Werkzeug gixy kann man seine Nginx Konfigurationen auf einige Sicherheitsprobleme prüfen.

Es ist schnell installiert und auch wenn es wie immer keine absolute Sicherheit gibt vielleicht ein gutes Werkzeug das man auch nutzen sollte.

pip install gixy
gixy /etc/nginx/conf.d/www.hagen-bauer.de.conf 
==================== Results ===================
No issues found.
==================== Summary ===================
Total issues:
    Unspecified: 0
    Low: 0
    Medium: 0
    High: 0
20.5.17
Weitere Beiträge zu: nginx   gixy  

Webserver Logs mit goaccess.io auswerten

Ich möchte ja aus verschiedenen Gründen keine Web Analyse Software wie Piwik einsetzen. Zum einen bin ich der Meinung das Sie eh keine statistisch relevanten Daten liefern (Stichwort Opt Out) und zum anderen schau ich viel zu selten in die Daten das es sich lohnt den Aufwand der Pflege und Wartung eine zusätzlichen PHP Anwendung zu rechtfertigen.

Trotzdem kann es von Zeit zu Zeit sinnvoll sein mal festzustellen welche welche Browser verwendet werden oder wie die Zugriffe insgesamt sind. Die Access Logs des Webservers haben schon diese Daten.

Das Werkzeug goaccass.io kann diese Daten schön auswerten und in Echtzeit oder als html Seite anzeigen.

Die Installation ist denkbar einfach

 apt-get install build-essential libgeoip1 libgeoip-dev libncursesw5-dev libc6-dev libncurses5-dev
 wget http://tar.goaccess.io/goaccess-0.9.8.tar.gz
 tar -xzvf goaccess-0.9.8.tar.gz
 dd goaccess-0.9.8/
 ./configure --enable-utf8
 make
 make install

Dann braucht es für den Apache Server noch Datums und Logformat Einstellungen wir hier beschrieben und schon geht es los. Da die Daten jedes mal aus den Logfiles gezogen werden dauert es natürlich etwas aber damit kann ich leben.

   zcat /var/www/logs/access.log.?.gz | goaccess

Einen schönen Report in html bekommt man dann so

    zcat /var/www/logs/access.log.?.gz | goaccess > /var/www/public_html/report.html
19.4.16
Weitere Beiträge zu: goaccess   apache   nginx  

NGINX Logdateien anonymisieren

Ich möchte das auf meinem Webserver keine IP Adressen gespeichert werden. Für Apache gibt es ein Modul (mod_removeip). Leider gibt es das für NGINX nicht. Hier gibt es nur die Lösung die Logfiles und das Speichern der Adressen in allen Anwendungen zu anonymisieren.

Für die Logfiles geht das in der NGINX Konfiguration durch die Definition eines neuen Logformats recht einfach:

 vi nginx.conf
   log_format timed_combined_anon 'Anon - $remote_user [$time_local]  '
                '"$request" $status $body_bytes_sent '
                '"$http_referer" "$http_user_agent" $request_time';
   access_log  /var/log/nginx/access.log  timed_combined_anon;

Für die error.log gibt es aktuell leider keine Möglichkeit die IP Adressen zu entfernen.

23.12.15
Weitere Beiträge zu: nginx  

Dies ist ein privater Blog von Hagen Bauer- berufstätiger Vater, Ehemann, Naturliebhaber, Läufer, Zelter, technikverliebt.


Creative Commons License
This blog is licensed under a Creative Commons License