docker 용기 배치 nginx 사용 하기
8087 단어 Nginx
설정 디 렉 터 리: / etc / nginx 정적 페이지 디 렉 터 리: / usr / share / nginx / html
2. 용기 화 실행 nginx, HTTP 서비스 구축
Nginx 의 가장 큰 역할 은 웹 서버 를 구축 하 는 것 이다.용기 가 있 으 면 명령 한 줄 만 있 으 면 서버 가 설치 되 어 전혀 설정 할 필요 가 없습니다.
docker run -d \
-p 8080:80 \
--name mynginx \
nginx
배치 가 성공 하면 IP: 8080 을 방문 하면 nginx 의 묵묵히 환영 페이지 를 볼 수 있 습 니 다.
3. 웹 디 렉 터 리 맵
웹 페이지 파일 이 모두 용기 안에 있어 서 직접 수정 할 수 없어 서 분명히 매우 불편 하 다.다음 단 계 는 웹 파일 이 있 는 디 렉 터 리 / usr / share / nginx / html 를 로 컬 에 비 추 는 것 입 니 다.디 렉 터 리 를 새로 만 들 고 이 디 렉 터 리 에 들 어 갑 니 다.
mkdir html
cd html
이 하위 디 렉 터 리 에 index. html 파일 을 설치 합 니 다.
vim index.html
<h1>Hello World</h1>
이 하위 디 렉 터 리 html 를 용기 의 웹 파일 디 렉 터 리 / usr / share / nginx / html 에 표시 합 니 다.브 라 우 저 를 열 고 IP: 8080 을 방문 하면 Hello World 를 볼 수 있 을 것 입 니 다.
docker run -d \
-p 8080:80 \
-v $pwd/html:/usr/share/nginx/html \
--name mynginx \
nginx
4. 설정 디 렉 터 리 복사
용기 안의 Nginx 프로필 을 로 컬 로 복사 합 니 다.
docker cp mynginx:/etc/nginx .
위 명령 의 의 미 는 my nginx 용기 의 / etc / nginx 를 현재 디 렉 터 리 로 복사 하 는 것 입 니 다.마지막 그 점 을 빠 뜨리 지 마라.실행 이 완료 되면 현재 디 렉 터 리 에 nginx 하위 디 렉 터 리 가 하나 더 나 와 야 합 니 다.그리고 이 하위 디 렉 터 리 를 conf 로 바 꿉 니 다.
mv nginx conf
이제 mynginx 용 기 를 종료 할 수 있 습 니 다.
docker stop mynginx
5. 맵 설정 디 렉 터 리
새 용 기 를 다시 시작 합 니 다. 이번 에는 웹 디 렉 터 리 뿐만 아니 라 설정 디 렉 터 리 도 매 핑 합 니 다.
docker run -d \
-v "$PWD/html":/usr/share/nginx/html \
-v "$PWD/conf":/etc/nginx \
-p 8080:80 \
--name mynginx \
nginx
주의: "
$
PWD / html", "$
PWD / conf" 에 작은 따옴표 가 붙 어야 합 니 다. $PWD 는 대문자 로 써 야 지 소문 자로 써 서 는 안 된다.-v "$pwd/conf":/etc/nginx
숙 성 호스트 의 conf 하위 디 렉 터 리 를 용기 의 설정 디 렉 터 리 /etc/nginx
에 표시 합 니 다.브 라 우 저 는 IP: 8090 에 접근 합 니 다. 웹 페이지 를 볼 수 있다 면 로 컬 설정 이 유효 합 니 다.이때 이 용 기 를 중지 할 수 있다.docker stop mynginx
6. 자가 서명 인증서
이제 용기 에 HTTPS 지원 을 추가 하려 면 첫 번 째 는 비밀 키 와 인증 서 를 만 드 는 것 입 니 다.정식 인증 서 는 인증서 당국 (CA) 의 서명 이 필요 합 니 다. 테스트 를 위해 자체 서명 (self - signed) 인증 서 를 만 들 면 됩 니 다.우선, 기계 에 OpenSSL 이 설치 되 어 있 는 지 확인 하고 다음 명령 을 수행 하 세 요.
openssl req \
-x509 \
-nodes \
-days 365 \
-newkey rsa:2048 \
-keyout example.key \
-out example.crt
위 명령 의 매개 변 수 는 다음 과 같 습 니 다.
실행 후 명령 길드 에서 당신 이 어느 나라 에 있 는 지, 당신 의 이메일 등 많은 질문 을 던 져 서 대답 하 라 고 합 니 다.가장 중요 한 문 제 는 Common Name 입 니 다. 정상 적 인 상황 에서 도 메 인 이름 을 입력 해 야 합 니 다. 여기 서 IP 를 입력 할 수 있 습 니 다.질문 에 대답 하면 현재 디 렉 터 리 에 두 개의 파일 이 더 나 올 것 입 니 다. example. key 와 example. crt.conf 디 렉 터 리 에 하위 디 렉 터 리 certs 를 새로 만 들 고 이 두 파일 을 하위 디 렉 터 리 에 넣 습 니 다.
mkdir -p conf/certs
mv example.crt example.key conf/certs
7. HTTPS 설정
비밀 키 와 인증서 가 있 으 면 Nginx 의 HTTPS 를 열 수 있 습 니 다.우선 conf / conf. d / default. conf 파일 열기
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/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 /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;
#}
위의 server 모듈 {} 에 아래 설정 을 추가 합 니 다.
server {
# http
...
# https
listen 443 ssl http2;
server_name localhost;
ssl_certificate /etc/nginx/certs/example.crt;
ssl_certificate_key /etc/nginx/certs/example.key;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
}
그리고 새로운 Nginx 용 기 를 시작 합 니 다.
cd /path/to/nginx
docker run -d \
-v "$PWD/html":/usr/share/nginx/html \
-v "$PWD/conf":/etc/nginx \
-p 8080:80 \
-p 8443:443 \
--name mynginx \
nginx
위의 명령 에는 용기 의 80 포트 뿐만 아니 라 443 포트 도 매 핑 되 어 있 으 며 이것 은 HTTPS 전용 포트 입 니 다.브 라 우 저 를 열 고 접근
https://IP:8443/
.자체 서명 인증 서 를 사 용 했 기 때문에 브 라 우 저 는 안전 하지 않다 고 알려 줍 니 다.신경 쓰 지 말고 계속 방문 하면 Hello World 를 볼 수 있 을 거 예요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
linux2에 nginx 설치설치 가능한 nginx를 확인하고, 해당 nginx를 설치한다. localhost 혹은 해당 ip로 접속을 하면 nginx 화면을 볼 수 있다....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.