注意: 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を使用して簡単なチャットを実装する方法
1. ワンストップソリューション1. 問題の分析と特定 # MySQL設定ファイルを見つけて、MyS...
この記事では、Vueを使用して特定の領域に透かしを描く方法を紹介します。具体的な内容は次のとおりです...
目次JS はファイルを読み取る FileReader書類イベントとメソッド基本的な使い方イベント処理...
序文場合によっては、次の図のような浮動効果の要件が必要になります。 成し遂げる標準的な通常の状況では...
ベンダープレフィックスとは何ですか?ベンダー プレフィックス - ブラウザー エンジン プレフィック...
123WORDPRESS.COM では、さまざまな環境での MYSQL の他のバージョンのインストー...
目次序文1. リクエストをキャンセルする方法2. 重複リクエストの判定方法3. 繰り返しリクエストを...
CSS3 - 影の追加(ボックスシャドウの使用) CSS3 - div またはテキストに影を追加する...
docker パッケージング Python 環境の手順は次のとおりです。 1 pip listの下に...
目次Vue でのモデルバインド表示の if の v-text の説明v-html: v-オンv-if...
目次序文ブラウザにおけるオーディオとビデオに関する知識のまとめビデオエンコーディング包装形態オーディ...
*ページを作成する: 2つの入力ボックスとボタン*コードと手順/* 1. 入力行と列の値を取得する2...
JDKダウンロードアドレス: http://www.oracle.com/technetwork/j...
1. CSSナビゲーションバー(1)ナビゲーションバーの機能ナビゲーション バーを使いこなすことは、...
MySQL のデータ量が多い場合、制限ページングが使用されます。ページ数が増えると、クエリの効率が低...