설정 파일 변화 에 따라 자동 으로 reload 의 openresty docker 미 러 를 만 들 수 있 습 니 다.
mkdir openresty && cd openresty
2. inotify 를 사용 하여 설정 파일 의 변 화 를 감시 하고 자동 으로 reload 하 는 스 크 립 트 auto - reload. sh 를 작성 합 니 다.
#!/bin/sh
inotifywait -e modify,move,create,delete -mr --timefmt '%d/%m/%y %H:%M' --format '%T %f %e' \
/usr/local/openresty/nginx/conf/conf.d | while read event; do
echo "$event"
/usr/local/openresty/nginx/sbin/nginx -s reload
done
3. 미 러 시작 스 크 립 트 start. sh 작성:
#!/bin/bash
/usr/bin/openresty -g "daemon off;" &
/auto-reload.sh
4. 설정 파일 nginx. conf 작성:
user nobody;
worker_processes auto;
#worker_cpu_affinity 01 10;
worker_rlimit_nofile 65535;
events {
use epoll;
worker_connections 60000;
}
http {
include mime.types;
default_type application/octet-stream;
tcp_nodelay on;
log_format main '$status $host $remote_addr $request_time - '
'$upstream_status $upstream_addr $upstream_response_time '
'[$time_local] $request '
'$bytes_sent $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /usr/local/openresty/nginx/logs/access.log main;
error_log /usr/local/openresty/nginx/logs/error.log;
log_not_found off;
sendfile on;
keepalive_timeout 15;
server_names_hash_bucket_size 4096;
client_header_buffer_size 16k;
large_client_header_buffers 4 64k;
gzip on;
gzip_http_version 1.0;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript;
gzip_min_length 1000;
gzip_comp_level 5;
gzip_buffers 4 8k;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
include localenv.d/*.conf;
include env.d/*.conf;
include conf.d/*.backend.cfg;
include conf.d/*.server.cfg;
server {
listen 80;
server_name localhost;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
5. dockerfile 작성:
FROM centos:7.6.1810
MAINTAINER openresty1.15.8.2
ADD auto-reload.sh auto-reload.sh
ADD start.sh start.sh
RUN yum -y install epel-release && yum install inotify-tools -y && yum install -y yum-utils && yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo && yum install -y openresty && yum clean all && chmod +x start.sh && chmod +x auto-reload.sh
ADD nginx.conf /usr/local/openresty/nginx/conf/nginx.conf
EXPOSE 80
EXPOSE 443
CMD ["./start.sh"]
6. docker build 명령 실행:
docker build -t openresty:1.15.8.2 -f ./dockerfile .
위 명령 이 실행 되면 docker images 를 통 해 방금 제 작 된 openresty 미 러 를 볼 수 있 습 니 다.
7. 인증, 다음 명령 으로 용 기 를 실행 합 니 다:
docker run -itd -p 8080:80 -v /data/logs:/usr/local/openresty/nginx/logs -v /data/nginx/conf.d:/usr/local/openresty/nginx/conf/conf.d openresty:1.15.8.2
홈 호스트 디 렉 터 리 / data / nginx / conf. d 에서 설정 파일 을 추가 하거나 수정 합 니 다. 용기 에 있 는 openresty 는 자동 으로 reload 되 고 미 러 제작 에 성공 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.