老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)

nginx+lua單機上萬并發(fā)的實現(xiàn)

nginx是我們最常用的服務(wù)器,常用于做內(nèi)容分發(fā)和反向代理,lua是一種類C的腳本語言,廣泛應(yīng)用于游戲行業(yè),十年前頁游流行的時候,我曾經(jīng)買過傳奇類游戲的源碼,游戲中的服務(wù)端就是用lua實現(xiàn)的。我們常用來配合nginx、envoy和redis做一些簡單實用的功能,比如:超賣和少賣、排行榜等,減少請求到達后端java的頻率

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供洛隆網(wǎng)站建設(shè)、洛隆做網(wǎng)站、洛隆網(wǎng)站設(shè)計、洛隆網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、洛隆企業(yè)網(wǎng)站模板建站服務(wù),十多年洛隆做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

下面開始構(gòu)建nginx+lua的鏡像,自己構(gòu)建的原因是怕別人提供的鏡像里有病毒,docker非官方鏡像中有很多病毒,這一點大家需要注意

本文采用openresty版本的nginx,具體openresty、nginx和lua的說明大家可以百度一下

構(gòu)建鏡像之前需要先準(zhǔn)備好nginx-module-vts模塊和openresty-1.15.8.3的壓縮包,這兩個壓縮包百度一下就能找到,我也不知道公眾號文章能不能插外鏈,其中nginx-module-vts這個模塊的作用是統(tǒng)計nginx的訪問數(shù)據(jù),如果自己用prometheus+grafana監(jiān)控nginx,就需要安裝這個模塊,我們索性一起編譯進來

在服務(wù)器上創(chuàng)建目錄

cd /usr/local/dockermkdir -p nginx-lua/buildcd nginx-lua

搭建好之后的完整目錄如下:

root@today2:/usr/local/docker/nginx-lua# tree.├── build│ ├── Dockerfile│ ├── nginx-module-vts.zip│ └── openresty-1.15.8.3.tar.gz├── docker-compose.yml├── lua│ ├── test.lua├── nginx.conf├── wwwroot│ ├── index.htmlDockerfile

Dockerfile文件放到build目錄下,把下載好的nginx-module-vts.zip和openresty-1.15.8.3.tar.gz也放到build目錄下

