Centos 에서 Nginx 설치 및 설정
설치 하 다.
Centos 에서 yum 소스 는 nginx 의 설 치 를 제공 하지 않 고 yum 소스 를 전환 하 는 방법 으로 설 치 를 얻 을 수 있 습 니 다.현재 많은 centos 7 시스템 이 이 몇 개의 라 이브 러 리 를 가지 고 있 기 때문에 설치 하기 전에 로 컬 이 이미 존재 하 는 지 확인 할 수 있 습 니 다.존재 하면 네 번 째 단계 로 바로 이동 할 수 있 습 니 다.설치 패 키 지 를 사용 하여 컴 파일 하여 설치 해 야 합 니 다. 다음 과 같 습 니 다.다음 명령 은 루트 권한 으로 실행 되 어야 합 니 다:
먼저 필요 한 라 이브 러 리 를 설치 합 니 다 (nginx 에서 gzip 모듈 은 zlib 라 이브 러 리 가 필요 합 니 다. rewrite 모듈 은 pcre 라 이브 러 리 가 필요 합 니 다. ssl 기능 은 openssl 라 이브 러 리 가 필요 합 니 다).설치 디 렉 터 리 로 / usr / local 을 선택 하고 아래 의 구체 적 인 버 전 번 호 는 실제 에 따라 변 경 됩 니 다.
1. PCRE 라 이브 러 리 설치
$ cd /usr/local/
$ sudo wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.gz
$ sudo tar -zxvf pcre-8.36.tar.gz
$ cd pcre-8.36
$ sudo ./configure
$ sudo make
$ sudo make install
2. zlib 라 이브 러 리 설치
$ cd /usr/local/
$ sudo wget http://zlib.net/zlib-1.2.8.tar.gz
$ sudo tar -zxvf zlib-1.2.8.tar.gz
$ cd zlib-1.2.8
$ sudo ./configure
$ sudo make
$ sudo make install
3. ssl 설치
$ cd /usr/local/
$ sudo wget http://www.openssl.org/source/openssl-1.0.1j.tar.gz
$ sudo tar -zxvf openssl-1.0.1j.tar.gz
$ sudo ./config
$ sudo make
$ sudo make install
4. nginx 설치
$ cd /usr/local/
$ sudo wget http://nginx.org/download/nginx-1.8.0.tar.gz
$ sudo tar -zxvf nginx-1.8.0.tar.gz
$ cd nginx-1.8.0
$ sudo ./configure --prefix=/usr/local/nginx # ,
$ sudo make
$ sudo make install
설치 패 키 지 를 사용 하여 컴 파일 한 위 에 있 는 몇 개의 의존 도 는 -- prefix 뒤에 다음 명령 을 받 아야 합 니 다.
--with-pcre=/usr/local/pcre-8.36 pcre-8.36 。
--with-zlib=/usr/local/zlib-1.2.8 zlib-1.2.8 。
5. 먼저 설정 파일 이 올 바른 지 테스트 합 니 다: $/ usr / local / nginx / sbin / nginx - t
문제 없 이 시작 할 수 있 습 니 다: $/ usr / local / nginx / sbin / nginx
시작 성공 여 부 를 확인 합 니 다:
브 라 우 저 를 열 어 이 기기 의 IP 에 접근 합 니 다. 브 라 우 저 에 Welcome to nginx 가 나타 나 면!Nginx 가 설치 되 어 실행 에 성공 했다 는 뜻 입 니 다.
부분 명령 은 다음 과 같 습 니 다.
재 부팅: $/ usr / local / nginx / sbin / nginx – s reload
정지: $/ usr / local / nginx / sbin / nginx – s stop
설정 파일 이 정상 인지 테스트: $/ usr / local / nginx / sbin / nginx – t
강제 종료: $pkill nginx
배치 하 다.
위 설치 방법 nginx 설정 파일 은
/usr/local/nginx/conf/nginx.conf
Nginx 프로필 의 일반적인 구 조 는 밖에서 안 으로 'http', 'server', 'location' 등 이 있 습 니 다. 결 성 된 계승 관 계 는 밖에서 안 으로 입 니 다. 즉, 내부 블록 은 외부 블록 의 값 을 자동 으로 가 져 와 결 성 된 값 으로 합 니 다.
Server
요청 을 받 은 서버 는 서로 다른 요청 을 규칙 에 따라 다른 백 엔 드 서버 에 전송 해 야 합 니 다. nginx 에 서 는 가상 호스트 (server) 개념 을 구축 하여 서로 다른 서비스 설정 을 격 리 할 수 있 습 니 다.
server {
listen 80;
server_name localhost;
root html;
index index.html index.htm;
}
예 를 들 어 우리 가 가지 고 노 는 두 개의 키 항목 인 passport 와 wan 은 nginx 설정 파일 에서 두 개의 server 를 설정 할 수 있 습 니 다. server name 은 각각 passport. bigertech. com 과 wan. bigertech. com 입 니 다.이렇게 하면 서로 다른 url 요청 은 nginx 에 해당 하 는 설정 에 대응 하여 서로 다른 백 엔 드 서버 에 전 송 됩 니 다.
여기 listen 은 감청 포트, servername 은 IP 나 도 메 인 이름 을 지정 하 는 데 사 용 됩 니 다. 여러 도 메 인 이름 은 통 일 된 규칙 에 따라 빈 칸 으로 나 눌 수 있 습 니 다. index 는 방문 하 는 기본 홈 페이지 주 소 를 설정 하 는 데 사 용 됩 니 다. root 명령 은 가상 호스트 의 웹 페이지 와 디 렉 터 리 를 지정 하 는 데 사 용 됩 니 다. 이 곳 은 상대 적 인 주소 일 수도 있 고 절대 주소 일 수도 있 습
일반적으로 nginx. conf 에 여러 개의 server 를 설정 하여 서로 다른 요청 을 설정 할 수 있 습 니 다.이렇게:
server {
listen 80;
server_name host1;
root html;
index index.html index.htm;
}
server {
listen 80;
server_name host2;
root /data/www/html;
index index.html index.htm;
}
그러나 server 가 2 개 를 넘 으 면 가상 호스트 에 대한 설정 을 다른 파일 에 두 고 메 인 프로필 nginx. conf 에 include 명령 을 포함 하 는 것 을 권장 합 니 다.관리 에 더욱 편리 하 다.
include vhosts/*.conf;
vhosts 파일 을 다 포함 시 킬 수 있 습 니 다.
Localtion
모든 url 요청 에 대응 하 는 서비스 입 니 다. nginx 는 퍼 가기 나 로 컬 파일 경 로 를 처리 하거나 다른 서버 의 서비스 경 로 를 처리 합 니 다.이 경로 의 매 칭 은 location 을 통 해 이 루어 집 니 다.서버 를 도 메 인 이름 에 대응 하 는 설정 으로 사용 할 수 있 으 며, location 은 도 메 인 이름 아래 에서 더 정교 한 경 로 를 설정 합 니 다.
위의 예 를 들 어 루트 와 index 명령 을 하나의 location 에 넣 을 수 있 습 니 다. 이 location 에 일치 할 때 만 루트 뒤의 내용 에 접근 할 수 있 습 니 다.
location / {
root /data/www/host2;
index index.html index.htm;
}
위치 일치 규칙
~ ,
~* ,
^~ ^~ , , , ,
=
일치 하 는 예:
location = / {
# "/".
[ configuration A ]
}
location / {
# , "/"
#
[ configuration B ]
}
location ^~ /images/ {
# /images/ , location
[ configuration C ]
}
location ~* \.(gif|jpg|jpeg)$ {
# gif, jpg, or jpeg .
# /images/ [Configuration C] .
[ configuration D ]
}
:
/ -> configuration A
/documents/document.html -> configuration B
/images/1.gif -> configuration C
/documents/1.jpg -> configuration D
정적 파일 맵
파일 에 접근 하 는 설정 은 주로 루트 와 aliasp 's 두 명령 이 있 습 니 다.이 두 명령 의 차 이 는 헷 갈 리 기 쉽다.
alias
alias 뒤꿈치 의 지정 디 렉 터 리 가 정확 하고 끝 에 / 를 추가 해 야 합 니 다.
location /c/ {
alias /a/;
}
하면, 만약, 만약...http://location/c방문 한 것 은 / a / 디 렉 터 리 의 사이트 정보 입 니 다.
root
루트 뒤꿈치 의 지정 디 렉 터 리 는 상위 디 렉 터 리 이 며, 이 상위 디 렉 터 리 에는 location 후 지정 한 이름과 같은 이름 의 디 렉 터 리 가 있어 야 합 니 다.
location /c/ {
root /a/;
}
이 때 방문 사이트http://location/c방문 한 것 은 / a / c 디 렉 터 리 의 사이트 정보 입 니 다.
이 디 렉 터 리 를 펼 칠 필요 가 있다 면 이 location 의 끝 에 "autoindex on;" 을 추가 하면 됩 니 다.
전달 하 다
설정 은 매우 간단 합 니 다. 예 를 들 어 저 는 모든 요 구 를 진정 으로 서 비 스 를 제공 하 는 기계 의 8001 포트 로 옮 기 려 고 합 니 다. 이렇게 하면:
location / {
proxy_pass 172.16.1.1:8001;
}
이렇게 host 에 접근 할 때 모두 172.16.1.1 의 8001 포트 로 전송 되 었 다.
부하 균형
upstream myserver; {
ip_hash;
server 172.16.1.1:8001;
server 172.16.1.2:8002;
server 172.16.1.3;
server 172.16.1.4;
}
location / {
proxy_pass http://myserver;
}
우 리 는 upstream 에서 기 계 를 지정 하고 이 그룹 을 my server 라 고 명명 합 니 다. 그러면 proxypass 에서 my server 라 는 upstream 으로 요청 을 옮 기 면 네 대의 기계 의 역방향 대리 에 부하 균형 을 이 룰 수 있 습 니 다.그 중의 iphash 는 사용자 의 ip 주소 에 따라 균형 잡 힌 방식 을 가리 키 고 있 습 니 다.그 밖 에 폴 링, 지정 가중치 폴 링, fair, url 도 있다.hash 몇 가지 스케줄 링 알고리즘.
총결산
이상 은 nginx 를 통 해 정적 파일 전송, 역방향 에이전트 와 부하 균형 을 실현 하 는 가장 간단 한 설정 입 니 다.nginx 에서 모든 기능 은 모듈 을 통 해 이 루어 집 니 다. 예 를 들 어 upstream 을 설정 할 때 upstream 모듈 을 사용 합 니 다. server 와 location 은 http core 모듈 이 고 다른 것 은 흐름 제어 limt 모듈, 메 일의 mail 모듈, https 의 ssl 모듈 도 있 습 니 다.그들의 설정 은 모두 nginx 모듈 문서 에서 상세 한 설정 설명 을 찾 을 수 있 는 것 과 유사 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.