注意: 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を使用して簡単なチャットを実装する方法
docker-compose.ymlを作成し、次の内容を入力します。 バージョン: '3...
私が使用している VMware Workstation Pro のバージョンは次のとおりです。 1....
目次1. uniappプラグインマーケットのリファレンスプラグイン2. 具体的な導入プロセス1. m...
ポートが占有されているかどうかは、これまで一度もわかりませんでした。多くの人に尋ねて、ようやくわかり...
以前、プロジェクトを開発しているときに、flex レイアウトと position:absolute/...
エフェクトのスクリーンショット:実装コード:コードをコピーコードは次のとおりです。 <!DOC...
目次1. Dockerコンサルの概要2. nginxとconsulをベースにした自動検出と高可用性の...
今日は、開発でよく使われる、非常に便利な HTML タグをいくつかまとめてみたいと思います。これらの...
導入から始めず、いきなり本題に入りましょう。通常の背景ぼかし効果は次のとおりです。 プロパティを使用...
FileReader は、フロントエンドのファイル処理、特に画像処理にとって重要な API です。画...
コンポジション継承組み合わせ継承は、疑似古典的継承とも呼ばれます。これは、昨日説明したプロトタイプ ...
この記事では、携帯電話認証コードログインを実装するためのVueの具体的なコードを参考までに共有します...
B/S システム インターフェースを構築する場合、メイン ページ index.html 内に他のペー...
MySQLインストーラをダウンロードする公式ダウンロードアドレス: http://dev.mysq...
まず、このブログのケースデモンストレーション テーブルを作成します。 create table a(...