Nginx에 배포!

하나 : 당신이 Nginx에 가상 호스트 서버를 구축하는 데 사용할 때, 각각의 가상 웹 사이트는 별도의 "서버 {}"구성 섹션, 각 수신 IP 주소와 포트 번호는 물론, 사이트 이름은 다른 개별적으로 지정 될 수있다.

2 : 가상 머신 카테고리 :

  1 : 이름 기반의 가상 호스트 (다른 ​​복수의 도메인에 대응하는 도메인 이름의 IP 주소가 다른 사이트는 그 내용이 동일하지이다)

  2 : 가상 호스트 (서버가 다른 포트가 다른 사이트입니다, 하나 개의 IP 주소를 가지고 그 내용이 동일하지 않습니다) 포트 기반

  3 : IP 기반 가상 호스트 (서버가 서로 다른 IP가 다른 사이트, 여러 개의 IP 주소를 가지고 그 내용이 동일하지 않습니다)

2 : 구성 파일 구문을 감지하는 데 사용 -t의 nginx

오류 윤곽선 43 : 1 에러에 따라

[루트 @ www를 ~] #의 nginx -t
의 nginx : "위치"지시문이 /usr/local/nginx/conf/nginx.conf:43 여기에 허용되지 않습니다 [emerg가]
설정 파일 / usr / 지방 /의 nginx / conf의 : nginx를 /nginx.conf 테스트가 실패

다음 오류 2 : 작업 영역 문제를 내부 직원

[루트 @ www를 ~] #의 nginx -t
의 nginx : 구문 /usr/local/nginx/conf/nginx.conf 구성 파일이 괜찮
의 nginx : 1024 : 10240 worker_connections가 열린 파일 자원 한계를 초과 [경고]
의 nginx : 구성 파일은 / usr /local/nginx/conf/nginx.conf 테스트 성공

해결 방법 :

[루트 @ www를 ~] # ulimit를 -n 10240

================================================== ===========

하나의 도메인 이름과 호스트 기반 가상 테스트를 만들기

[루트 @ localhost를 ~] # 회전 수는 아파치 //이 아파치 소프트웨어를 삭제해야합니다 -q를

아파치 패키지가 설치되지 않았습니다

安装支持软件
[루트 @ localhost를 ~] # 회전 수 -q GCC GCC-C ++ ZLIB-(STABLE)의 PCRE-(STABLE)을 만들
# 냠 -y GCC GCC-C ++ ZLIB-(STABLE)의 PCRE-(STABLE)을 설치하기 [~ 루트 @ 로컬 호스트]를

완료!

실행중인 사용자를 생성, 그룹
[루트 @ localhost를 ~] #은 useradd -M -s / sbin에 / nologin으로 Nginx에
[루트 @ localhost를 ~] -l 꼬리 # / 등 /를 passwd에, -l 꼬리의 / etc / 그룹

导入의 nginx软件包
[루트 @ localhost를 ~] #의 RZ의 -E의                                       
수신 대기 RZ.
[루트 @ localhost를 ~] # LS의
아나콘다-에서 ks.cfg 초기 설정-에서 ks.cfg의 nginx-1.16.0.tar.gz 원래-의 ks.cfg
[루트 @ localhost를 ~] # 타르 XF의 nginx를-1.16.0.tar 에 .gz -C는 / usr / src에
[루트 @ localhost를 ~] #에서 cd /usr/src/nginx-1.16.0/

编译安装Nginx의
[루트 @의 로컬 호스트의 nginx 1.16.0-] # ./configure를 --prefix = / usr / 지방 / Nginx에 --user = Nginx에 --group = Nginx에 --with-http_stub_status_module

 --prefix의 Nginx의 설치 디렉토리 설정

--user와 Nginx의 실행 지정된 사용자와 그룹을 --group

--with-http_stub_status_module 상태 통계를 지원하기 위해 http_stub_status_module 모듈을 사용 가능

--with-http_ssl_module SSL 모듈을 사용 가능

--with-http_flv_module FLV 활성화 파일을 메모리 기반 검색을 제공하는 모듈은 시간 오프셋

