注意: 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を使用して簡単なチャットを実装する方法
この記事では、主に js を使用して画像をモザイク化する方法の例を紹介し、次のように共有します。効果...
目次概要画像圧縮とはJPEG/JPG JPGの利点JPGの使用シナリオJPGの欠点MozJPEG を...
/******************** * 仮想ファイルシステム VFS **********...
この記事の例では、WeChatアプレットで複数行のテキストスクロールを実装するための具体的なコードを...
最近、データベース データのスケジュールされた移行を実行する必要があります。実行プロセス中に何らかの...
表では、左上の境界線の色を個別に定義したり、セルの右下の境界線の色を定義したりできます。これら 2 ...
1.コンテナ内の /etc/hosts、/etc/resolv.conf、/etc/hostname...
1. システム内で開いているファイルの最大数を確認する #現在のリソース制限設定を表示する ulim...
Vue エコシステムには Vite と呼ばれる新しいビルド ツールがあり、Vue CLI よりも 1...
擬似要素と擬似クラスところで、まずは疑似クラスセレクターと疑似要素セレクターについておさらいしておき...
docker-compose.ymlを作成し、次の内容を入力します。 バージョン: '3...
美しいコードは美しい Web サイトの基礎です。優れた CSS は、同様に優れた HTML の上にの...
1. 2つのクエリエンジン(myIsamエンジン)のクエリ速度InnoDB はテーブル内の特定の行数...
1. 原因: SQL ファイルをインポートする必要があるのですが、インポートできません。この文を実行...
1. 設置環境Windows7 で MySQL5.6 データベースの解凍バージョンをアンインストー...