docker 에서 alpine Liux 미 러 를 사용 하여 nginx 서비스 노트 를 설치 합 니 다.

9929 단어 LNMPnginxalpinelinux
docker 서비스의 시작 에 따라 용기 가 시 작 됩 니 다:
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;
    }
}

좋은 웹페이지 즐겨찾기