婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 利用nginx + fastcgi實現圖片識別服務器

利用nginx + fastcgi實現圖片識別服務器

熱門標簽:百應電銷機器人靠譜嗎 遼寧電銷平臺外呼系統軟件 如何在各種地圖標注自己的地址 申請400電話號碼多少錢 coreldraw地圖標注 信陽銷售外呼系統招商 營銷電銷機器人招商 菏澤crm外呼系統價格 物超所值的400電話申請

背景

使用的特定的設備進行深度學習模型的推理,該機器僅僅提供了C++封裝好的API進行模型的加載啟動與推理,模型的訓練依然是使用caffe,模型需要轉化成該設備支持的格式,模型的轉化這里就不在介紹。為了把模型的推理做成一種服務,只能上手C++,搭建HTTP服務,使得用戶通過http服務post一張圖片,服務器啟動模型推理,實現模型的預測,并把結果返回給客戶端。

整體框架

服務短的服務內容就是對接收的圖片進行預處理,然后進行模型的推理,目前需要做的一點就是引入HTTP服務

前期調研

對于一個C++新手,前期調研當然是先進行搜索,http server c++搜處理的結果也是五花八門,有的是教你如何通過實現一個http服務器,有的是一個用第三方庫,有的是直接懟一堆代碼。。。知道在stackoverflow上看到了:

why

not try NGINX with fcgi-function mapping?

實現步驟

nginx這個是做代理的神器,做負載均衡的時候也經常用,只要我的客戶端的內容發送的nginx上,然后nginx把數據轉發給fcgi相關的應用就可以,我需要做的就是把fcgi和我的推理程序結合起來就可以。

nginx

簡單說nginx就是中間商,客戶端把請求發給中間商,中間商去貨源地把貨拿上,讓后給客戶回應:

客戶告訴nginx 我要購買**商品,nginx就去對于的服務提供商取出對于服務并把它返回給客戶。

目前需要的就是實現fcgi 部分,那么什么是fcgi?

cgi

通用網關接口(Common Gateway Interface/CGI)是一種重要的互聯網技術,可以讓一個客戶端,從網頁瀏覽器向執行在網絡服務器上的程序請求數據。CGI描述了服務器和請求處理程序之間傳輸數據的一種標準。

這里的標準輸入輸出是對應的一些環境變量主要包含有與請求相關的環境變量,與服務器相關的環境變量,與客戶端相關的環境變量三大類。

fastcgi

FastCGI 實際上是增加了一些擴展功能的 CGI 、是 CGI 的改進,同樣也是描述客戶端和Web服務器程序之間傳輸數據的一種標準。

FastCGI 致力于減少Web服務器與CGI程序之間進行互動的開銷,從而使Web服務器可以同時處理更多的Web請求。與 CGI 為每個Web請求創建一個新的進程不同, FastCGI 使用持續的進程來處理一連串的Web請求,這些進程由FastCGI進程管理器管理,而不是Web服務器。

為什么說是減少了互動的開銷呢?這就要看兩種處理方式的區別!

cgi的工作流程:

每當客戶端發出一個新的請求,首先要創建一個cgi子進程,然后cgi處理完請求,有多少個連接就會有多少個cgi子進程啟動,當請求量大的時候會占用大量的系統資源。

fastcgi

fastcgi 是使用持續的進程處理一連串的請求,這些進程有fastcgi的進程管理器來進行管理具體流程如下所示:

也可以這樣比喻:

cgi在賣雞蛋灌餅,等到顧客要吃的時候,他開始點火,打雞蛋,攤餅,然后熄火。然后等待下一個顧客

fastcgi就是早餐店老版,雇傭了一幫服務員,專門做需要現場做的飯,老板只需要把訂單安排下去,服務員負責盛粥煎餅。

具體步驟

  • 搭建c++的開發環境
  • 搭建nginx
  • 安裝fastcgi
  • 安裝fastcgi的進程管理器spawn-cgi
  • 編寫運行程序
  • 編譯運行

工欲善其事,必先利其器,首先搭建環境把!

通過閱讀不少的博客內容找到了最簡單的安裝步驟,好多都是通過下載源代碼,然后通過make進行編譯,不過對于這些比較常用的庫,軟件包中已經集成了。

C++開發環境安裝

apt-get install build-essential

nginx

apt-get install nginx

fastcgi

sudo apt-get install libfcgi-dev

spawn-fcgi

apt-get install spawn-fcgi

編寫運行程序

#include <iostream>
#include "fcgio.h"
 
