하나 : 당신이 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