Unix:socket

Aus ahrensburg.city
Version vom 3. November 2024, 23:00 Uhr von Thorsten (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

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