SYSTEMD-SOCKET-PROXYD(8) systemd-socket-proxyd SYSTEMD-SOCKET-PROXYD(8) systemd-socket-proxyd - ( ) systemd-socket-proxyd [OPTIONS...] HOST:PORT systemd-socket-proxyd [OPTIONS...] UNIX-DOMAIN-SOCKET-PATH systemd-socket-proxyd IPv4 IPv6 UNIX. . . systemd . socat(1). systemd-socket-proxyd "Accept=no" . systemd-socket-proxyd SCM_RIGHTS SCM_CREDENTIALS SCM_SECURITY SO_PEERCRED SO_PEERPIDFD SO_PEERSEC SO_PEERGROUPS . : -h --help . --version . --connections-max=, -c 256. . 233. --exit-idle-time= infinity. "5min 20s". 246. 0 . . 1. proxy-to-nginx.socket [Socket] ListenStream=80 [Install] WantedBy=sockets.target 2. proxy-to-nginx.service [Unit] Requires=nginx.service After=nginx.service Requires=proxy-to-nginx.socket After=proxy-to-nginx.socket [Service] Type=notify ExecStart=/usr/lib/systemd/systemd-socket-proxyd /run/nginx/socket PrivateTmp=yes PrivateNetwork=yes 3. nginx.conf [...] server { listen unix:/run/nginx/socket; [...] 4. # systemctl enable --now proxy-to-nginx.socket $ curl http://localhost:80/ nginx.service StopWhenUnneeded= --exit-idle-time= systemd-socket-proxyd . nginx.service PrivateTmp= PrivateNetwork= . 5. proxy-to-nginx.socket [Socket] ListenStream=80 [Install] WantedBy=sockets.target 6. proxy-to-nginx.service [Unit] Requires=nginx.service After=nginx.service Requires=proxy-to-nginx.socket After=proxy-to-nginx.socket JoinsNamespaceOf=nginx.service [Service] Type=notify ExecStart=/usr/lib/systemd/systemd-socket-proxyd 127.0.0.1:8080 PrivateTmp=yes PrivateNetwork=yes 7. nginx.conf [...] server { listen 8080; [...] 8. # systemctl enable --now proxy-to-nginx.socket $ curl http://localhost:80/ systemd(1), systemd.socket(5), systemd.service(5), systemctl(1), socat(1), nginx(1), curl(1) 3 . . : . systemd 260.2 SYSTEMD-SOCKET-PROXYD(8)