NGINX 학습 노트 (1)
최근 에 서버 학습 을 계획 하기 시 작 했 습 니 다. 먼저 가장 많이 본 것 은 Nginx 입 니 다. 그래서 블 로 그 를 시작 한 것 은 필 기 를 하고 학습 과정 을 기록 하 며 지식 을 공 고 히 하기 위해 서 입 니 다.
2. 설치
손 에 애플 컴퓨터 밖 에 없 으 니 이 위 에서 괴 롭 히 세 요.
흥 이 나 서 단말 기 를 켜 고 명령 brew install nginx 를 입력 하면 오류 가 발생 합 니 다. 각종 'permisson denied' 는 시스템 버 전 macOS 10.15 를 확인 하고 새 버 전 으로 인 한 화 를 입 었 습 니 다. 인터넷 에서 찾 아 보고 명령 을 두 드 려 서 해결 합 니 다.
sudo chown -R $(whoami) $(brew --prefix)/*
재 설치
brew install nginx
설치 성공 보이 기
==> nginx
Docroot is: /usr/local/var/www
The default port has been set in /usr/local/etc/nginx/nginx.conf to 8080 so that
nginx can run without sudo.
nginx will load all files in /usr/local/etc/nginx/servers/.
To have launchd start nginx now and restart at login:
brew services start nginx
Or, if you don't want/need a background service you can just run:
nginx
OK, 시작 해 보 세 요. nginx 를 두 드 리 면 또 오류 가 발생 합 니 다.
nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
nginx: [emerg] still could not bind()
포트 번호 8080 이 이미 점용 되 었 습 니 다. 좋 습 니 다. 설정 파일 을 바 꾸 고 다른 포트 번 호 를 바 꾸 어 다시 보 겠 습 니 다.
vim /usr/local/etc/nginx/nginx.conf
포트 번호 설정 찾기
server {
listen 8080;
server_name localhost;
8080 을 8081 로 바 꾸 고 nginx 를 다시 시작 합 니 다. 잘못 보고 하지 않 았 습 니 다. 모니터 에 사이트 localhost: 8081, "Welcome to nginx!" 를 입력 하 십시오.
첫 번 째 설 치 는 드디어 끝 났 습 니 다!
3. 상용 명령
먼저 nginx 프로 세 스 를 볼 게 요.
ps axw -o pid,ppid,user,%cpu,vsz,wchan,command | egrep '(nginx|PID)'
다음 과 같이 보이 기:
PID PPID USER %CPU VSZ WCHAN COMMAND
6495 1 xxx 0.0 4291076 - nginx: master process nginx
6514 6495 xxx 0.0 4291532 - nginx: worker process
6517 3560 xxx 0.0 4268280 - egrep (nginx|PID)
nginx 는 두 개의 프로 세 스, master process 와 worker process 를 표시 합 니 다.master process 는 설정 파일 을 읽 고 검사 하 며 worker process 를 유지 하 는 데 사 용 됩 니 다. worker process 는 nginx 의 구체 적 인 작업 프로 세 스 입 니 다. 설정 파일 에서 worker 를 설정 할 수 있 습 니 다.processes 의 수량 을 2 로 바 꾸 려 고 시도 하면 두 개의 worker process 가 나타 납 니 다. worker process 설정 은 얼마나 적당 합 니까?CPU 커 널 수 에 따라 설정 할 수 있 는 지 알 고 있 으 며, 설정 항목 을 추가 로 연구 할 때 깊이 있 게 연구 할 수 있 습 니 다.
nginx 프로 세 스 를 제어 하 는 것 은 신 호 량 을 통 해 이 루어 집 니 다. 대략적인 형식 은 다음 과 같 습 니 다.
nginx -s
모두 다음 과 같은 몇 가지 신호 가 있다.
시그 널
설명 하 다.
quit
자원 방출 후 정지
reload
프로필 다시 불 러 오기
reopen
로그 파일 다시 열기
stop
즉시 정지 하 다
또 다른 신 호 량 을 보 내 는 방식 이 있다.
kill -
이런 신 호 량 은 모두 다음 과 같은 몇 가지 가 있다.
시그 널
설명 하 다.
TERM,INT
즉시 정지 (동 stop)
HUP
프로필 다시 불 러 오기 (reload 와 함께)
USR1
로그 파일 다시 열기 (같은 reopen)
USR2
실행 가능 한 파일 업데이트
QUIT
자원 방출 후 정지 (같은 quit)
WINCH
자원 방출 후 worker 프로 세 스 정지
다음 두 신 호 량 의 처리 절 차 를 중점적으로 설명 하 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.