FROM ubuntu:xenial# 更新數(shù)據(jù)源WORKDIR /etc/aptRUN echo 'deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse' > sources.listRUN echo 'deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse' >> sources.listRUN echo 'deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse' >> sources.listRUN echo 'deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse' >> sources.listRUN apt-get update# 安裝依賴RUN apt-get install unzip make gcc libpcre3-dev libssl-dev perl build-essential curl zlib1g-dev --assume-yes# 復(fù)制工具包ADD openresty-1.15.8.3.tar.gz /usr/local/srcADD nginx-module-vts.zip /usr/local/src# nginx-module-vtsWORKDIR /usr/local/srcRUN unzip nginx-module-vts.zipWORKDIR /usr/local/src/openresty-1.15.8.3RUN rm -rf ./MakefileRUN ./configure --add-module=/usr/local/src/nginx-module-vtsRUN make && make install# 配置 Nginx,注釋掉,在啟動容器時掛載到容器中# ADD nginx.conf /usr/local/openresty/nginx/conf/WORKDIR /EXPOSE 80CMD ["/usr/local/openresty/nginx/sbin/nginx", "-c", "/usr/local/openresty/nginx/conf/nginx.conf", "-g", "daemon off;"]nginx.conf
user root;worker_processes auto;worker_rlimit_nofile 65535;events { worker_connections 102400; use epoll;}http { server_tokens off; include mime.types; default_type application/octet-stream; #access_log /var/log/nginx/access.log; access_log off; error_log /var/log/nginx/error.log; keepalive_timeout 65; client_max_body_size 10m; gzip on; gzip_disable "msie6"; gzip_min_length 1000; gzip_proxied expired no-cache no-store private auth; gzip_types text/plain application/xml application/javascript text/css application/x-javascript; # 下面3行是安裝了nginx-module-vts模塊后設(shè)置nginx流量統(tǒng)計,本文主要講lua,所以下面3行可以注釋掉 vhost_traffic_status_zone; vhost_traffic_status_filter_by_host on; vhost_traffic_status_filter_by_set_key $uri uri::$server_name; server { listen 80; root /usr/share/nginx/html; # lua腳本是否開啟緩存,在調(diào)試階段設(shè)為off(修改lua文件后不用重啟nginx),在正式環(huán)境一定要注釋掉這一行,以提高性能 lua_code_cache off; # 這個location是真正調(diào)用lua腳本的設(shè)置 location /lua/test { # 指定返回的類型是json default_type 'application/json'; # 指定訪問/lua/test時由test.lua來返回內(nèi)容,這個路徑需要注意是容器中的路徑,千萬不要和宿主機搞混淆了 content_by_lua_file '/usr/local/lua/test.lua'; } # 也是流量統(tǒng)計,可以注釋掉 location /status { vhost_traffic_status_display; vhost_traffic_status_display_format html; } }}docker-compose.yml
version: '3.1'services: nginx: build: build # 左邊build指的是當(dāng)前容器需要構(gòu)建鏡像,右邊build表示構(gòu)建鏡像的文件在build這個目錄下 restart: always container_name: nginx network_mode: host # 不一定非要指定host模式,這里只是為了方便 volumes: - ./nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf - ./log:/var/log/nginx/ - ./wwwroot:/usr/share/nginx/html - ./lua:/usr/local/luatest.lua

在./lua目錄下創(chuàng)建test.lua文件

ngx.say('{"code": 1, "msg": "hello world!"}')

啟動容器后,訪問IP:80/lua/test就可以看到輸出了{(lán)"code": 1, "msg": "hello world!"},說明lua腳本已經(jīng)生效

至此nginx+lua已經(jīng)搭建完畢,在以后的文章中會再介紹一些常用的lua腳本,如:JWT驗證、操作Redis、消息隊列等,可以實現(xiàn)很多功能,只要你能想到都可以實現(xiàn)

到此這篇關(guān)于nginx+lua單機上萬并發(fā)的實現(xiàn)的文章就介紹到這了,更多相關(guān)nginx lua單機并發(fā)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!


網(wǎng)站名稱:nginx+lua單機上萬并發(fā)的實現(xiàn)
網(wǎng)站鏈接:http://www.xueling.net.cn/article/dscip.html

其他資訊

在線咨詢
服務(wù)熱線
服務(wù)熱線:028-86922220
TOP
主站蜘蛛池模板: 九色视频人porny | 日本一卡2卡3卡4卡5卡精品视频 | 日本无码潮喷A片无码高潮 九草在线视频 | 日本人妻仑乱少妇a级毛片 啊灬啊灬啊灬啊高潮了 | 亚洲国产成人在线播放 | 黑人与日本少妇JAPANESE | 曰韩亚洲av人人夜夜澡人人爽 | 男生戳美女两腿中间那个视频 | 一区二区三区免费 | 伊人久久大香线蕉亚洲五月天 | 欧美成人午夜精品 | 真实国产乱子伦在线视频 | 511yc影院免费理论片 | 在线视频wwww | 杏导航aⅴ福利网站 | 日本伦理一区二区 | 亚洲成人h | 亚洲第一成人无码A片 | 成人av二区 | 国产精品高潮久久久久久无码 | 亚洲无线看 | 又黄又无遮挡AAAAA毛片 | 一级片色 | 亚洲人成人一区二区三区 | 精品国精品自拍自在线 | 成人1区2区 | 无码人妻毛片丰满熟妇区毛片国产 | 热久久免费视频 | 人妻夜夜爽天天爽一区 | 精品国产不卡一区二区三区 | 国产一区二三区 | 激情三区 | 天天综合久久综合 | 国产一级免费av | 免费黄色一级大片 | av一区在线观看 | 曰韩亚洲av人人夜夜澡人人爽 | 天堂网中文字幕在线观看 | 国产91久久久久久久免费 | 欧美性欧美巨大黑白大战 | chinesehd一区二区三区 |