[루트 @ 로컬 호스트의 nginx를-1.16.0] #make

[루트 @ 로컬 호스트의 nginx를-1.16.0]를 설치 #make

[루트 @ 로컬 호스트의 nginx-1.16.0] # cd를

링크 파일을 만들 수있는 프로그램의 Nginx는 기반
[루트 @ localhost를 ~] # 개의 LS / usr / 지방 /의 nginx /
conf의 HTML 로그 sbin에를

[루트 @ localhost를 ~] # 에선 -s / usr / 지방 / Nginx의 경우 / sbin / nginx를합니다 / usr / local / sbin /
[루트 @ localhost를 ~] # 게요합니다 / usr / local / sbin / nginx를
lrwxrwxrwx. 1 개 루트 루트 27 9 10月17시 12분 / usr / 지방 / sbin에 / Nginx의 -> / usr / 지방 / Nginx의 경우 / sbin / nginx를

Nginx의 동작 제어 방법
수동 접근 제어의 Nginx는 :
Nginx에 -t 검출 구성 파일 구문
메인 프로그램을 실행 Nginx에 Nginx의 시작

[루트 @ localhost를 ~] #의 nginx -t
의 nginx : 구문 /usr/local/nginx/conf/nginx.conf 구성 파일은 괜찮
구성 파일 /usr/local/nginx/conf/nginx.conf 테스트 성공 : nginx를가
[ 루트 @ localhost를 ~] # nginx를 //启动의 nginx服务
[루트 @ localhost를 ~] #에서 netstat -anpt | 그렙의 nginx
마스터 : 64726 / nginx를 듣고 0.0.0.0:* TCP 0 0 0.0.0.0:80

[루트 @ localhost를 ~] # killall는 -l의 nginx
HUP INT는 ILL TRAP ABRT IOT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM 기간 QUIT
STKFLT CHLD CONT STOP TSTP 변 경 TTOU URG XCPU XFSZ VTALRM 교수 윈치 IO PWR SYS
사용하지 않은
[루트 @ 로컬 호스트를 ~] # killall는 -s HUP의 nginx //平滑重启
[루트 @ localhost를 ~] # killall는 -s의 nginx //正常停止QUIT
[루트 @ 로컬 호스트를 ~] #의 nginx -s 다시로드
의 nginx : [오류] 지방 () "는 / usr / 개방 /nginx/logs/nginx.pid은 "실패하지 (2 : 그런 파일이나 디렉토리)
[루트 @ localhost를 ~]를 #의 nginx -s 중지

Nginx의 스크립트 작성 서비스

[루트 @ localhost를 ~] #의 정력 /etc/init.d/nginx

코드를 복사

#! / 빈 / bash는
#의 chkconfig를 : 2345 99 20
# 설명 : Nginx에 서버 컨트롤 스크립트 쉘
PROG를 = "/ usr / 지방 / Nginx의 경우 / sbin / nginx를"
PIDF = "/ usr / 지방 /의 nginx / 로그 / nginx.pid"


경우 "$ 1"
시작은)
     PROG를 $
;
) 중지
     ) $ (고양이 $ PIDF을 종료 -s 죽일
;
다시 시작)
    $ 0 정지
    $ 0 시작
;;
다시로드)
    -s HUP의 $ (고양이 $ PIDF을 죽일)
;
*)는
    에코 "사용 : $ 0 {| 중지 | 시작 재시작 | 장전}"
    1 번 출구
ESAC의
종료 0

코드를 복사

 

[루트 @ localhost를 ~] # chmod를 + X /etc/init.d/nginx
[루트 @ localhost를 ~] # chkconfig를 --add의 nginx
[루트 @ localhost를 ~] # chkconfig를 --list의 nginx

Nginx는 0 : 1 오프 : 해제 2 : 개구부 3 : 4 : 개구부 5 : 개구 6 : 오프

[루트 @ localhost를가 ~] # 개의 /etc/init.d/nginx 상태
Nginx와이 정지
[루트 @ 로컬 호스트를 ~] # 중지 /etc/init.d/nginx
[루트 @ localhost를 ~] #의 /etc/init.d/nginx 시작
[루트 @ 로컬 호스트를 ~] # 개의 /etc/init.d/nginx 상태
의 Nginx가 실행