using namespace std;
 
int main(void) {
 // Backup the stdio streambufs
 streambuf * cin_streambuf = cin.rdbuf();
 streambuf * cout_streambuf = cout.rdbuf();
 streambuf * cerr_streambuf = cerr.rdbuf();
 
 FCGX_Request request;
 
 FCGX_Init();
 FCGX_InitRequest(&request, 0, 0);
 
 while (FCGX_Accept_r(&request) == 0) {
  fcgi_streambuf cin_fcgi_streambuf(request.in);
  fcgi_streambuf cout_fcgi_streambuf(request.out);
  fcgi_streambuf cerr_fcgi_streambuf(request.err);
 
  cin.rdbuf(&cin_fcgi_streambuf);
  cout.rdbuf(&cout_fcgi_streambuf);
  cerr.rdbuf(&cerr_fcgi_streambuf);
 
  cout << "Content-type: text/html\r\n"
    << "\r\n"
    << "<html>\n"
    << " <head>\n"
    << " <title>Hello, World!</title>\n"
    << " </head>\n"
    << " <body>\n"
    << " <h1>Hello, World!</h1>\n"
    << " </body>\n"
    << "</html>\n";
 
 }
 cin.rdbuf(cin_streambuf);
 cout.rdbuf(cout_streambuf);
 cerr.rdbuf(cerr_streambuf);
 return 0;

編譯程序

g++ cgi.cpp -o cgidemo -lfcgi

修改nginx 配置文件

vi /usr/local/nginx/conf/nginx.conf

啟動nginx

nginx -c /usr/local/nginx/conf/nginx.conf

通過瀏覽器驗證nginx是否正常啟動http://*******:80

啟動spwan-cgi進程

spawn-fcgi -a 127.0.0.1 -C 20 -p 7070 ./cgidemo

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

標簽:瀘州 江門 湖北 泰安 內江 江西 廈門 玉樹

巨人網絡通訊聲明:本文標題《利用nginx + fastcgi實現圖片識別服務器》,本文關鍵詞  利用,nginx,fastcgi,實現,圖片,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《利用nginx + fastcgi實現圖片識別服務器》相關的同類信息!
  • 本頁收集關于利用nginx + fastcgi實現圖片識別服務器的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    天天av天天翘天天综合网| 日韩精品一区二区三区中文不卡 | 国产一区二区按摩在线观看| 亚洲一区二区高清| 一区二区成人在线视频| 亚洲精品你懂的| 亚洲在线成人精品| 五月天激情小说综合| 人人狠狠综合久久亚洲| 久久99精品国产| 国产成人综合网| 国产成a人无v码亚洲福利| 国产一区二区在线影院| 成人激情小说乱人伦| 成年人国产精品| 色综合色狠狠综合色| 欧美日韩不卡视频| 日韩欧美综合一区| 国产欧美日韩视频在线观看| 欧美激情在线一区二区| 亚洲视频一区二区在线| 午夜国产不卡在线观看视频| 久久精品国产精品亚洲综合| 国产精品一区二区三区四区| 99久久99久久精品国产片果冻| 成人av电影在线| 91国偷自产一区二区使用方法| 欧美日韩国产影片| 国产日本亚洲高清| 亚洲一区二区三区国产| 国产精品综合久久| 日本韩国欧美三级| 欧美精品一区二| 亚洲精品成人精品456| 免费看黄色91| 91丝袜美女网| 欧美一区二区三区在线观看| 国产精品久久久久久久久免费樱桃| 亚洲欧美韩国综合色| 蜜臀av一级做a爰片久久| 波多野结衣中文字幕一区| 欧美日本韩国一区二区三区视频| 欧美草草影院在线视频| 一区二区三区在线免费视频| 老司机精品视频一区二区三区| 国产成人在线色| 91精品婷婷国产综合久久 | 亚洲成人精品在线观看| 国产在线精品国自产拍免费| 色美美综合视频| 欧美电影免费观看高清完整版在线观看| 中文字幕亚洲视频| 国产精品一区一区三区| 日韩一区二区三区视频| 午夜精品国产更新| 在线观看一区不卡| 亚洲蜜桃精久久久久久久| 国产一二精品视频| 日韩免费视频一区二区| 日韩国产精品大片| 在线观看成人免费视频| 综合久久给合久久狠狠狠97色 | av男人天堂一区| 成人av免费网站| 国产偷v国产偷v亚洲高清| 狠狠色伊人亚洲综合成人| 欧美另类一区二区三区| 午夜视频在线观看一区二区三区| 色偷偷一区二区三区| 18成人在线观看| 9i在线看片成人免费| 中文字幕欧美日韩一区| 国产精品一区二区你懂的| www激情久久| 激情六月婷婷久久| 久久午夜电影网| 国产电影一区在线| 久久免费视频色| 国产sm精品调教视频网站| 国产农村妇女精品| 成人av在线看| 一区二区三区美女视频| 欧美日韩一区二区三区四区五区| 一区二区三区在线视频免费观看| 欧美色精品天天在线观看视频| 亚洲成av人片在www色猫咪| 欧美日韩亚洲另类| 男女男精品网站| 久久影视一区二区| 成人免费的视频| 亚洲国产日日夜夜| 日韩免费视频一区二区| 国产福利91精品一区二区三区| 久久精品男人的天堂| 91亚洲精品久久久蜜桃| 亚洲国产精品久久久久秋霞影院| 91精品视频网| 福利一区二区在线观看| 亚洲欧洲性图库| 7777精品伊人久久久大香线蕉| 久久99国产精品麻豆| 一区二区中文字幕在线| 欧美一级黄色片| 99在线热播精品免费| 日日夜夜免费精品| 中文字幕av一区二区三区| 欧美日韩精品福利| 东方欧美亚洲色图在线| 亚洲成人免费看| 国产精品毛片久久久久久| 欧美日高清视频| 91香蕉视频mp4| 麻豆91在线看| 一区二区三区日本| 337p日本欧洲亚洲大胆色噜噜| 欧洲一区在线电影| 国产凹凸在线观看一区二区| 亚洲国产视频直播| 亚洲欧洲色图综合| 欧美精品一区二区三区很污很色的 | 精品一区二区久久久| 亚洲精品视频自拍| 精品国产乱码久久久久久夜甘婷婷 | 日韩国产欧美三级| 日韩一区在线看| 日韩丝袜情趣美女图片| 在线视频观看一区| 成人黄色国产精品网站大全在线免费观看 | 丝袜a∨在线一区二区三区不卡| 国产天堂亚洲国产碰碰| 制服.丝袜.亚洲.另类.中文| av激情综合网| 粉嫩av一区二区三区粉嫩| 免费观看在线色综合| 亚洲电影第三页| 有坂深雪av一区二区精品| 国产精品久久久久久久浪潮网站| 26uuu欧美| xnxx国产精品| 欧美一区二区大片| 91精品国产综合久久蜜臀| 91久久精品一区二区| 91欧美激情一区二区三区成人| 国产成人在线色| 国产黄色成人av| 国产乱码精品一区二区三区忘忧草| 丝袜a∨在线一区二区三区不卡| 一区二区三区色| 一区二区三区高清| 亚洲动漫第一页| 亚洲国产精品久久人人爱蜜臀| 亚洲精品国产品国语在线app| 亚洲猫色日本管| 亚洲免费观看高清完整| 一区在线中文字幕| 一区二区三区四区视频精品免费 | 国产精品麻豆视频| 国产精品麻豆欧美日韩ww| 亚洲天堂2014| 亚洲成a人在线观看| 日本成人中文字幕在线视频| 日韩av电影一区| 国内久久婷婷综合| 国产美女娇喘av呻吟久久| 成人精品视频网站| 色呦呦国产精品| 91精品国产免费| 久久久久国产精品麻豆| 国产精品国产自产拍在线| 一区二区高清视频在线观看| 日本特黄久久久高潮| 国产在线精品一区在线观看麻豆| 国产91精品露脸国语对白| 在线视频国内自拍亚洲视频| 日韩一区二区视频在线观看| 欧美激情一区二区三区四区| 亚洲黄色免费电影| 精品一区二区在线播放| 91在线云播放| 日韩欧美在线1卡| 中文字幕日本不卡| 精品一区二区三区在线视频| 成人美女视频在线看| 91精品国产欧美一区二区| 国产视频一区二区在线| 亚洲18色成人| 成人综合在线网站| 日韩一卡二卡三卡四卡| 综合欧美亚洲日本| 国产专区欧美精品| 欧美三级午夜理伦三级中视频| 国产日韩欧美麻豆| 男女激情视频一区| 91免费在线视频观看| 2020国产精品| 日韩电影免费一区| 91免费精品国自产拍在线不卡| 日韩欧美一区二区在线视频| 综合久久给合久久狠狠狠97色 | 在线观看一区日韩|