注意: nginxのバージョンは1.9以上である必要があります。nginxをコンパイルするときに、--with-streamを追加する必要があります。 のように: ./configure --prefix=/Data/apps/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_image_filter_module --with-stream 知らせ 1. MySQL はデフォルトでポート 3306 を使用するため、MySQL 用の nginx tcp リバース プロキシを構成するときは、MySQL がリッスンするポートと同じポートを使用しないように注意してください。たとえば、私はポート 3307 を使用します。 2. ルートユーザーがMySQLにリモート接続できることを確認する たとえば、データベース内のmysqlテーブルuser nginx.conf このコードは nginx.conf ファイルの末尾に追加されます。http{} 内には追加できないことに注意してください。 ストリーム{ /Data/apps/nginx/conf/stream/*.conf をインクルードします。 } ストリーム/db.conf サーバー{ listen 3307; #ポートはmysqlがリッスンするポートと同じにはできないことに注意してください proxy_pass db; } アップストリームDB{ サーバー 127.0.0.1:3306; サーバー 192.168.233.1:3306; } nginxを再起動し、nginxがポート3307でリッスンしているかどうかを確認します。 PHPコードは次のようになります #実際、新しい mysqli を作成するときは、ポート番号を nginx リバース プロキシによって設定されたポート番号と同じ番号に変更するだけで済みます。$mysqli = new mysqli('127.0.0.1','root','root','test',3307); 完全なPHPコード <?php クラスMysqlClass { private static $obj = NULL; //mysqlクラスオブジェクト public $host; パブリック $database; パブリック $user; パブリック $pwd; パブリック $port; パブリック $mysqli = NULL; //オブジェクトの複製を禁止する private function __clone(){} // 外部インスタンス化を禁止する private function __construct($host="127.0.0.1",$database="test",$user="root",$pwd="root",$port="3307") { $this->ホスト = $host; $this->データベース = $database; $this->user = $user; $this->pwd = $pwd; ポート番号 $this->mysqli = $this->db_connect(); } //mysqli 接続を取得するプライベート関数 db_connect() { $mysqli = 新しい mysqli($this->ホスト、$this->ユーザー、$this->パスワード、$this->データベース、$this->ポート); ($mysqli->connect_errnoの場合) { printf("接続に失敗しました: %s\n", $mysqli->connect_errno); 出口(); } $mysqli->query("名前をutf8に設定"); $mysqli を返します。 } //DBインスタンスを取得する public static function get_db() { if(self::$obj === NULL) { self::$obj = 新しい self(); } self::$obj を返します。 } パブリック関数 db_query($sql) { 結果 = $this->mysqli->クエリ($sql); $arr = []; $row = $result->fetch_assoc() である間 { $arr[] = $row; } $result->close(); mysqli をクローズします。 $arr を返します。 } パブリック関数 db_insert() { } パブリック関数 db_update() { } パブリック関数__destruct() { mysqli をクローズします。 } } MysqlClass::get_db() は、Mysql クラスから呼び出されます。 $r = $db->db_query("テーブルを表示"); var_dump($r); 結果 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Linux 上の Tomcat で MySQL にデータを挿入するときに中国語の文字化けが発生する問題を解決する
>>: JS WebSocketを使用して簡単なチャットを実装する方法
Alibaba Cloud ServerがFTPに接続できないFileZilla 425 データ接続...
私が長い間遭遇してきた問題を要約してみましょう。プロジェクトでは、フロントエンドをレンダリングするた...
この記事は主に、一定の参考値を持つ純粋な HTML + CSS によって実現されるタイピング効果を紹...
JavaScript - 原則シリーズ日常の開発では、既存のプロジェクトを引き継ぐときは常に、まず他...
これは、Linux 管理者だけでなく、私たち全員にとって非常に重要なトピックです。つまり、IT イン...
ローカルEclipse上にTomcatサーバーを作成する場合、 tomcaインストールディレクトリの...
パノラマビュー効果を見てみましょう: 住所を表示スクリーンショット: 体験してみると、周囲の環境がぐ...
フロントエンド プロジェクトでは、添付ファイルのアップロードは非常に一般的な機能であり、ほぼすべての...
目次1. Promise とは何ですか? 2. なぜ Promise が存在するのでしょうか? 3つ...
MySQL を学習すると、インストール後にいくつかのデフォルトのデータベースが付属していることに気付...
1. 原因公式の cerbot は面倒すぎます。野生の成長よりもさらに悪い acme.sh の使用は...
この記事では、例を使用して、MySQL ストアド プロシージャでの case ステートメントの使用方...
CSS3 を学ぶということは、新しい機能と基本的な理論に慣れることを意味します。この記事では、ケー...
Flexbox レイアウト モジュールは、コンテナー内のスペースをより効率的に配分する方法を提供する...
公式ドキュメント:したがって、mysql は次のように起動する必要があります。 docker run...