Nginx 입문 부터 정통 까지
Nginx 개요:
1. nginx 가 무엇 입 니까?
Nginx 는 고성능 http 서버 / 리 버스 프 록 시 및 이메일 (IMAP / POP 3) 프 록 시 서버 입 니 다.러시아의 프로그램 디자이너 Igor Sysoev 가 개발 한 공식 테스트 nginx 는 5 만 개의 병렬 링크 를 지탱 할 수 있 고 cpu, 메모리 등 자원 소모 가 매우 낮 으 며 운행 이 매우 안정 적 입 니 다.
2. 응용 장면
http 서버: Nginx 는 http 서 비 스 를 독립 적 으로 제공 할 수 있 는 http 서비스 입 니 다.웹 페이지 정적 서버 를 만 들 수 있 습 니 다.
가상 호스트: 한 서버 에서 여러 사 이 트 를 가상 으로 만 들 수 있 습 니 다.예 를 들 어 개인 사이트 에서 사용 하 는 가상 호스트.
역방향 프 록 시, 부하 균형: 사이트 의 방 문 량 이 어느 정도 에 이 르 면 한 대의 서버 가 사용자 의 요 구 를 만족 시 키 지 못 할 때 여러 대의 서버 클 러 스 터 를 사용 하여 nginx 를 역방향 프 록 시 로 할 수 있 습 니 다.또한 여러 대의 서버 는 평균 적 으로 부 하 를 분담 할 수 있 으 며, 한 서버 의 부하 가 높 아 지연 되 지 않 아 한 서버 가 방치 되 어 있 는 경우 도 없다.
Nginx 설치:
yum 설치
yum -y install nginx
수 동 설치
요구 되 는 설치 환경
gcc 를 설치 할 환경 이 필요 합 니 다.
yum install gcc-c++
제3자 개발 가방.
PCRE
PCRE (Perl Compatible Regular Expressions) 는 perl 호 환 을 포함 한 정규 표현 식 라 이브 러 리 입 니 다.nginx 의 http 모듈 은 pcre 를 사용 하여 정규 표현 식 을 해석 하기 때문에 Liux 에 pcre 라 이브 러 리 를 설치 해 야 합 니 다.
yum install -y pcre pcre-devel
주: pcre - devel 은 pcre 를 이용 하여 개발 한 2 차 개발 창고 입 니 다.nginx 도 이 라 이브 러 리 가 필요 합 니 다.
zlib
zlib 라 이브 러 리 는 여러 가지 압축 과 압축 을 푸 는 방식 을 제공 합 니 다. nginx 는 zlib 를 사용 하여 http 패키지 의 내용 을 gzip 하기 때문에 Liux 에 zlib 라 이브 러 리 를 설치 해 야 합 니 다.
yum install -y zlib zlib-devel
openssl
OpenSSL 은 강력 한 보안 소켓 암호 라 이브 러 리 로 주요 암호 알고리즘, 자주 사용 하 는 키 와 인증서 패 키 징 관리 기능 및 SSL 프로 토 콜 을 포함 하고 테스트 나 다른 목적 으로 사용 할 수 있 는 다양한 응용 프로그램 을 제공 합 니 다.
nginx 는 http 프로 토 콜 뿐만 아니 라 https (즉 ssl 프로 토 콜 에서 http 전송) 도 지원 하기 때문에 Liux 에 openssl 라 이브 러 리 를 설치 해 야 합 니 다.
yum install -y openssl openssl-devel
설치 절차
첫 번 째 단계: nginx 의 소스 패 키 지 를 Liux 시스템 에 전달 합 니 다.
STEP 2: 압축 풀기
[root@localhost ~]# tar zxf nginx-1.8.0.tar.gz
세 번 째 단계: configure 명령 을 사용 하여 MakeFile 파일 을 만 듭 니 다.
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
메모: nginx 를 시작 하기 전에 위 에 임시 파일 디 렉 터 리 를 / var / temp / nginx 로 지정 합 니 다. / var 에서 temp 및 nginx 디 렉 터 리 를 만들어 야 합 니 다.
[root@localhost sbin]# mkdir /var/temp/nginx/client -p
STEP 4: make
STEP 5: make install
시작 nginx
sbin 디 렉 터 리 에 들 어가 기
[root@localhost sbin]# ./nginx
nginx 닫 기:
[root@localhost sbin]# ./nginx -s stop
추천 사용:
[root@localhost sbin]# ./nginx -s quit
nginx 다시 시작:
먼저 닫 고 시작 합 니 다.
프로필 새로 고침:
[root@localhost sbin]# ./nginx -s reload
Nginx 프로필:
http 내 server 노드 기본 설정:
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
SSL 설정:
server
{
listen 80 default_server;
listen 443 ssl http2;
server_name xxx.cn ip www.xxx.cn;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/xxx.cn;
#SSL-START SSL , 404
#error_page 404/404.html;
ssl_certificate /etc/letsencrypt/live/xxx.cn/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/xxx.cn/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
error_page 497 https://$host$request_uri;
limit_conn perserver 300;
limit_conn perip 25;
limit_rate 512k;
#SSL-END
#ERROR-PAGE-START , 、
error_page 404 /404.html;
error_page 502 /502.html;
#ERROR-PAGE-END
#PHP-INFO-START PHP ,
include enable-php-56.conf;
#PHP-INFO-END
#REWRITE-START URL ,
include /www/server/panel/vhost/rewrite/xxx.cn.conf;
#REWRITE-END
#
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
{
return 404;
}
# SSL
location ~ \.well-known{
allow all;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
error_log off;
access_log off;
}
location ~ .*\.(js|css)?$
{
expires 12h;
error_log off;
access_log off;
}
access_log /www/wwwlogs/xxx.cn.log;
error_log /www/wwwlogs/xxx.cn.error.log;
}
tomcat 설정 전달
#user nobody;
worker_processes 2;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 2048;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
index index.jsp index.html;
root /yjdata/www/www/;
location ~ .* {
proxy_pass http://127.0.0.1:8080;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SSR 배포 전략 with EC2, CloudFront, pm2, NGINX (2)Ubuntu에서 기존의 http의 80번 포트로 리다이렉트할 수 있지만, 추가적으로 도메인을 등록하고 HTTPS 설정 등을 위해 NGINX를 사용해볼 것이다. 도메인을 등록하기 위해 AWS Route 53을 검색하고...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.