day 38 - Nginx 기본 개요
Nginx 는 고성능 HTTP 서버 / 리 버스 프 록 시 및 이메일 (IMAP / POP 3) 프 록 시 서버 입 니 다.러시아의 프로그래머 Igor Sysoev 가 개발 한 공식 테스트 Nginx 는 5 만 개의 병렬 링크 를 지탱 할 수 있 고 CPU, 메모리 등 자원 소 모 는 매우 낮 으 며 운행 이 매우 안정 적 이다.
2. 흔 한 웹 서버
(1)Nginx (2) httpd (3)Tengine (4)openresty
3. Nginx 응용 장면
(1) 역방향 에이전트 (2) 부하 균형 (3) 프 록 시 캐 시 (4) 정적 자원 (5) 동정 분리 (6) HTTPS 보안
4. Nginx 설치 설정 시작
(1) 공식 창고 소스 설치
[root@web01 ~]# cat /etc/yum.repos.d/nginx.repo [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing. key (2). yum 로 직접 설치 [root@web01~] \ # yum install nginx - y (3) 시작 nginx
5. Nginx 설정 설명
[root@web01 ~]# cat /etc/nginx/nginx.conf
user nginx; ( nginx )
worker_processes 1; (nginx )
error_log /var/log/nginx/error.log warn; ( [ ])
pid /var/run/nginx.pid; ( , pid)
events { ( )
worker_connections 1024; ( work )
use epoll; ( epoll )
}
http { ( http )
include /etc/nginx/mime.types; ( )
default_type application/octet-stream; ( ( )
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main; ( )
#sendfile on;
#tcp_nopush on;
keepalive_timeout 65; ( )
#gzip on; ( )
# Server , Server{}
server {
listen 80;
server_name test.oldxu.com;
location / { ( )
root ...;
}
}
include /etc/nginx/conf.d/*.conf; ( )
}
PS: Nginx 의 http, server, location 간 의 관 계 는?http * 81955 ° 탭 은 주로 사용자 의 요청 과 응답 을 해결 하 는 데 사 용 됩 니 다.server * 8195 ° 라벨 은 주로 구체 적 인 특정한 사이트 에 응답 하 는 데 사 용 됩 니 다.location 은 주로 사이트 의 구체 적 인 url 경 로 를 일치 시 키 는 데 사 용 됩 니 다.
http {} 층 아래 에 여러 개의 Server {} 를 허용 하고 여러 개의 사 이 트 를 가 질 수 있 습 니 다. 하나의 Server {} 아래 에 여러 개의 location {} 을 허용 합 니 다. 각 사이트 의 uri 경로 가 다 르 기 때문에 각각 일치 해 야 합 니 다.
6. Nginx 게임 사이트 구축
(1) 이전 기본 사이트 주석 지우 기 [root@web01 html]# cd /etc/nginx/conf.d/ [root@web01 conf.d]# gzip default.conf
(2). 게임 사이트 Nginx 프로필 작성
[root@web01 conf.d]# cat game.oldxu.com.conf
server {
listen 80; ( )
server_name game.oldxu.com; ( )
location / {
root /code;
index index.html;
}
}
(3) Nginx 설정 파일 에 따라 초기 화 [root@web01 conf.d]# mkdir /code
(4) 업로드 코드 [root@web01 conf.d]# cd /code/ [root@web01 code]# rz html5.zip [root@web01 code]# unzip html5.zip
(5) 검 측 문법 [root@web01 code]# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
(6) 과부하 서비스 [root@web01 code]# systemctl restart nginx
(7) 도 메 인 이름 분석 C: \ \ Windows \ System 32 \ 드라이버 \ etc \ \ 호스트 편집 hosts - ip 주소 + 도 메 인 이름 설정
8. Nginx 접근 의 전체 프로 세 스
http:// game.oldxu.com / game/yibihua/index.html
요청 한 uri: / game / yibihua / index. html 실제 맵 위치: / code / game / yibihua / index. html
9. Nginx 여러 게임 사이트 구축 - > 가상 호스트
:
Nginx 가상 호스트 설정 은 다음 과 같은 세 가지 방식 이 있 습 니 다. 방식 1. 호스트 기반 다 중 IP 방식 10.0.0.7 172.16.1.7 방식 2. 포트 기반 설정 방식 80 81 82 83 방식 3. 이름 기반 방식 (다 중 도 메 인 이름 방식) test 1 test 2 test 3.
방식 1. 호스트 기반 다 중 IP 방식
[root@web01 conf.d]# cat ip_eth0.conf
server {
listen 10.0.0.7:80;
location / {
root /ip1;
index index.html;
}
}
server {
listen 172.16.1.7:80;
location / {
root /ip2;
index index.html;
}
}
[root@web01 conf.d]# mkdir /ip1 /ip2
[root@web01 conf.d]# echo "10...." > /ip1/index.html
[root@web01 conf.d]# echo "172...." > /ip2/index.html
[root@web01 conf.d]# systemctl restart nginx
[root@web01 ~]# curl http://10.0.0.7
10....
[root@web01 ~]# curl http://172.16.1.7
172....
방식 2. 포트 기반 설정 방식 81 82 83 회사 내부 에 여러 개의 시스템 이 있 습 니 다. 한 서버 에 배치 하고 싶 습 니 다. 내부 네트워크 에는 도 메 인 이름 이 없습니다. 그래서 우 리 는 같은 IP, 서로 다른 포트 를 통 해 서로 다른 사이트 페이지 를 방문 할 수 있 습 니 다.
[root@web01 conf.d]# cat port.conf
server {
listen 81;
location / {
root /81;
index index.html;
}
}
server {
listen 82;
location / {
root /82;
index index.html;
}
}
server {
listen 83;
location / {
root /83;
index index.html;
}
}
[root@web01 conf.d]# mkdir /81 /82 /83
[root@web01 conf.d]# echo "81" > /81/index.html
[root@web01 conf.d]# echo "82" > /82/index.html
[root@web01 conf.d]# echo "83" > /83/index.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.