Unix:socket: Unterschied zwischen den Versionen

Aus ahrensburg.city
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(13 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 5: Zeile 5:
* Rust
* Rust
* Golang
* Golang
* Python
* C#
* Java
* Javascript
==Welche Webframeworks verwenden Unix-Sockets?==
==Welche Webframeworks verwenden Unix-Sockets?==
Einige Webframeworks, die Unix-Sockets verwenden, sind:
Einige Webframeworks, die Unix-Sockets verwenden, sind:
Zeile 11: Zeile 16:
* Go
* Go
* Asp net Core
* Asp net Core
* [[Spring boot unix:socket|Spring Boot]]
* Spring boot
==Vorteil==
 
==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:====
<pre>
 
psql -h /var/run/postgresql/.s.PGSQL.5432 -U postgres
</pre>
====Konfiguration in der Datenbank====
<pre>
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
</pre>
====Django====
<pre>
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
    }
}
</pre>
 
====Mediawiki====
<pre>
$wgDBsocket = '/var/run/postgresql/.s.PGSQL.5432'; // Pfad zum Socket
</pre>
===Tomcat===
<pre>
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
          unixDomainSocketPath="/var/run/start/tomcat.sock"
          connectionTimeout="20000"
          redirectPort="8443"
          maxParameterCount="1000"
          />
</pre>
<pre>
sudo mkdir -p /var/run/start
sudo chown tomcat:tomcat /var/run/start
</pre>
 
 
<pre>
sudo chown -R tomcat:tomcat /opt/tomcat
sudo chmod -R 775 /opt/tomcat/logs
sudo systemctl restart tomcat
</pre>

Aktuelle Version vom 3. November 2024, 23:00 Uhr

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