Nginx를 더 이해해 보자 시작편
소개
요 전날부터 Nginx에 대해 이해하지 못한 부분을 정리하고 있습니다.
다음의 링크에 인스톨까지의 순서를 Ubuntu 각각으로 기재하고 있으므로, 그쪽도 읽어 주실 수 있으면 기쁩니다.
이번에는 다음 기사의 속편입니다.
Nginx를 더 이해해 보자 설치편
주의사항
본 기사에서는 Docker 컨테이너상에 Nginx를 인스톨 한 후의 설정을 살펴 가므로, 실제로 손을 움직여 확인되는 분은 위의 링크를 참고로 Nginx의 인스톨까지를 실시하고 나서 해 주세요.
초기 페이지를 보자.
설정 파일의 기술은 OS에 의존하지 않기 때문에, 이번에는 Ubuntu의 이미지내에서의 작업만을 기재합니다.
시간이 있으면 다른 OS 이미지에서도 확인해 보겠네요.
Nginx 시작(실패)
Terminal
# systemctlをインストール
# DockerコンテナでなければUbuntuにsystemdもsystemctlもインストールする必要ないんだけどなぁ。
$ apt install -y systemd
$ apt install -y systemctl
# Nginxの起動状態を確認
$ systemctl status nginx
nginx.service - A ...
Loaded: loaded ....
Active: inactive (dead)
# 上で(dead)と表示されているので、起動していませんね。
# Nginxを起動
$ systemctl start nginx
# もう一度起動状態を確認
$ systemctl status nginx
nginx.service - A ...
Loaded: loaded ....
Active: inactive (dead)
네, 빨리 시작하지 않습니다.
이제 오류 메시지를 확인해 보겠습니다.
오류 메시지 확인
Terminal
# エラーメッセージの表示
$ cat /var/log/nginx/error.log
2021/02/02 15:45:40 [emerg] 4682#4682: bind() to 0.0.0.0:80 failed (98: Address already in use)
2021/02/02 15:45:40 [emerg] 4682#4682: bind() to [::]:80 failed (98: Address already in use)
2021/02/02 15:45:40 [emerg] 4682#4682: bind() to 0.0.0.0:80 failed (98: Address already in use)
2021/02/02 15:45:40 [emerg] 4682#4682: bind() to [::]:80 failed (98: Address already in use)
2021/02/02 15:45:40 [emerg] 4682#4682: bind() to 0.0.0.0:80 failed (98: Address already in use)
2021/02/02 15:45:40 [emerg] 4682#4682: bind() to [::]:80 failed (98: Address already in use)
2021/02/02 15:45:40 [emerg] 4682#4682: bind() to 0.0.0.0:80 failed (98: Address already in use)
2021/02/02 15:45:40 [emerg] 4682#4682: bind() to [::]:80 failed (98: Address already in use)
2021/02/02 15:45:40 [emerg] 4682#4682: bind() to 0.0.0.0:80 failed (98: Address already in use)
2021/02/02 15:45:40 [emerg] 4682#4682: bind() to [::]:80 failed (98: Address already in use)
2021/02/02 15:45:40 [emerg] 4682#4682: still could not bind()
주소가 이미 사용되고 있다고 알려져 있습니다. 이것은 포트 번호가 이미 사용되고 있다는 것입니다.
오류 대응
Terminal
# ポートを確認するためにlsofをインストール
$ apt install -y lsof
# lsofコマンドで80番ポートを開いているプロセスを確認
$ lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 4411 root 6u IPv4 1700893 0t0 TCP *:80 (LISTEN)
nginx 4411 root 7u IPv6 1700894 0t0 TCP *:80 (LISTEN)
nginx 4412 www-data 6u IPv4 1700893 0t0 TCP *:80 (LISTEN)
nginx 4412 www-data 7u IPv6 1700894 0t0 TCP *:80 (LISTEN)
nginx 4413 www-data 6u IPv4 1700893 0t0 TCP *:80 (LISTEN)
nginx 4413 www-data 7u IPv6 1700894 0t0 TCP *:80 (LISTEN)
nginx 4414 www-data 6u IPv4 1700893 0t0 TCP *:80 (LISTEN)
nginx 4414 www-data 7u IPv6 1700894 0t0 TCP *:80 (LISTEN)
nginx 4415 www-data 6u IPv4 1700893 0t0 TCP *:80 (LISTEN)
nginx 4415 www-data 7u IPv6 1700894 0t0 TCP *:80 (LISTEN)
# どういうわけか、nginxが起動しているように見えます。
# 一旦、すべてのプロセスを落とします。
$ kill 4411
# nginxを起動
$ systemctl start nginx
# nginxの状態を確認
$ systemctl status nginx
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service, enabled)
Active: active (running)
이제 nginx가 시작될 때까지 확인할 수있었습니다.
브라우저에서 페이지에 액세스해 봅니다.
이제 시작까지 확인할 수 있었습니다.
다음 번부터 설정편을 실시해 갑니다.
Reference
이 문제에 관하여(Nginx를 더 이해해 보자 시작편), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/bearrabi0506/items/daf9071dd8d4f5035aa5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)