Docker 배치 nginx 및 설정 파일 수정
직접 명령 으로 처리:
docker run \
--name nginx-health-web-pc \
-d -p 6800:80 \
-v /usr/docker/nginx/html:/usr/share/nginx/html \
nginx
작 동 을 실행 하 는 것 도 즐 겁 지 않 습 니까? ~ ~ 이때 갑자기 전단 에서 "당신 의 nginx 에 설정 을 추가 해 야 합 니 다" 라 고 말 하 는 동시에 "모모 가 예전 에 이렇게 어 울 렸 습 니 다" 라 고 말 합 니 다.
이 때 승부 욕 이 강 한 당신 은 당연히 거절 할 수 없 지만, 진정 으로 설정 하려 면 신경 을 써 야 합 니 다. 일반적인 상황 에서 docker 가 시 작 될 때 설정 을 합 니 다. 설정 파일 의 디 렉 터 리 를 마 운 트 하면 됩 니 다. 간결 하고 편리 하지만, nginx 는 메 인 프로필 nginx. conf 를 먼저 불 러 오고, nginx. conf 에 conf. d 디 렉 터 리 의 하위 프로필 을 불 러 옵 니 다.(일반적으로 최소한 default. conf 파일 하나). 디 렉 터 리 를 따로 마 운 트 하 는 것 보다 훨씬 번 거 롭 지만 생각 이 뚜렷 하기 만 하면 어렵 지 않 습 니 다.
마 운 트 된 명령 을 먼저 봅 니 다.
docker 시작 명령
docker run \
--name myNginx \
-d -p 80:80 \
-v /usr/docker/myNginx/html:/usr/share/nginx/html \
-v /etc/docker/myNginx/nginx.conf:/etc/nginx/nginx.conf:ro \
-v /etc/docker/myNginx/conf.d:/etc/nginx/conf.d \
nginx
여기에 몇 가지 주의사항 이 있다.
(1) 첫 번 째 "- v" 는 프로젝트 위치 입 니 다. 마 운 트 된 디 렉 터 리 에 항목 을 넣 으 면 됩 니 다.
(2) 두 번 째 "- v" 는 마 운 트 된 메 인 프로필 인 "nginx. conf" 입 니 다. "nginx. conf" 파일 에 "include / etc / nginx / conf. d / *. conf" 줄 이 있 습 니 다. 이 include 는 하위 프로필 의 경 로 를 가리 키 고 있 습 니 다. include 후 따라 오 는 경 로 는 오류 가 발생 하지 않도록 주의 하 십시오.
(3) 세 번 째 "- v" 는 docker 내부 설정 파일 의 경로 도 마 운 트 했 습 니 다. (2) 에서 include 가 가리 키 는 경로 와 일치 해 야 합 니 다.
(4) 중점적으로 강조 하 자 면 ngix. conf 는 파일 을 마 운 트 했 습 니 다. (docker 는 이렇게 사용 하 는 것 을 추천 하지 않 습 니 다) conf. d 는 디 렉 터 리 를 마 운 트 했 습 니 다.
설정 파일 이 아직 없 기 때문에 먼저 시작 해 보 겠 습 니 다.
프로필 설정
일반적인 방법 으로 설 치 된 nginx 를 찾 았 을 때 생 성 된 프로필 (일반적으로 "/ etc / nginx" 아래) 을 찾 습 니 다. 위 시작 명령 의 마 운 트 위치 에 대응 하여 메 인 프로필 nginx. conf 를 대응 하 는 위치 에 두 고 "/ etc / docker / my Nginx / nginx. conf", 하위 프로필 "default. conf" 를 "/ etc / docker / my Nginx / conf. d" 디 렉 터 리 에 두 십시오.
시작 명령 을 다시 실행 하 니 이미 다 되 었 습 니 다. 이로써 docker 의 파일 은 마음대로 설정 할 수 있 습 니 다. 원생 설치 와 똑 같 습 니 다.
사고방식: 설정 할 때 반드시 사고방식 을 정 해 야 합 니 다. 마 운 트 된 파일 이 실 행 될 때 docker 프로 세 스에 불 러 옵 니 다. 그러면 헷 갈 리 지 않 습 니 다.
-----------------------------------------------------------------------------------
내 프로필 붙 이기:
nginx.conf
user root;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
autoindex on;
#gzip on;
include /etc/nginx/conf.d/*.conf;
client_max_body_size 100M;
client_header_buffer_size 128k;
large_client_header_buffers 4 128k;
}
default.conf
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
root /usr/nginx/dacheng-wechat-web;
# root /usr/nginx/html;
index index.html index.htm;
autoindex on;
try_files $uri /index/index/page.html;
#try_files $uri /index/map/page.html;
}
#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 /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.