[루트 @ localhost를 ~] # /etc/init.d/nginx 다시로드

Nginx의 구성 파일 구문 분석

[루트 @ localhost를 ~] # cd를 / usr / 지방 /의 nginx / conf의 /
nginx.conf.origin [루트 @ 로컬 호스트의 conf] # 및 CP nginx.conf
[루트 @ 로컬 호스트의 conf] #의 정력 nginx.conf

코드를 복사
사용자의 nginx의 nginx; //의 nginx 프로그램 계정 및 절차 설정 
worker_processes 2; //의 CPU의 수와 일반적으로 일치하는 프로세스의 수를 지정 
worker_cpu_affinity 00000001 00000010을; // 각 프로세스에 대한 코어의 수를 할당 
의 error_log 로그 /하는 error.log 정보; // 글로벌 오류 로그 파일 위치 
PID 로그 / nginx.pid; // PID 파일 위치 
이벤트 { 
   사용 epoll에; // 사용는 epoll 모델은 
    10240 worker_connections; // 각 프로세스는 최대 연결 수는 일반적으로 10,000 이하 기본 1024 수 
} 
HTTP { 
    (가) 포함의 mime.types, 
    default_type 파일 응용 프로그램 / octet-stream을, 

    주요 log_format 'REMOTE_ADDR의 $ - $ REMOTE_USER [$ time_local] "$ 요청"' 
                      '$의 $의 body_bytes_sent 상태"$ HTTP_REFERER " '
                      ' "$는 HTTP_USER_AGENT" "$ HTTP_X_FORWARDED_FOR"';

    ACCESS_LOG 로그 / access.log의 주요; // 액세스 로그는 비트 
    에 sendfile에; // 문서를 지원하는 전송 시간 초과 
    65 keepalive_timeout, 
서버 {// 웹 서비스 모니터 구성이 
        80 듣고; // 주소 및 수신 포트 (IP : PORT)
        서버 _ www.crushlinux.com;     // 사이트 이름 (의 FQDN)        캐릭터 셋 UTF-8;                       // 페이지의 기본 문자 집합        ACCESS_LOG 로그 의 주요 /www.crushlinux.com.access.log, 
위치 / {                                // 루트 디렉토리 구성          루트   HTML; // 웹 루트 디렉토리 의 설치 위치의 HTML 위치                      인덱스있는 index.html index.htm으로; // 기본 홈        } L의 ocation / 상태 {         stub_status ON; // 열린 상태 통계는         오프 ACCESS_LOG; //이 위치 로그 오프 
}        








     500 502 503 504 /50x.html을 error_page // 내부 에러 피드백 페이지
       위치 = / 50x.html {오류 페이지 구성 //
           루트를 HTML;
        }
    }
}

 
코드를 복사

[루트 @ 로컬 호스트의 conf] # 개 PWD
/ usr / 지방 /의 nginx / conf의

[루트 @ 로컬 호스트의 conf] # MKDIR ../html/mailcom
[루트 @ 로컬 호스트의 conf] # 에코 "<H1> www.crushlinux.com </ H1>"> ../html/index.html

[루트 @ 로컬 호스트의 conf] #의 nginx -t

Nginx는 : 구문 /usr/local/nginx/conf/nginx.conf 구성 파일 괜찮
Nginx의 [경고] 10240 worker_connections 오픈 파일 리소스 제한을 초과 1024
의 nginx : 구성 파일을 /usr/local/nginx/conf/nginx.conf 테스트 성공

[루트 @ 로컬 호스트의 conf] # ulimit를 -n 65536
[루트 @ 로컬 호스트의 conf] #의 nginx -t
의 nginx : 구성 파일 /usr/local/nginx/conf/nginx.conf 구문은 확인
의 nginx : 구성 파일은 / usr / 로컬 / 의 nginx / conf의 / nginx.conf 테스트 성공

