ホームページ  >  記事  >  データベース  >  Nginx は mysql への非同期アクセスをどのように実装しますか?

Nginx は mysql への非同期アクセスをどのように実装しますか?

WBOY
WBOY転載
2023-06-03 22:01:01776ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。