Wie man websockets mit PHP in nginx einrichtet?
Ich habe mir dieses Tutorial angesehen, kann es aber nicht funktionieren
Kopieren Sie die drei Dateien in das Stammverzeichnis des www-Verzeichnisses
/index.php
%Code%
/jquery-3.1.1.js
In /websocket/server.php
Ich habe den URI
In nginx habe ich das hinzugefügt
%Vor%Um Websocket-Server zu starten
%Vor% Der Chat befindet sich unter index.php
und lädt, aber bekommt diesen Fehler im Chatfenster https://domain.com/chat.php
Habe auch versucht, eine Verbindung über dieses Tool herzustellen, bekomme aber diesen Fehler
%Vor%Wird über den Browser angefordert
%Vor%Sie verwenden Port 9000 in Ihrer nginx-Konfiguration, während PHPs eingebauter Webserver auf Port 8000 läuft.
Versuchen Sie, den Port auf 8000 zu setzen und sehen Sie, ob das Problem behoben ist.
%Vor%Bearbeiten:
In Bezug auf ERR_DISALLOWED_URL_SCHEME
Chrome erfordert seit Version 50, dass die Websocket-Kommunikation über SSL erfolgt. Wahrscheinlich müssen Sie dies aktivieren, damit Ihre App in Chrome funktioniert.
Sie haben zwei Möglichkeiten:
Ich habe in Ihrer Konfigurationsdatei einige Fehler entdeckt. Meine Beobachtungen sind wie folgt:
php -q /var/www/websocket/server.php
startet den einfachen Socket-Server. Es wird nicht SSL sein; Ich schätze, deswegen kommst du durch Nginx. nicht wahr? proxy_pass https://domain.com:9000/websocket/server.php;
nicht https sein. Sie benötigen auch nicht den vollständigen Pfad, da es sich um einen einfachen TCP-Socket handelt und nicht um einen Dateipfad. Also sollte nur proxy_pass http://127.0.0.1:9000;
tun. Das folgende ist meine Config-Datei, die wie beabsichtigt zu funktionieren scheint.
%Vor% Nehmen Sie auch Änderungen in index.php
in var wsUri = "wss://localhost:8443/websocket/";