[루트 @ 로컬 호스트의 conf] #에 systemctl는 firewalld 중지
[루트 @ 로컬 호스트의 conf]를 #의 iptables -F
[루트 @ 로컬 호스트의 conf] # 0 위해 setenforce

[루트 @ 로컬 호스트의 conf] # 개의 systemctl 다시 시작의 nginx의
경고 : nginx.service 디스크에 변경되었습니다. 실행 'systemctl 데몬 리로드'는 단위를 다시로드합니다.

[루트 @ 로컬 호스트의 conf] # /etc/init.d/nginx 다시로드

 

활성 연결이 연결의 수를 현재 활성화 된 대표,

세 개의 숫자의 세 번째 행은 Nginx에 현재 총 2 연결을 처리하는 표현, 핸드 쉐이크가 성공적으로 생성되는 3 방향, 그것은 총이 개 요청을 처리.

================================================== =====================

:( 가상 메인 프레임 애플리케이션)는 여러 이름 기반 가상 호스팅 및 테스트를 만들 수 있습니다

이 개 사이트를 만들 수 www.crushlinux.com 및 www.cloud.com

웹 호스트에 두 개의 가상 루트 디렉토리는 테스트를 홈으로 준비, 설립

 

[루트 @ localhost를 ~] #mkdir / usr / 지방 / nginx를 / HTML / crushlinux

 

[루트 @ localhost를 ~] #mkdir / usr / 지방 / nginx를 / HTML / 구름

 

[루트 @ 로컬 호스트 ~] # 에코 "<H1> www.crushlinux.com </ H1>"> /usr/local/nginx/html/crushlinux/index.html

[루트 @ 로컬 호스트 ~] # 에코 "<H1> www.cloud.com </ H1>"> /usr/local/nginx/html/cloud/index.html

[루트 @ localhost를 ~] #의 정력 /usr/local/nginx/conf/nginx.conf

코드를 복사
사용자의 nginx의 Nginx와; 
2 worker_processes; 
worker_cpu_affinity 00000001 00000010; 
의 error_log 로그 /하는 error.log 정보; 
PID 로그 / nginx.pid; 
이벤트 { 
   사용 epoll에; 
    worker_connections 10240; 
} 
HTTP { 
    의 mime.types를 포함한다; 
    default_type 애플리케이션 / octet-stream을; 

    메인 log_format '$의 REMOTE_ADDR를 - $의 REMOTE_USER [$ time_local] "$ 요청' ' 
                      '$ 상태의 body_bytes_sent $"$ HTTP_REFERER '' 
                      ''$ HTTP_USER_AGENT ","$ HTTP_X_FORWARDED_FOR " '; 

    주요 access.log의 ACCESS_LOG 로그 /; 
    에 sendfile을; 
    keepalive_timeout 65;
        서버 _ www.crushlinux.com; 
        문자셋 UTF-8; 
        ACCESS_LOG 로그 / www.crushlinux.com.access.log 주; 
위치 / { 
            루트 HTML / crushlinux; 
            인덱스있는 index.html index.htm으로; 
        }

위치 ~ / 상태 {
              stub_status에;
             오프 ACCESS_LOG;
}

 500 502 503 504 /50x.html을 error_page;

          위치 = /50x.html {
             루트 HTML;
   }
}

  서버 {
         80을 듣고;
         서버 _ www.cloud.com;
         문자셋 UTF-8;
         ACCESS_LOG 로그 / cloud.access.log 주;
 위치 / {
         루트 HTML / 구름;
         인덱스 index.html을 index.html을;
}
         error_page 500 502 503 504 /50x.html;
  위치 = /50x.html {
         루트 HTML;
    }
  }
}

코드를 복사

[루트 @ www를 ~] # killall는 -3의 nginx // 정상 정지
[루트 @ www를 ~] # nginx를 // 일반 시작

[루트 @ www를 ~] # yum을 -y 설치 elinks
[루트 @ www를 ~] # 개의 elinks --dump http://www.crushlinux.com
www.crushlinux.com
[루트 @ www를 ~] # 개의 elinks --dump HTTP : //www.cloud.com
www.cloud.com

 

추천

출처www.cnblogs.com/L1-5551/p/11518444.html