ホームページ >データベース >mysql チュートリアル >Nginx は mysql への非同期アクセスをどのように実装しますか?
nginx にはこの機能を持つモジュールがあります (以前の記事の拡張機能はここではモジュールと呼ばれますが、今後はモジュールと呼ばれます。拡張子は別のファイルであるため、モジュールの方が正確かもしれません。モジュールはメイン ファイルに埋め込まれています)、このモジュールは drizzle-nginx-module と呼ばれます
これをコンパイルするのは簡単ではありません
最初に drizzle ライブラリをダウンロードしてください
コンパイルと構成のオプション:
コードをコピーします。 コードは次のとおりです。
./configure --without-server
make libdrizzle-1.0
make install-libdrizzle-1.0
次のステップは出力です。 http は json 文字列を直接出力します。どうすればよいですか? 別のモジュールをダウンロードする必要があります。ダウンロードするモジュールが多すぎます。
https://github.com/openresty/rds -json-nginx-module
最終的な構成オプションは次のとおりです:
コードをコピーします コードは次のとおりです:
./configure --prefix= /opt/nginxrw --with-http_gzip_static_module --with-http_stub_status_module --with-http_ssl_module --add- module=/data/src/lua-nginx-module-0.9.8 --add-module=/data/src/ ngx_devel_kit-0.2.19 --add-module=/data/src/drizzle-nginx-module-0.1 .7 --add-module=/data/src/rds-json-nginx-module-master
nginx が最終的に起動されると、drizzle 共有ライブラリが見つからないと報告されることがあります。設定ファイルのダウンロード: /etc/ld.so.conf が表示されます。設定を変更した後は、lddconfig を使用して再設定することを忘れないでください。
使い方
まず、nginx で http モジュールで mysql サーバーを宣言します
コードをコピーしますコードは次のとおりです。
アップストリーム バックエンド {
Drizzle_server 172.21.107.247:3306 dbname=oneplus_user_sso パスワード= ユーザー=root プロトコル= mysql;
}
次のステップは次のとおりです。宣言場所の処理
#コードコードコードは次のとおりです。
#場所 /mysql {
select * from t_user lime 1 ';
drizzle_query $ my_sql;
drizzle_pass バックエンド;
drizzle_connect_timeout 500ms; # デフォルト 60 秒
drizzle_send_query_ timeout 2 秒; # デフォルト 60 秒
drizzle_recv_cols_timeout 1 秒 #デフォルト 60 秒
Drizzle_recv_rows_timeout 1 秒;#DEFAULT 60S
RDS_JSON On;
##、RDS_JSONNNN は JSON 形式の出力を意味します
次に、アドレス: httttttt P ://172.21.107.174/mysql、
にアクセスすると、ユーザーの情報と形式が出力されますjsonです
以上がNginx は mysql への非同期アクセスをどのように実装しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。