Nginx

PHP-FPM + Nginx: Socket vs. TCP/IP und sysctl tweaking

Oft wird behauptet, dass TCP/IP besser skaliert als Unix-Sockets. Das mag vl. zutreffen, wenn das Socket-Limit, des Systems, nicht angepasst wird. Bei Ubuntu liegt das Unix-Socket Connection-Limit z.B. bei 128. Somit können nur 128 PHP Requests gleichzeitig abgearbeitet werden. Doch was ist eigentlich der Vorteil von Unix-Sockets? Bei den Unix-Sockets wird der TCP/IP Overhead (TCP Header usw.) eingespart. Somit werden hier Ressourcen gespart und die Requests schneller abgearbeitet, auch wenn es nur ein minimaler Unterschied ist.

SSL HTTP/2 und Nginx

Da nun Nginx mit Version 1.9.5 auch ein HTTP/2 Modul besitzt, ist es an der Zeit das zu nutzen und entsprechend zu kompilieren. Den Sourcecode kann man von http://nginx.org/en/download.html herunterladen. Wichtig ist, dass man beim kompilieren den Parameter –with-http_v2_module mitgibt. Beispiel: --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 --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-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --without-http_browser_module --without-http_geo_module --without-http_limit_req_module --without-http_limit_conn_module --without-http_memcached_module --without-http_referer_module --without-http_scgi_module --without-http_split_clients_module --without-http_ssi_module --without-http_userid_module --without-http_uwsgi_module --with-http_v2_module Anschließend wird kompiliert und entsprechend installiert.