CentOS 7 설치 Nginx 1.14.0 및 설정

21225 단어 서버
。 Centos   ,      nginx    ,                              ,**           **:
        (nginx gzip    zlib ,      pcre ,ssl    openssl )。  ** / usr / local **     ,

1. gcc gcc - c + + 설치 (새 환경, 설치 되 지 않 은 경우 먼저 설치)
$ yum install -y gcc gcc-c ++

2. PCRE 라 이브 러 리 설치
$ cd / usr / local / 
$ wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.33/pcre-8.33.tar.gz 
$ tar -zxvf pcre-8.33.tar.gz 
$ cd pcre -8.33 
$ ./configure 
$ make && make install 

   :configure:  :     C ++      C ++ 
  :yum install -y gcc gcc-c ++

3. SSL 라 이브 러 리 설치
$ cd / usr / local / 
$ wget http://www.openssl.org/source/openssl-1.0.1j.tar.gz 
$ tar -zxvf openssl-1.0.1j.tar.gz 
$ cd openssl-1.0.1j 
$ ./config 
$ make && make install

4. 설 치 된 zlib 의 재고
$ cd / usr / local / 
$ wget http://zlib.net/zlib-1.2.11.tar.gz 
$ tar -zxvf zlib-1.2.11.tar.gz 
$ ./configure 
$ make && make install

4. nginx 를 설치 한
$ cd / usr / local / 
$ wget http://nginx.org/download/nginx-1.14.0.tar.gz 
$ tar -zxvf nginx-1.14.0.tar.gz 
$ cd nginx-1.14.0 
$。 / configure --user = nobody --group = nobody --prefix = / usr / local / nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-http_sub_module --with-http_ssl_module --with -pcre = /usr/local/pcre-8.33 --with-zlib = /usr/local/zlib-1.2.11 --with-openssl = /usr/local/openssl-1.0.1j 
( : -  with- http_ssl_module:         nginx.conf  ssl:on after,    nginx:
[emerg]    “ssl” /opt/nginx/conf/nginx.conf  )
$ make && make install

5. 시동
$ /usr/local/nginx/sbin/nginx

시작 성공 여 부 를 확인 합 니 다:
브 라 우 저 를 열 어 이 기계 의 IP 에 접근 합 니 다. 브 라 우 저가 나타 나 면 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」「   」「  」
  

서버
요청 을 받 은 서버 는 서로 다른 요청 을 규칙 에 따라 다른 백 엔 드 서버 에 전송 해 야 합 니 다. nginx 에 서 는 가상 호스트 (서버) 개념 을 구축 하여 서로 다른 서비스 설정 을 격 리 할 수 있 습 니 다.
   { 
 80; 
server_name localhost; 
root html; 
index index.html index.htm; 
}

예 를 들 어 우리 가 가지 고 노 는 두 개의 키 항목 인 passport 와 wan 은 nginx 설정 파일 에서 두 개의 서버 를 설정 할 수 있 습 니 다. server name 은 각각 passport. bigertech. com 과 wan. bigertech. com 입 니 다.이렇게 하면 서로 다른 url 요청 은 nginx 에 해당 하 는 설정 에 대응 하여 서로 다른 백 엔 드 서버 에 전 송 됩 니 다.
여기
듣다.
감청 포트
server_name
IP 나 도 메 인 이름 을 지정 할 때 여러 도 메 인 이름 이 통 일 된 규칙 에 대응 하여 빈 칸 으로 나 눌 수 있 습 니 다.
index
접근 의 기본 주 소 를 설정 하 는 데 사용 합 니 다.
root
명령 은 가상 호스트 의 웹 페이지 와 디 렉 터 리 를 지정 하 는 데 사 용 됩 니 다. 이 곳 은 상대 주소 일 수도 있 고 절대 주소 일 수도 있 습 니 다.
일반적으로 nginx. conf 에 여러 서버 를 설정 하여 서로 다른 요청 을 설정 할 수 있 습 니 다.이렇게:
   {
 80;
server_name host1;
root html;
index index.html
index.htm ;
}
   {
 80;
server_name host2;
root / data / www / html;
index index.html index.htm;
}


그러나 서버 가 2 개 를 넘 으 면 가상 호스트 에 대한 설정 을 다른 파일 에 두 고 메 인 프로필 nginx. conf 에 명령 을 포함 하 는 것 을 권장 합 니 다.관리 에 더욱 편리 하 다.
  vhosts / * .conf;

가상 호스트 의 파일 을 모두 포함 시 킬 수 있 습 니 다.
Location 모든 url 요청 에 대응 하 는 서비스 입 니 다. nginx 는 퍼 가기 나 다른 서버 의 서비스 경 로 를 처리 합 니 다.이 경로 의 매 칭 은 location 을 통 해 이 루어 집 니 다.서버 를 도 메 인 이름 에 대응 하 는 설정 으로 사용 할 수 있 으 며, 위 치 는 도 메 인 이름 아래 에서 더 정교 한 경 로 를 설정 합 니 다.
위의 예 를 들 어 루트 와 색인 명령 을 한 위치 에 놓 을 수 있 습 니 다. 이 위치 에 맞 을 때 만 루트 뒤의 내용 에 접근 할 수 있 습 니 다.
   / {

   root / data / www / host2; 
   index index.html index.htm; 
}

위치 일치 규칙
〜             ,     
〜*          ,      
^〜^〜        ,       ,      ,       ,        
=          

일치 하 는 예:
location = / {
#   “/”。[  A]
}
   / {
#      ,         “/”  #                      [  B]
}
  ^〜/ images / {
#     / images /     ,       
  [  C]
}
location~ *。(gif | jpg | jpeg)$ {
#   gif,jpg jpeg     。
#    / images /       [Configuration C]  。
[  D]
}
  :/  - >    A.
/documents/document.html  - >    B.
/images/1.gif  - >    C.
/documents/1.jpg  - >    D.


정적 파일 맵
접근 파일 설정 
루트 와 alias
p 의 두 가지 명령.이 두 명령 의 차 이 는 헷 갈 리 기 쉽다.
alias
별명 뒤꿈치 의 지정 디 렉 터 리 는 정확 하 며 끝 에 반드시 / 를 추가 해 야 합 니 다.
location / c / {
  / a /;
}
 
             ,                          。
location / c / {
root / a /;
}

이 디 렉 터 리 를 펼 칠 필요 가 있다 면 이 위치의 끝 에 'autoindex on;' 을 추가 하면 됩 니 다.
전송 설정 은 매우 간단 합 니 다. 예 를 들 어 저 는 모든 요 구 를 진정 으로 서 비 스 를 제공 하 는 기계 의 8001 포트 로 옮 기 려 고 합 니 다. 이렇게 하면:
   / {
proxy_pass 172.16.1.1:8001;
}

이렇게 host 에 접근 할 때 모두 172.16.1.1 의 8001 포트 로 전송 되 었 다.
부하 균형
  myserver; {
ip_hash;
server 172.16.1.1:8001;
   172.16.1.2:8002;
   172.16.1.3;
   172.16.1.4;
}
   / {
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 모듈 문서 에서 상세 한 설정 설명 을 찾 을 수 있 는 것 과 유사 합 니 다.

좋은 웹페이지 즐겨찾기