Unix:socket
Unix:socket ist ein Systemaufruf, der es einem Prozess ermöglicht, eine Verbindung zu einem anderen Prozess über das Netzwerk herzustellen. Der Systemaufruf wird verwendet, um eine Verbindung zu einem anderen Prozess herzustellen, der auf demselben Computer oder auf einem anderen Computer im Netzwerk ausgeführt wird.
Welche Programmierpachen verwenden Unix-Sockets?
- C
- C++
- Rust
- Golang
- Python
- C#
- Java
- Javascript
Welche Webframeworks verwenden Unix-Sockets?
Einige Webframeworks, die Unix-Sockets verwenden, sind:
- Django
- Express.js
- Go
- Asp net Core
- Spring boot
Datenbank
Datenbanken wie Postgresql unterstützen Unix-Sockets für die Kommunikation zwischen Client und Server.
Alternativen
- TCP/IP Verbindung
Postgrsql
Wie geht das mit Postgresql Unix-Sockets?
Postgresql Unix-Sockets können verwendet werden, um eine Verbindung zur Datenbank herzustellen. Der Host-Parameter in der Verbindungszeichenfolge wird auf den Pfad des Unix-Sockets gesetzt.
Beispiel:
psql -h /var/run/postgresql/.s.PGSQL.5432 -U postgres
Konfiguration in der Datenbank
sudo chmod 755 /var/run/postgresql sudo chown postgres:postgres /var/run/postgresql listen_addresses = '' unix_socket_directories = '/var/run/postgresql' port = 5432 sudo systemctl restart postgresql ls -l /var/run/postgresql/.s.PGSQL.5432
Django
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'demo', 'USER': 'demo', 'PASSWORD': 'Test', 'HOST': '/var/run/postgresql', # Pfad zum Unix-Socket 'PORT': '', # Leer lassen für Unix-Socket } }
Mediawiki
$wgDBsocket = '/var/run/postgresql/.s.PGSQL.5432'; // Pfad zum Socket
Tomcat
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol" unixDomainSocketPath="/var/run/start/tomcat.sock" connectionTimeout="20000" redirectPort="8443" maxParameterCount="1000" />
sudo mkdir -p /var/run/start sudo chown tomcat:tomcat /var/run/start
sudo chown -R tomcat:tomcat /opt/tomcat sudo chmod -R 775 /opt/tomcat/logs sudo systemctl restart tomcat