Hinweis: Die Nginx-Version muss 1.9 oder höher sein. Beim Kompilieren von Nginx müssen Sie --with-stream hinzufügen. wie: ./Konfigurieren --prefix=/Data/apps/nginx --mit-http_stub_status_module --mit-http_ssl_module --mit-http_realip_module --mit-http_image_filter_module --mit-stream Beachten 1. Da MySQL standardmäßig Port 3306 verwendet, achten Sie beim Konfigurieren des Nginx TCP-Reverse-Proxys für MySQL darauf, nicht denselben Port zu verwenden, auf dem MySQL lauscht. Ich verwende beispielsweise Port 3307. 2. Stellen Sie sicher, dass der Root-Benutzer eine Remoteverbindung zu MySQL herstellen kann Beispielsweise die MySQL-Tabelle Benutzer in der Datenbank nginx.conf Dieser Code wird an das Ende der Datei nginx.conf angehängt. Beachten Sie, dass er nicht innerhalb von http{} hinzugefügt werden kann. Strom{ schließen Sie /Data/apps/nginx/conf/stream/*.conf ein; } stream/db.conf Server { listen 3307; #Beachten Sie, dass der Port nicht derselbe sein kann wie der, auf dem MySQL auf Proxy_Pass db hört. } Upstream-Datenbank { Server 127.0.0.1:3306; Server 192.168.233.1:3306; } Starten Sie nginx neu und prüfen Sie, ob nginx auf Port 3307 lauscht Dann sieht der PHP-Code so aus #Tatsächlich müssen Sie beim Erstellen eines neuen MySQLI nur die Portnummer auf die gleiche ändern, wie sie vom Nginx-Reverse-Proxy festgelegt wurde. $mysqli = new mysqli('127.0.0.1','root','root','test',3307); Vollständiger PHP-Code <?php Klasse MysqlClass { private static $obj = NULL; //mysqlclass-Objekt public $host; öffentliche $Datenbank; öffentlicher $Benutzer; öffentliches $pwd; öffentlicher $port; öffentliche $mysqli = NULL; //Verhindert das Klonen von Objekten private function __clone(){} //Externe Instanziierung verbieten private Funktion __construct($host="127.0.0.1",$database="test",$user="root",$pwd="root",$port="3307") { $this->host = $host; $this->Datenbank = $Datenbank; $this->Benutzer = $Benutzer; $this->pwd = $pwd; $this->port = $port; $this->mysqli = $this->db_connect(); } //MySQL-Verbindung abrufen, private Funktion db_connect() { $mysqli = neues mysqli($dieser->Host,$dieser->Benutzer,$dieses->Passwort,$diese->Datenbank,$dieser->Port); wenn($mysqli->connect_errno) { printf("Verbindung fehlgeschlagen: %s\n", $mysqli->connect_errno); Ausfahrt(); } $mysqli->query("Namen auf utf8 festlegen"); gibt $mysqli zurück; } //Holen Sie sich die Datenbankinstanz öffentliche statische Funktion get_db() { wenn(selbst::$obj === NULL) { selbst::$obj = neues selbst(); } gibt selbst zurück::$obj; } öffentliche Funktion db_query($sql) { $Ergebnis = $this->mysqli->query($sql); $arr = []; während ($row = $result->fetch_assoc()) { $arr[] = $zeile; } $ergebnis->schließen(); $this->mysqli->close(); $arr zurückgeben; } öffentliche Funktion db_insert() { } öffentliche Funktion db_update() { } öffentliche Funktion __destruct() { $this->mysqli->close(); } } $db = MysqlClass::get_db(); $r = $db->db_query("Tabellen anzeigen"); var_dump($r); Ergebnis Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
>>: So verwenden Sie JS WebSocket zur Implementierung eines einfachen Chats
Klicken Sie auf die Schaltfläche, um den Text in ...
Inhaltsverzeichnis 1. Ich habe das Root-Passwort ...
1. Werkzeuge Wir benötigen jetzt zwei Tools: MySQ...
Den Ergebnissen zufolge gibt es für die Definitio...
Vorwort Wie wir alle wissen, ist Bash (die Bourne...
Inhaltsverzeichnis Vorwort Umsetzungsideen Wirkun...
Verwendung von MySQL-Speichertabellen und temporä...
1. Installieren Sie die KVM-Virtualisierung :::::...
Vorwort Es gibt viele Möglichkeiten, in CSS horiz...
Bei der Verwendung von Docker wurden mehrere Prob...
Inhaltsverzeichnis Beispiel 1 Beispiel 2 Beispiel...
Inhaltsverzeichnis 0x0 Einführung 0x1 RBAC-Implem...
Dieser Artikel beschreibt die MySQL-Einzeltabelle...
Inhaltsverzeichnis Vorwort Die Rolle von Dekonstr...
Umgebungsbeschreibung Serversystem: Ubuntu 18.04 ...