Maison  >  Article  >  base de données  >  Comment Nginx implémente-t-il l'accès asynchrone à MySQL ?

Comment Nginx implémente-t-il l'accès asynchrone à MySQL ?

WBOY
WBOYavant
2023-06-03 22:01:01777parcourir

Il existe un module dans nginx avec cette fonction (dans les articles précédents, les extensions sont appelées modules ici, et elles seront appelées modules à l'avenir. Le module peut être plus précis, car l'extension est un fichier séparé et le module est intégré dans le fichier principal), ce module s'appelle drizzle-nginx-module

Ce n'est pas facile de compiler ceci

Téléchargez d'abord la bibliothèque drizzle
Options de compilation et de configuration :

Copiez le code Le code est le suivant :

./configure --without-server
Make libdrizzle-1.0
Make install-libdrizzle-1.0

La prochaine étape est la sortie http qui génère directement la chaîne json. Que dois-je faire ? Il y a trop de modules à télécharger.
https://github.com/openresty/rds -json-nginx-module

Les options de configuration finale sont les suivantes :

Copier le code Le code est le suivant :

. /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

Lorsque nginx est enfin démarré, il peut signaler que la bibliothèque partagée Drizzle est introuvable. Vous pouvez vérifier le fichier de configuration : /etc/ld.so.conf. Après avoir modifié la configuration, n'oubliez pas d'utiliser lddconfig pour re. -validez-le. Comment l'utiliser ? Tout d'abord, déclarez un serveur mysql dans le module http de nginx Copiez le code comme suit :

              drizzle_server 172.21.107.247:3306 dbname=oneplus_user_sso password= user=root protocol=. mysql;

  }                                                    using   with             using using   using using             through out through  through off off ‐   ‐ down ‐ ′‐ ‐dbname=oneplus_user_sso password= user=root protocol=mysql; location /mysql {Set $ ​​​​my_sql 'select * from t_user limit 1' ;

drizzle_query $ my_sql ;


drizzle_pass back

drizzle_connect_timeout 500 ms ; # 60s

drizzle_send_query_timeout 2s ; PAR DÉFAUT 60 s

Drizzle_recv_Timeout 1 s ; # Par défaut 60 s
RDS_JSON activé ;

Parmi eux, RDS_JSON ON indique que la sortie est au format JSON


Ensuite, accédez à l'adresse : http://172.21.107.174/mysql,

peut afficher les informations d'un utilisateur, et le format est JSON de

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer