成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

(學(xué)習(xí)到實(shí)踐)六、docker自定義nginx/openresty

BingqiChen / 2889人閱讀

摘要:但官方?jīng)]有發(fā)布相關(guān)東西,所以以結(jié)合安裝參考官方的為原則編寫。運(yùn)行測(cè)試運(yùn)行成功,大小,太大了感覺,提交到云端。啟動(dòng)官方鏡像提交到云端,偶然想搜索下有沒有,竟然反問(wèn)有官方鏡像,了個(gè)下來(lái),還不錯(cuò)。

前言 為什么要使用openresty?

官方說(shuō)明:OpenResty? 是一個(gè)基于 Nginx 與 Lua 的高性能 Web 平臺(tái),其內(nèi)部集成了大量精良的 Lua 庫(kù)、第三方模塊以及大多數(shù)的依賴項(xiàng)。所以。
但openresty官方?jīng)]有發(fā)布docker相關(guān)東西,所以以:結(jié)合openresty安裝、參考docker-nginx官方的為原則編寫。

1.依賴安裝測(cè)試

官方聲明依賴:perl 5.6.1+, libpcre, libssl

a.按nginx鏡像測(cè)試
# perl查找
/ # apk search perl5
perl-5.26.3-r0  #就一個(gè)可選

/ # apk search libpcre
libpcre2-32-10.32-r1 #貌似最新版本了,32位的?
pcre-dev-8.42-r1
libpcre2-16-10.32-r1
pcre2-dev-10.32-r1
libpcre16-8.42-r1
libpcre32-8.42-r1
pcre2-10.32-r1
pcre-8.42-r1
libpcrecpp-8.42-r1

/ # apk search libssl
openssl-dev-1.1.1b-r1
libressl-dev-2.7.5-r0  #看起來(lái)最合適
nss-3.41-r0
libssl1.1-1.1.1b-r1
dovecot-2.3.6-r0
libressl2.7-libssl-2.7.5-r0

/ # apk add perl-5.26.3-r0 libpcre2-32-10.32-r1 libressl-dev-2.7.5-r0
# 完全報(bào)錯(cuò),這個(gè)alpine依賴搞不了,官方https://pkgs.alpinelinux.org/包的搜索頁(yè)捉襟見肘,不得不放棄“小而美”。
b.容器測(cè)試

參考官方選則debian,github上構(gòu)建平臺(tái)鏡像的許多鏡像選擇stretch-slim精簡(jiǎn)版的,看下大小最新的只有55.3M,比較滿意。
環(huán)境安裝測(cè)試:

[]:~/tmp/dk/openresty# docker run -itd --name df -v /root/tmp/dk/openresty:/tmp/host debian:stretch-slim
[]:~/tmp/dk/openresty# docker exec df -it /bin/bash

初始安裝清華源,切換百度源(云本機(jī)),apt-get update超慢,后回歸官源,后期卡死用網(wǎng)易源。
問(wèn)題:
1、./configure: error: ngx_postgres addon was unable to detect version of the libpq library.

apt-get libpq-dev -y

2、./configure: error: the HTTP gzip module requires the zlib library.

apt-get install openssl libssl-dev libperl-dev -y
apt-get install zlib1g-dev -y

到此OK。

c.第一步通過(guò)的代碼
FROM debian:stretch-slim

#MAINTAINER 維護(hù)者信息
MAINTAINER [email protected]
ENV RESOURCE "
deb http://mirrors.163.com/debian/ stretch main non-free contrib 

deb http://mirrors.163.com/debian/ stretch-updates main non-free contrib 

deb http://mirrors.163.com/debian/ stretch-backports main non-free contrib 

deb-src http://mirrors.163.com/debian/ stretch main non-free contrib 

deb-src http://mirrors.163.com/debian/ stretch-updates main non-free contrib 

deb-src http://mirrors.163.com/debian/ stretch-backports main non-free contrib 

deb http://mirrors.163.com/debian-security/ stretch/updates main non-free contrib 

deb-src http://mirrors.163.com/debian-security/ stretch/updates main non-free contrib 
"
ENV VERSION 1.15.8.1

# !??!注意字符串變量、轉(zhuǎn)義自動(dòng)解析
RUN echo $RESOURCE > /etc/apt/sources.list && cat /etc/apt/sources.list 
    && apt-get update 
    && apt-get install libpcre3-dev libssl-dev perl make build-essential curl 
        -y

COPY openresty-$VERSION.tar.gz /tmp/openresty.tar.gz
RUN groupadd -r openresty && useradd -r -g openresty openresty 
    # && curl  
    && mkdir -p /usr/src && cd /usr/src && mv /tmp/openresty.tar.gz ./ 
    && tar -zxf openresty.tar.gz --strip-components 1 
    && ./configure 
           --prefix=/usrl/ocal/openresty 
           --with-luajit 
           --without-http_redis2_module 
           --with-http_iconv_module 
           --with-http_postgres_module 
    
    && make -j "$(nproc)" 
    && make install 
    && rm -rf /usr/src
# COPY nginx.conf /etc/nginx/nginx.conf
# COPY nginx.vh.default.conf /etc/nginx/conf.d/default.conf
# COPY vhost.conf /etc/nginx/conf.d/vhost.conf
VOLUME ["/etc/nginx","/var/www/html"]

EXPOSE 80
STOPSIGNAL SIGTERM

# CMD ["nginx", "-g", "daemon off;"] #注意官方提示
2.運(yùn)行測(cè)試

準(zhǔn)備配置數(shù)據(jù)(之前舊配置),注意 html和nginx文件夾 的參數(shù)共享:

[]:~/tmp/dk/openresty# tree ./
./
├── config
│?? ├── conf.d
│?? │?? └── nginx.vh.default.conf
│?? │?? └── vhost.conf
│?? └── nginx.conf
└── html
a.測(cè)試啟動(dòng)

測(cè)試容器df(手動(dòng)搭建,系統(tǒng)無(wú)法ps),運(yùn)行正常:

root@df08a646aaa0:/# nginx
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

但Dockerfile所建鏡像的容器啟動(dòng)關(guān)閉無(wú)日志,更換openresty官方配置:

[]:~/tmp/dk/openresty# docker run -itd --name n1 -v /root/tmp/dk/openresty/config:/etc/nginx 
    -v /root/tmp/dk/openresty/html:/var/www/html cffycls/openresty:0.9 
     /usrl/ocal/openresty/nginx/sbin/nginx 
#無(wú)法啟動(dòng),容器運(yùn)行終止,無(wú)日志。應(yīng)該是配置文件問(wèn)題
b.修改配置文件

使用官方原包未修改:

# 官包解壓路徑:./bundle/nginx-1.15.8/conf/nginx.conf
[]:~/tmp/dk/openresty# tree conf
conf
├── fastcgi.conf
├── fastcgi_params
├── koi-utf
├── koi-win
├── mime.types
├── nginx.conf
├── scgi_params
├── uwsgi_params
└── win-utf

去掉run加的命令,加上端口,運(yùn)行Up了。

c.運(yùn)行測(cè)試
CMD ["/usrl/ocal/openresty/nginx/sbin/nginx", "-g", "daemon off;"]
[]:~/tmp/dk/openresty# docker run -itd --name n1 -p 80:80 
    -v /root/tmp/dk/openresty/conf:/usrl/ocal/openresty/nginx/conf 
    -v /root/tmp/dk/openresty/html:/usrl/ocal/openresty/nginx/html 
    openresty/openresty:1.0

運(yùn)行成功,大小357M,太大了感覺,提交到云端。

3.啟動(dòng)官方鏡像

提交到云端,偶然想搜索下有沒有,docker-hub竟然(反問(wèn))有官方鏡像,pull了個(gè)下來(lái),144M還不錯(cuò)。真是重復(fù)造輪子了?。?!
折騰半天,算是個(gè)教訓(xùn)了,算是測(cè)得到了運(yùn)行方法,結(jié)果也還行。

[]:~/tmp/dk/openresty# docker run -itd --name n1 -p 80:80 
    -v /root/tmp/dk/openresty/conf:/usrl/local/openresty/nginx/conf 
    -v /root/tmp/dk/openresty/html:/usr/local/openresty/nginx/html 
    openresty/openresty

訪問(wèn)web端正常。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/40514.html

相關(guān)文章

  • Rancher v1.2基礎(chǔ)設(shè)施引擎整體架構(gòu)分析

    摘要:官方于月日發(fā)布了其容器部署與管理平臺(tái)的最新版本,。架構(gòu)總覽在版本的整體架構(gòu)圖如下圖所示上,引擎向下深入演化成了基礎(chǔ)設(shè)施引擎,這一點(diǎn)上在時(shí)代也早有體現(xiàn)?;A(chǔ)設(shè)施引擎初次安裝版本,會(huì)發(fā)現(xiàn)多了如下圖所示的明顯標(biāo)識(shí),默認(rèn)的引擎需要安裝等服務(wù)。 Rancher Labs官方于12月1日發(fā)布了其容器部署與管理平臺(tái)Rancher的最新版本,Rancher v1.2。Rancher v1.2可以說(shuō)是一...

    Sike 評(píng)論0 收藏0
  • Rancher v1.2基礎(chǔ)設(shè)施引擎整體架構(gòu)分析

    摘要:官方于月日發(fā)布了其容器部署與管理平臺(tái)的最新版本,。架構(gòu)總覽在版本的整體架構(gòu)圖如下圖所示上,引擎向下深入演化成了基礎(chǔ)設(shè)施引擎,這一點(diǎn)上在時(shí)代也早有體現(xiàn)?;A(chǔ)設(shè)施引擎初次安裝版本,會(huì)發(fā)現(xiàn)多了如下圖所示的明顯標(biāo)識(shí),默認(rèn)的引擎需要安裝等服務(wù)。 Rancher Labs官方于12月1日發(fā)布了其容器部署與管理平臺(tái)Rancher的最新版本,Rancher v1.2。Rancher v1.2可以說(shuō)是一...

    tianhang 評(píng)論0 收藏0
  • NginxOpenresty增加waf配置

    摘要:說(shuō)明防止注入,本地包含,部分溢出,測(cè)試,等攻擊防止備份之類文件泄漏防止之類壓力測(cè)試工具的攻擊屏蔽常見的掃描黑客工具,掃描器屏蔽異常的網(wǎng)絡(luò)請(qǐng)求屏蔽圖片附件類目錄執(zhí)行權(quán)限防止上傳下載使用使用安裝下載解壓后,將整放到目錄中,并命名為配置安裝路徑假 1. Ngx lua waf 說(shuō)明 防止sql注入,本地包含,部分溢出,fuzzing測(cè)試,xss,SSRF等web攻擊防止svn/備份之類文件泄...

    CoderDock 評(píng)論0 收藏0
  • Docker學(xué)習(xí)之路()用commit命令創(chuàng)建鏡像

    摘要:郵件激活后,可以測(cè)試登錄這條命令會(huì)完成登錄,并將認(rèn)證信息報(bào)錯(cuò)起來(lái)供后面使用。所以先用命令退出容器,再運(yùn)行命令命令中,指定了要提交的修改過(guò)的容器的目標(biāo)鏡像倉(cāng)庫(kù)鏡像名。提交的知識(shí)創(chuàng)建容器的鏡像與容器的當(dāng)前狀態(tài)之間的差異部分,很輕量。 假期快要結(jié)束了,干點(diǎn)正事,接著Docker的學(xué)習(xí)。 構(gòu)建鏡像 構(gòu)建鏡像的兩種方法: 使用docker commit 命令 使用docker build...

    KoreyLee 評(píng)論0 收藏0
  • Nginx(openresty)安裝

    摘要:安裝包準(zhǔn)備準(zhǔn)備好源碼包解壓執(zhí)行以下命令解壓安裝包編譯安裝執(zhí)行以下命令安裝編譯所需的依賴執(zhí)行以下命令編譯安裝就成功安裝到了 安裝包準(zhǔn)備 準(zhǔn)備好openresty源碼包: /opt/ngx_openresty-1.9.3.2.tar.gz 解壓 執(zhí)行以下命令解壓安裝包: cd /opt tar zxvf ngx_openresty-1.9.3.2.tar.gz 編譯安裝 執(zhí)行以下命令安...

    vpants 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<