Ningx 서비스 기반
요약: Nginx 는 러시아 가 개발 한 고성능 HTTP 서버 와 역방향 프 록 시 서버 로 IMAP / POP 3 / SMTP 프 록 시 서 비 스 를 지원 하 며 성능 장점 이 현저 하 다. 홈 페이지 에 서 는 한 대의 nginx 서버 가 50000 병행 을 처리 할 수 있다 고 말 했다.특징: 고성능, 안정, 하드웨어 자원 소모 가 적 고 큰 병행 을 처리 할 수 있 으 며 주로 정적 분석, 동정 페이지 의 분리 에 사용 된다.장점: 1. 웹 서버 로 서 nginx 는 정적 파일, 색인 파일 과 자동 색인 효율 이 매우 높 습 니 다.2. 프 록 시 서버 로 서 Nginx 는 캐 시 없 는 역방향 프 록 시 가속 을 실현 하여 사이트 운행 속 도 를 높 일 수 있 습 니 다.3. 부하 균형 서버 로 서 Nginx 는 내부 에서 Rails 와 PHP 를 직접 지원 할 수도 있 고 HTTP 프 록 시 서버 를 지원 하여 대외 적 으로 서 비 스 를 할 수도 있다.간단 한 용 착 과 알고리즘 을 이용 하여 부하 균형 을 이 루 는 것 도 지원 합 니 다.
nginx 프로그램 설치
(1) 지원 소프트웨어 인 Nginx 를 설치 하고 실행 하려 면 pcre, zlib 등 패키지 의 지원 이 필요 합 니 다.
yum install gcc gcc-c++ pcre-devel zlib-devel
(2) 운영 사용자 그룹 Nginx 서비스 프로그램 을 만 들 고 기본적으로 nobody 로 실행 합 니 다. 컨트롤 러 접근 권한 을 더욱 정확하게 하고 유연성, 안전, 위험 을 낮 출 수 있 도록 전문 적 인 사용자 계 정 을 만 드 는 것 을 권장 합 니 다.useradd -M -s /sbin/nologin nginx
(3) Nginx 컴 파일 설치root@localhost opt]# cd nginx-1.12.0/
[root@localhost nginx-1.12.0]#./configure \
--prefix=/usr/local/nginx \ #
--user=nginx \ # Nginx
--group=nginx \ # Nginx
--with-http_stub_status_module # ,
[root@localhost nginx-1.12.0]# make && make install
(4) 최적화 경 로 는 관 리 를 편리 하 게 하기 위해 메 인 프로그램 ngin 에서 링크 파일 을 만 들 수 있 고 nginx 명령 으로 nginx 메 인 프로그램 을 직접 호출 할 수 있 습 니 다.
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
(5) 설정 검사[root@localhost ~]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
(6) Nginx 시작 및 정지
[root@localhost ~]# nginx
[root@localhost ~]# killall -s HUP nginx #
[root@localhost ~]# killall -s QUIT nginx #
(6) Nginx 서비스 스 크 립 트 를 사용 하면 Nginx 서비스 시작, 정지, 리 셋 등 조작 이 더욱 편리 하고 chkconfig 와 service 도 구 를 사용 하여 관리 할 수 있 습 니 다.
[root@localhost ~]# vim /etc/init.d/nginx
#!/bin/bash
#chkconfig: - 99 20
description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
start)
$PROG
;;
stop)
kill -s QUIT $(cat $PIDF)
;;
reload)
$0 stop
$0 start
;;
restart)
kill -s HUP $(cat $PIDF)
;;
*)
echo "Usage:$0 {start|stop|restart|reload}"
;;
esac
exit 0
[root@localhost ~]# chmod +x /etc/init.d/nginx
[root@localhost ~]# chkconfig --add nginx
설정 파일 nginx. conf
1. 전역 설정
#user nobody; #
worker_processes 1; #
#error_log logs/error.log; #
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid; #PID
2. I / O 이벤트 설정 은 "event {}" 경계 표 시 를 사용 하여 Nginx 프로 세 스 의 I / O 응답 모델 을 지정 하고 프로 세 스 마다 연결 수 를 설정 합 니 다.
events {
worker_connections 1024; # 4096
}
3. HTTP 설정 은 접근 로그, HTTP 포트, 페이지 디 렉 터 리, 기본 문자 집합, 연결 유지, 가상 웹 호스트, PHP 분석 등 일련의 설정 을 포함 하여 "http {}" 정의 표 시 를 사용 합 니 다.대부분의 설정 문 구 는 'server {}' 태그 에 포함 되 어 있 습 니 다.
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;#
#access_log logs/access.log main;
#gzip on;
server { #Web
listen 192.168.242.220:80;#
server_name 192.168.242.220:80;#
charset utf-8;#
access_log logs/www.kgc.com.host.access.log;#
location / { #
root /var/www/html/kgc; #
index index.html index.htm;# ( )
}
error_page 500 502 503 504 /50x.html; #
location = /50x.html { #
root html;
}
}
3. 접근 상태 통계 Nginx 에 HTTP 내장STUB_STATUS 상태 통계 모듈 은 현재 웹 접근 상황 을 피드백 하 는 데 사 용 됩 니 다. 컴 파일 수 를 설정 할 때 어떻게 추가 할 수 있 습 니까 - with - httpstub_status_mdule 에서 이 모듈 지원 을 시작 합 니 다.
nginx 의 상태 통계 기능 을 사용 하려 면 내장 모듈 을 사용 하 는 것 외 에 nginx. conf 설정 파일 도 수정 해 야 합 니 다.접근 위 치 를 지정 하고 stub 추가status
location / {
stub_status on;#
access_log off;#
root /var/www/html/kgc;
index index.html index.htm;
}
Nginx 접근 제어
권한 을 위 임 받 은 접근 제어 절차 1. htpasswd 를 사용 하여 사용자 인증 파일 을 생 성 합 니 다. 이 명령 이 없 으 면 yun 으로 httpd - tools 패 키 지 를 설치 할 수 있 습 니 다.
[root@localhost ~]#htpasswd /usr/local/nginx/passwd.db jiji # /usr/local/nginx passwd.db , jiji, 。 passwd.db
2. 암호 파일 을 수정 할 수 있 는 권한 은 400 이 고 소유 자 를 nginx 로 변경 합 니 다.
[root@localhost ~]# chmod 400 /usr/local/nginx/passwd.db
[root@localhost ~]# chown nginx /usr/local/nginx/passwd.db
3. 주 프로필 nginx. conf 를 수정 하여 인증 설정 항목 을 추가 합 니 다.
location / {
stub_status on;#
access_log off;#
root /var/www/html/kgc;
index index.html index.htm;
auth_basic "secret";#
auth_basci_user_file /usr/loacl/nginx/passwd.db
}
클 라 이언 트 기반 접근 제어 1. deny IP / IP 세그먼트: 특정한 IP 나 IP 세그먼트 를 거부 하 는 클 라 이언 트 2. allow IP / IP 세그먼트: 특정한 IP 나 IP 세그먼트 의 클 라 이언 트 3. 규칙 이 위 에서 아래로 실 행 될 수 있 도록 합 니 다. 일치 하면 멈 추고 아래로 일치 하지 않 습 니 다.
location / {
stub_status on;
access_log off;
root /var/www/html/kgc;
index index.html index.htm;
deny 192.169.10.10; # IP
allow all;
}
Nginx 가상 호스트
모든 가상 웹 사이트 에는 독립 된 server {} 설정 단 이 있 습 니 다. 각자 감청 하 는 ip 주소 포트 번 호 는 따로 지정 할 수 있 습 니 다. 네트워크 이름 이 다 릅 니 다. 1. IP 기반 가상 호스트 2. 도 메 인 이름 기반 가상 호스트 3. 포트 기반 가상 호스트
도 메 인 이름 기반 가상 호스트 설정
server { # www.kgc.com
listen 80;
server_name www.kgc.com; #
charset utf-8;
access_log logs/www.kgc.com.host.access.log;
location / {
root /var/www/html/kgc; #www.kgc.com
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server { # www.accp.com
listen 80;
server_name www.accp.com;#
charset utf-8;
access_log logs/www.accp.com.host.access.log;
location / {
root /var/www/html/accp; #
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
ip 주소 기반
server {
listen 192.168.242.220:80; # 192.168.242.220
server_name 192.168.242.220:80;
charset utf-8;
access_log logs/www.kgc.com.host.access.log;
location / {
root /var/www/html/kgc;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 192.168.242.167:80;
server_name 192.168.242.167:80; # 192.168.242.167
charset utf-8;
access_log logs/www.accp.com.host.access.log;
location / {
root /var/www/html/accp;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
포트 기반
server {
listen 192.168.242.220:80;
server_name 192.168.242.220:80;
charset utf-8;
access_log logs/www.kgc.com.host.access.log;
location / {
root /var/www/html/kgc;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 192.168.242.220:8080;
server_name 192.168.242.220:8080;
charset utf-8;
access_log logs/www.accp.com.host.access.log;
location / {
root /var/www/html/accp;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.