docker 에서 alpine Liux 미 러 를 사용 하여 nginx 서비스 노트 를 설치 합 니 다.
docker 시동
systemctl enable docker
용기 시동
1. 아직 용기 가 생 성 되 지 않 았 습 니 다.
sudo docker run -it --name=myAlpine --restart=always alpine /bin/sh
2, 이미 만 든 용기 의
sudo docker update --restart=always myAlpine
로고: 설명 no: 용기 (기본 값) on - failure 를 자동 으로 다시 시작 하지 않 습 니 다. 용기 가 오류 로 종료 되면 다시 시작 합 니 다. 0 이 아 닌 종료 코드 는 오류 unless - stopped: 용 기 를 다시 시작 합 니 다. 용기 가 정지 되 거나 Docker 가 정지 되 거나 다시 시작 되 지 않 는 한 always: 용기 가 멈 추 면 다시 시작 합 니 다.
dockerfile 생 성 NGINX
FROM alpine
MAINTAINER allen [email protected]
ADD nginx-1.18.0.tar.gz /tmp
ADD nginx.conf /tmp/nginx.conf
ADD init.sh /tmp/init.sh
WORKDIR /tmp/nginx-1.18.0
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories\
&& apk add mlocate g++ pcre-dev zlib-dev make\
&& apk update\
&& apk upgrade\
&& addgroup -S nginx\
&& adduser -S -G nginx -s /sbin/nologin -h /usr/local/nginx nginx\
&& ./configure --user=nginx --group=nginx\
&& make\
&& make install\
&& mkdir -p /run/nginx /data/www /data/filesCenter /data/logs/www\
&& mv /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.back\
&& mv /tmp/nginx.conf /usr/local/nginx/conf/nginx.conf\
&& mv /tmp/init.sh /usr/local/nginx/init.sh\
&& rm -rf /tmp/*\
&& /usr/local/nginx/sbin/nginx -t
CMD ["/bin/sh","/usr/local/nginx/init.sh"]
# sudo docker build -t alpine-nginx
# sudo docker run -id -p 8000:80 -p 8001:81 -h nginx -v /data/www:/data/www -v /data/filesCenter:/data/filesCenter --restart=always --name=nginx alpine-nginx
nginx.conf
user nginx;
worker_processes 4;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
gzip on;
keepalive_timeout 65;
log_format main '$remote_addr || $remote_user || $time_local || $request || $status || $body_bytes_sent || $http_referer || $http_user_agent || $http_x_forwarded_for';
include /data/www/*/*.conf;
}
init.sh
#!/bin/sh
/usr/local/nginx/sbin/nginx
/bin/sh
cat /data/www/x-software/http.conf
server {
charset utf-8;
client_max_body_size 128M;
#: _
#proxy_connect_timeout 600s;
#: _ _ ( )
#proxy_read_timeout 600s;
#: _
#proxy_send_timeout 600s;
#client_body_buffer_size 128k;
#client_header_timeout 600s;
#client_body_timeout 600s;
#send_timeout 600s;
#proxy_buffer_size 4k;
#proxy_buffers 32 4k;
#proxy_busy_buffers_size 64k;
#keepalive_timeout 600s;
#fastcgi_buffers 8 128k;
#fastcgi_connect_timeout 600s;
fastcgi_send_timeout 600s;
fastcgi_read_timeout 600s;
#fastcgi_buffer_size 128k;
#fastcgi_busy_buffers_size 256k;
#fastcgi_temp_file_write_size 256k;
#gzip on;
listen 80;
#listen [::]:80;
#default_server ipv6only = on;
server_name zctech.tech;
root /data/www/x-software/web;
index index.php;
access_log /data/www/x-software/runtime/zctech.tech.access.log;
error_log /data/www/x-sfotware/runtime/zctech.tech.error.log;
#
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
#
location /index-test.php {
try_files $uri $uri/ /index-test.php$is_args$args;
}
#
location /index-dev.php {
try_files $uri $uri/ /index-dev.php$is_args$args;
}
#location /upload/ruomei/ {
# autoindex on;
#}
# uncomment to avoid processing of calls to non-existing static files by Yii
#location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
#try_files $uri =404;
#}
#error_page 404 /404.html;
# deny accessing php files for the /assets directory
location ~ ^/assets/.*\.php$ {
deny all;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 192.168.2.108:9000;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
try_files $uri =404;
}
location ~* /\. {
deny all;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
PHP7.4.6 오류 컴파일configure: error: Package requirements (libzip > = 0.11) were not met 솔루션쓸데없는 말은 하지 마십시오. php7.3을 설치할 때 오류가 발생했습니다. 시스템libzipmust be upgraded to version >= 0.1.의심할 여지없이libzip 버전이 너무 낮습니다. 첫 번째 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.