Linux 에서 Nginx 1.8 설치
Nginx 1.8 ~ / usr / local 을 다운로드 하고 명령 을 보십시오.
$ tar xzf nginx-1.8.0.tar.gz
$ ./configure --prefix=/home/nginx/nginx
$ make
$ make install
설치 완료 후 nginx 폴 더 를 만 듭 니 다. cd 가 들 어가 서 sbin 디 렉 터 리 로 전환 합 니 다.
시작 명령
$ ./nginx
닫 기 명령:
$ ./nginx -s stop
우아 하 다
$ ./nginx -s reload
다음은 설정:
1. 역방향 에이전트 설정
배치 디 렉 터 리 아래 conf 하위 디 렉 터 리 의 nginx. conf 파일 (예 를 들 어 nginx - 1.5.13 \ \ confginx. conf) 내용 을 수정 하여 관련 설정 을 조정 할 수 있 습 니 다.
역방향 프 록 시 설정 예제:
location / {
# , IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#
proxy_buffering off;
#
proxy_pass http://192.168.1.1;
}
대리 주 소 는 실제 상황 에 따라 수정 된다.
2. 부하 균형 설정
nginx 의 upstream 은 기본적으로 폴 링 방식 으로 부하 균형 을 이 루 는 방식 입 니 다. 이 방식 에서 모든 요청 은 시간 순서에 따라 서로 다른 백 엔 드 서버 에 할당 되 고 백 엔 드 서버 다운 이 떨 어 지면 자동 으로 제거 할 수 있 습 니 다.
다른 방식 은 iphash: 모든 요청 은 ip 에 접근 하 는 hash 결과 에 따라 분 배 됩 니 다. 그러면 모든 방문객 이 백 엔 드 서버 에 고정 적 으로 접근 하면 session 문 제 를 해결 할 수 있 습 니 다.
부하 균형 설정 예시:
upstream test{
#ip_hash;
server 192.168.1.251;
server 192.168.1.252;
server 192.168.1.247;
}
server {
listen 80;
server_name helloword;
location / {
#
proxy_pass http://test;
}
}
Upstream 이름과 서버 주 소 는 실제 상황 에 따라 수 정 됩 니 다.
3. 부하 균형 + 역방향 에이전트 전체 설정 예제
nginx.conf:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream test{
#ip_hash;
server 192.168.1.251;
server 192.168.1.252;
server 192.168.1.247;
}
server {
listen 80;
server_name 2;
location / {
# , IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#
proxy_buffering off;
#
proxy_pass http://test;
}
}
}
4. 움직임 분리 설정
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream test {
#ip_hash;
server 192.168.1.251;
server 192.168.1.252;
server 192.168.1.247;
}
server {
listen 80;
server_name 2;
# Nginx , Nginx 。
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {
root /usr/local/nginx/html/myloan;
#expires 7 , , ,
expires 7d;
}
# jsp、do tomcat
location ~ (\.jsp)|(\.do)$ {
#tomcat
proxy_pass http://test;
proxy_redirect off;
proxy_set_header HOST $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
}
부록: nginx. conf 설정 상세 설명
#
user www-data;
# , cpu
worker_processes 1;
# PID
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
#
events {
use epoll; #epoll IO(I/O Multiplexing) , linux2.6 , nginx
worker_connections 1024;# worker process
# multi_accept on;
}
# http ,
http {
# mime , mime.type
include /etc/nginx/mime.types;
default_type application/octet-stream;
#
access_log /var/log/nginx/access.log;
#sendfile nginx sendfile (zero copy ) , ,
# on, IO , off, I/O , uptime.
sendfile on;
#tcp_nopush on;
#
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
# gzip
gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
#
client_header_buffer_size 1k;
large_client_header_buffers 4 4k;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
#
upstream mysvr {
#weigth ,
# Squid 3128
server 192.168.8.1:3128 weight=5;
server 192.168.8.2:80 weight=1;
server 192.168.8.3:80 weight=6;
}
server {
# 80
listen 80;
# www.xx.com
server_name www.xx.com;
#
access_log logs/www.xx.com.access.log main;
#
location / {
root /root; #
index index.php index.html index.htm; #
fastcgi_pass www.xx.com;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /root;
}
# ,nginx
location ~ ^/(images|javascript|js|css|flash|media|static)/ {
root /var/www/virtual/htdocs;
# 30 , , , , 。
expires 30d;
}
#PHP FastCGI . FastCGI .
location ~ \.php$ {
root /root;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/www/www$fastcgi_script_name;
include fastcgi_params;
}
# Nginx
location /NginxStatus {
stub_status on;
access_log on;
auth_basic "NginxStatus";
auth_basic_user_file conf/htpasswd;
}
# .htxxx
location ~ /\.ht {
deny all;
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.