nginx中有一個模組有這個功能,(以前的文章中擴展,這裡叫模組,以後統一叫模組,模組可能準確點,因為擴展是單獨的文件,而模組是嵌入到主文件中的) ,這個模組叫drizzle-nginx-module
要編譯這個還不容易
#先下載drizzle函式庫
編譯和設定選項:
make libdrizzle-1.0
make install-libdrizzle-1.0
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 --with-http_stub_status_module --with-http_ssl_module 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的server
複製程式碼 程式碼如下:
upstream backend {
drizzle_server 172.21.107.247:3306 dbname=oneplususer_soo mysql;}
接下來是宣告location處理了
複製程式碼 程式碼如下:
location/mysql { select * from t_user limit 1';
drizzle_query $my_sql;
nect_timeout 500ms; # default 60s
drizzle_send_query_timeout 2s; ; # default 60s
接下來,存取位址:http ://172.21.107.174/mysql,
就可以輸出一個使用者的訊息,而且格式是json的
以上是Nginx怎麼實現非同步存取mysql的詳細內容。更多資訊請關注PHP中文網其他相關文章!