웹 개발 자 에 게 보 여 주 는 Nginx 소개
8524 단어 ubuntu임 베 디 드 링크 ux디 버 깅네트워크 서비스
웹 개발 자 라면 nginx (독음 은 engine - x 처럼 들 릴 수 있 습 니 다) 를 들 어 본 적 이 있 습 니 다. Nginx 는 속도 가 빠 르 고 기능 이 강 한 http 및 역방향 프 록 시 서버 로 간단 한 설정 을 거 친 후에 페이지 를 위탁 관리 할 수 있 습 니 다.
불 행 히 도 많은 다른 시스템 관리 도구 와 마찬가지 로 관련 원리 튜 토리 얼 과 배치 설명 문서 가 매우 적다.공식 적 으로 위 키 를 제 공 했 지만 내용 이 많 고 복잡 하지만 당신 이 진정 으로 필요 로 할 수 있 는 것들 을 제대로 소개 하지 못 했다.이 위 키 를 한동안 고민 한 후에 저 는 nginx 를 사용 하 는 기초 지식 을 습득 하고 이 를 여기 서 다른 개발 자 와 공유 하 게 되 었 습 니 다. 이 지식 을 더욱 신속하게 습득 하 시기 바 랍 니 다.
본론 으로 들 어가 보 겠 습 니 다.이 튜 토리 얼 에 대해 서 는 VPS (가상 호스트) 가 필요 합 니 다. 이전 설정 과 충돌 하지 않도록 하 는 것 이 좋 습 니 다.
설치 초기 화
현재 ubuntu 를 실행 하 는 가상 호스트 를 가지 고 있다 고 가정 합 니 다. digital ocean) 로그 인 옵션 을 설정 하고 업데이트 합 니 다.
apt
다음 apt-get install nginx
nginx. 를 설치 하여 브 라 우 저 에서 IP 주 소 를 방문 하면 페이지 에 "welcome to ngnix" 정 보 를 표시 합 니 다.OK, 모든 것 이 정상 입 니 다.nginx 디 렉 터 리 찾기
우리 통과
apt
nginx 를 설치 한 후에 기본 적 인 구 조 를 제공 하여 설정 파일 을 신속하게 설정 하 는 데 도움 을 주 었 습 니 다.모든 nginx 프로필 이 있 습 니 다. /etc/nginx
에서 (번역자: Mac OS X 환경 에서 homebrew 경 로 를 사용 하 는 것 은 Liux 와 차이 가 있 고 글 의 끝 부분 은 mac 에서 해결 방안 을 제공 합 니 다) 입력 cd
이 디 렉 터 리 에 들 어 갑 니 다.새 설정 옵션 을 추가 해 야 할 곳 은 sites-enabled
폴 더이 폴 더 를 열 면 이름 이 default
txt 문 서 를 열 면 nginx 의 설정 옵션 과 "welcome to nginx" 환영 옵션 의 코드 를 찾 을 수 있 습 니 다. 다음 페이지 를 표시 할 수 있 는 설정 파일 을 만 들 기 시작 합 니 다. sites - enabled 디 렉 터 리 에 빈 파일 을 새로 만 들 고 이름 을 붙 입 니 다. test
좋아 하 는 텍스트 편집기 로 편집 합 니 다.주의: 이 디 렉 터 리 아래 에서 하 나 를 발견 할 수 있 습 니 다.
/etc/nginx/sites-available
폴 더 입 니 다. 이 폴 더 는 일반적으로 여러 사 이 트 를 만 들 고 관리 해 야 할 때 유용 합 니 다. 다른 항목 을 조직 하 는 데 도움 을 줄 수 있 습 니 다. nginx 설정 문안 을 추가 하고 연결 해 야 합 니 다. sites-enabled
디 렉 터 리 아래. 명령 은 다음 과 같 습 니 다.ln -s /etc/nginx/sites-available/dotcom /etc/nginx/sites-enabled/dotcom
오직
sites-enabled
디 렉 터 리 에 있 는 프로필 만 사용자 가 접근 할 수 있 습 니 다. 하지만 파일 을 두 어도 됩 니 다. sites-available
디 렉 터 리 아래 에 파일 을 저장 하거나 링크 를 만 드 는 데 사용 합 니 다.정적 서버 설정
Nginx 설정 파일 은 자신 만 의 형식 을 가지 고 있 습 니 다. 좋 은 소식 은 파일 형식 이 상당히 간단 합 니 다. CSS 파일 처럼 보 입 니 다. 변수 이름 을 지정 한 다음 괄호 안에 명령 을 작성 합 니 다. 맨 위 는?
server
,코드:server {
}
괄호 안에 서 는 CSS 를 쓰 는 것 처럼 키 값 을 맞 추고 점 수 를 연결 하거나, sas 의 문법 과 같 으 며, 내장 코드 블록 을 추가 할 수 있 습 니 다. 뒤의 두 가지 스타일 의 코드 는 모두 사용 할 수 있 고, 쉽게 이해 할 수 있 습 니 다.
여기에 추가 할 수 있 는 키 쌍 과 코드 블록 (본 튜 토리 얼 뒤에 우 리 는 그것 을 명령 이 라 고 부른다)여러 가지 가 있 습 니 다. 공식 문서 로 이동 하여 구체 적 으로 볼 수 있 습 니 다. 기본 적 인 서버 설정 은 중요 한 명령 만 파악 하면 됩 니 다. 저 는 뒤의 모든 명령 에 공식 ngnix 문 서 를 연결 할 것 입 니 다. 공식 문 서 는 nginx 를 깊이 이해 하 는 유일한 경로 입 니 다. 이 를 위해 서 는 어떻게 더 잘 사용 하 는 지 알 아야 합 니 다.
listen
서버 감청 포트 번 호 를 설명 합 니 다. rails 를 알 고 있다 면 로 컬 서버 의 기본 포트 가 3000 이라는 것 을 알 고 있 을 것 입 니 다. Roots 는 1111 포트 에서 실 행 됩 니 다. SSL 은 443 포트 에 있 습 니 다. 인터넷 의 기본 포트 는 80 이 므 로 url 에서 포트 가 정의 되 지 않 으 면 기본 값 은 80 입 니 다. 온라인 서버 를 실행 할 가능성 이 높 기 때문에 80 포트 로 정의 하 는 것 이 좋 습 니 다. 코드 는 다음 과 같 습 니 다.
server {
listen 80;
}
기본 포트 에 주의 하 십시오. 엄 밀 히 말 하면 필요 한 것 은 아니 지만 전체 프로 세 스에 대해 충분히 알 수 있 도록 첫 번 째 단 계 를 마 쳤 습 니 다. 다음 server name 에 들 어 갑 니 다.
server_name
server name 은 url 주소 와 일치 하 는 데 사 용 됩 니 다. nginx 를 통 해 요청 하면 url 을 보고 찾 습 니 다.
server_name
세 션 입 니 다. 사이트 주소 가 http://xvfeng.me
그럼 너의 server_name
당연히 xvfeng.me
. 도 메 인 이름 을 분석 할 때 A 기록 을 사용 하고 서버 를 통 해 가리 키 면 http://snargles.com
, 너 는 다른 것 을 추가 할 수 있다. server
코드 server_name
가리키다 snargles.com
이 코드 는 이 도 메 인 이름 에서 온 요청 과 일치 합 니 다.이 기능 은 매우 강력 합 니 다. 이것 은 하나의 nginx 프로필 에서 수많은 사이트, 심지어 서로 다른 도 메 인 이름 의 사 이 트 를 위탁 관리 할 수 있다 는 것 을 의미 합 니 다. 당신 이 해 야 할 일 은 A 기록 을 설정 하고 가상 컴퓨터 가 있 는 IP 를 가리 키 는 것 입 니 다. 그 다음 에 다른 nginx 서버 설정 을 설정 하 는 것 입 니 다.
겨냥 하 다
server_name
두 가지 주목 할 점 이 있 습 니 다. 우선 하위 도 메 인 이름 을 설정 할 수 있 습 니 다. 일치 하고 싶다 면 http://test.example.com
,설정 이 아주 간단 합 니 다. 심지어 완전히 다른 응용 프로그램 을 가리 킬 수도 있 습 니 다. 두 번 째 는 마스크 를 사용 할 수 있 습 니 다. 즉, *
또는 경로 와 일치 합 니 다. 이 기능 은 매우 강력 합 니 다. 다음은 server name 부터 example.com
까지 간단하게 설정 합 니 다. . server {
listen 80;
server_name example.com;
}
나 이 스. 이제 설정 을 더 하면 서버 가 작 동 할 수 있 습 니 다.
root
이것 은 정적 사 이 트 를 위탁 관리 하 는 가장 중요 한 부분 입 니 다. html 와 css 파일 을 위탁 관리 하려 면 루트 부분 에서 정의 해 야 할 것 은 이 파일 들 이 저장 하 는 경로 입 니 다. 저 는 파일 을 두 는 것 을 좋아 합 니 다.
/var/www
디 렉 터 리 아래 에 있 기 때문에 폴 더 를 만 듭 니 다. 사용 합 니 다. mkdir
창설 /var/www/example
디 렉 터 리, 공백 만 들 기 index.html
파일, hello World 와 같은 단락 을 마음대로 추가 합 니 다. 코드 는 다음 과 같 습 니 다.server {
listen 80;
server_name example.com;
root /var/www/example;
}
기본 변수 설정 이 완료 되 었 습 니 다. 다음 설정 경로 입 니 다.
location
위 치 는 두 개의 인 자 를 받 아들 입 니 다. 하나의 문자열 이나 정규 코드 입 니 다. 문자열 이나 정규 는 특정한 디 렉 터 리 와 일치 합 니 다. 사용자 가 접근 할 수 있 도록 하려 면
example.com/whaterver
특정 페이지 에 접근 하려 면 whatever
uri 주소 로 설정 합 니 다. 루트 디 렉 터 리 에 만 접근 할 수 있 기 때문에 추가 만 하면 됩 니 다. /
됐 습 니 다. 내용 은 잠시 비어 있 고 나중에 설명 하 겠 습 니 다.server {
listen 80;
server_name example.com;
root /var/www/example;
location / {
}
}
첫 번 째 매개 변 수 는 여러 가지 쓰기 방법 이 있 습 니 다. 위 에서 제시 한 링크 를 참고 할 수 있 습 니 다. 상기 블록 에서 우 리 는 결과 페이지 를 가리 키 는 경로 가 필요 합 니 다. 주의 하 십시오.
/
모든 url 주소 와 일치 합 니 다. 여기에서 정규 로 해석 되 기 때 문 입 니 다. 정확 한 문자열 만 일치 하려 면 앞 에 등 호 를 추가 하 십시오. 다음 과 같이 쓰 십시오.location = / { ... }
현재 우 리 는 이전의 코드 를 완성 해 야 합 니 다. 블록 에 다른 명령 을 추가 하여 이름 을 불 러 올 수 있 습 니 다.
try_files
파일 입 니 다. Try fiels 는 루트 디 렉 터 리 에서 찾 을 수 있 는 첫 번 째 결 과 를 불 러 옵 니 다. 정적 서버 에 서 는 찾 고 싶 습 니 다. /
그리고 whatever 파일 을 따라 갑 니 다. 예 를 들 어... whatever.html
. 사선 뒤에 아무런 내용 이 없 으 면 찾 습 니 다. index.html
. 위 에 제 시 된 문서 링크 에서 이 옵션 의 흡수 관 계 를 어떻게 설정 하 는 지 에 대한 더 많은 소 개 를 찾 을 수 있 습 니 다. 여기 서 우 리 는 간단 한 설정 만 쓸 수 있 습 니 다.server {
listen 80;
server_name example.com;
root /var/www/example;
location / {
try_files $uri $uri/ /index.html;
}
}
위 에 이상 할 수도 있어.
$url
어디서 왔 습 니까? 사실은 nginx 가 제공 합 니 다. 요청 이 있 을 때마다 nginx 는 일련의 변 수 를 생 성 합 니 다. 이 변 수 는 요청 에 관 한 정 보 를 저장 합 니 다. 여기 있 는 uri 는 우리 가 알 아야 할 내용 중 하나 입 니 다.http://example.com
의 요청 을 받 았 습 니 다. server_name
... 을 위 하여 example.com
,요청 을 처리 하기 위해 사용 하기 /
루트 이름 아래 의 임의의 내용 과 일치 합 니 다. /index.html
。 다음은 이름 을 추가 하면
test.html
루트 디 렉 터 리 로 파일 접근 http://example.com/test.html
. 직접 해 보면 알 수 있어 요.설정 환경 을 임의로 바 꾸 려 고 시도 할 수 있 습 니 다. 예 를 들 어 carrot. is 라 는 사이트 에 서 는 사용자 가 어떤 파일 을 방문 하고 추가 하지 않 았 습 니 다.
.html
접미사 일 때 try files 도 찾 습 니 다. $uri.html
해당 결과 와 일치 합 니 다. 따라서 방문 http://carrot.is.about
화해시키다 http://carrot.is/about.html
같은 파일 을 얻 을 수 있 습 니 다. 설정 파일 을 설정 하 는 상상력 을 충분히 발휘 할 수 있 습 니 다.시작 서비스
우리 가 한 일 을 정리 해 보 자. 우선 추가 했다.
server
nginx 가 실 행 될 때 옵션 을 찾 습 니 다. /etc/sites-enabled
디 렉 터 리 에 있 는 모든 프로필 은 해당 내용 을 표시 하 는 데 사 용 됩 니 다. 하지만 잠시 만 요. 결 과 를 바로 얻 을 수 없 을 수도 있 습 니 다. nginx 는 변경 사항 을 모 르 기 때 문 입 니 다. nginx 가 새 프로필 을 제대로 읽 을 수 있 도록 서버 를 다시 시작 하고 다음 명령 을 실행 해 야 합 니 다.service nginx reload
여기
service
명령 은 실제로 설정 파일 의 내용 을 호출 했 습 니 다. 모두 사용 되 고 있 습 니 다. apt
시 생 성. /etc/init.d/nginx reload
. 다음은 서버 IP 주 소 를 방문 하면 원 하 는 페이지 를 얻 을 수 있 습 니 다.
Mac OS X 참고 문서: Mac OS X Mountain Lion With Homebrew 에 Nginx 설치
원본 링크: http://carrot.is/coding/nginx_introduction
전재 출처 를 밝 혀 주 십시오: http://xvfeng.me/posts/Nginx-for-developers/
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Ubuntu 22.04에 캐디 설치 - HostnExtra이 기사에서는 Ubuntu 22.04에 Caddy를 설치하는 방법을 설명합니다. 이 문서는 설치 프로세스를 안내하고 웹 사이트를 호스팅합니다. Caddy 웹 서버는 Go로 작성된 오픈 소스 웹 서버입니다. Ubunt...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.