nginx 부하 균형 노트 TCP 긴 연결 유지
6998 단어 수송 하 다.
다음 오류 가 발생 했 습 니 다: nginx: [error] open () "/ usr / local / nginx / logs / nginx. pid" failed (2: 그러한 파일 이나 디렉토리 가 없습니다)
이것 을 실행 하면 해결 할 수 있 습 니 다: / usr / local / nginx / sbin / nginx - c / usr / local / nginx / conf / nginx. conf
nginx 사용자 정의 부하 균형 노트:
특별 알림: 1 - 4 단계 가 존재 하면 다운로드 할 필요 가 없습니다.
설치 에 필요 한 환경
Nginx 는 C 언어 개발 로 리 눅 스에 서 실행 을 권장 하 며, 물론 윈도 버 전도 설치 할 수 있 으 며, 이 편 은 CentOS 7 을 설치 환경 으로 사용한다.
1. gcc 설치 nginx 는 홈 페이지 에서 다운로드 한 원본 코드 를 컴 파일 하고 gcc 환경 에 의존 하 며 gcc 환경 이 없 으 면 설치 해 야 합 니 다: yum install gcc - c +
2. PCRE pcre - devel 설치 PCRE (Perl Compatible Regular Expressions) 는 perl 호 환 을 포함 한 정규 표현 식 라 이브 러 리 입 니 다.nginx 의 http 모듈 은 pcre 를 사용 하여 정규 표현 식 을 해석 하기 때문에 Liux 에 pcre 라 이브 러 리 를 설치 해 야 합 니 다. pcre - devel 은 pcre 를 사용 하여 개발 한 2 차 개발 라 이브 러 리 입 니 다.nginx 도 이 라 이브 러 리 가 필요 합 니 다.명령: yum install - y pcre pcre - devel
3. zlib 설치 zlib 라 이브 러 리 는 여러 가지 압축 과 압축 을 푸 는 방식 을 제공 합 니 다. nginx 는 zlib 를 사용 하여 http 패키지 의 내용 을 gzip 하기 때문에 Centos 에 zlib 라 이브 러 리 를 설치 해 야 합 니 다.yum install -y zlib zlib-devel
4. OpenSSL 설치 / / 이것 은 https 프로 토 콜 OpenSSL 을 지원 하기 위 한 강력 한 보안 소켓 암호 라 이브 러 리 입 니 다. 주요 암호 알고리즘, 자주 사용 하 는 키 와 인증서 패 키 징 관리 기능 과 SSL 프로 토 콜 을 포함 하고 테스트 나 다른 목적 으로 사용 할 수 있 는 다양한 응용 프로그램 을 제공 합 니 다.nginx 는 http 프로 토 콜 뿐만 아니 라 https (즉 ssl 프로 토 콜 에서 http 전송) 도 지원 하기 때문에 Centos 에 OpenSSL 라 이브 러 리 를 설치 해 야 합 니 다.yum install -y openssl openssl-devel
nginx 설치 패키지 다운로드: wgethttp://nginx.org/download/nginx-1.7.2.tar.gz 설치 패키지 tcp 지원 설치 패키지:https://github.com/yaoweibin/nginx_tcp_proxy_module/archive/master.zip
스트레스 를 풀다
:
tar -zxvf nginx-1.7.2.tar.gz
6. 설정, 컴 파일 설 치 는 먼저 압축 을 푸 는 nginx 디 렉 터 리 에 들 어 갑 니 다 (저 는 / alidata / server / nginx 디 렉 터 리 에 있 습 니 다) 1. TCP 서비스 patch - p1 < / mingshine / nginx 를 추가 합 니 다.tcp_proxy_module-master/tcp.patch 1、 ./configure --add-module=/mingshine/nginx_tcp_proxy_module - master / (특히 알림: TCP 퍼 가기 와 HTTPS 를 사용 해 야 하기 때문에 이 명령 을 사용 해 야 합 니 다. 필요 하지 않 으 면... / configure 라 는 명령 을 사용 하면 됩 니 다. 하지만 우 리 는 설정 을 내 려 야 합 니 다. 어쨌든 있 는 것 이 없 는 것 보다 좋 습 니 다)이 오 류 를 보고 하면:. / configure: error: SSL 모듈 은 OpenSSL 라 이브 러 리 를 필요 로 합 니 다. 모듈 을 사용 하지 않도록 설정 하거나 OpenSSL 라 이브 러 리 를 시스템 에 설치 하거나 nginx 를 사용 하여 소스 에서 정적 으로 OpenSSL 라 이브 러 리 를 빌 드 할 수 있 습 니 다 -- with - openssl = option.
openssl yum remove openssl-devel
2、make 3、make install
설치 경로 찾기: whereis nginx
이상 저 희 는 nginx 서 비 스 를 설치 한 셈 입 니 다. 지금 설정 이 필요 합 니 다.
1. nginx 가 자동 으로 작 동 합 니 다.
rc.local 。
vi /etc/rc.local
/usr/local/nginx/sbin/nginx
:( /etc )
chmod 755 rc.local
2. nginx 명령 은 다음 과 같 습 니 다.
cd /usr/local/nginx/sbin/ ( nginx )
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
./nginx -s quit: nginx 。
./nginx -s stop: nginx id kill 。
nginx :
ps aux|grep nginx
두 번 째 단계: nginx. cof 설정 (내 디 렉 터 리 는: / usr / local / nginx / conf)
https 리 트 윗 을 지원 해 야 하기 때문에 우 리 는 작업 을 해 야 합 니 다: 연결:http://www.cnblogs.com/saneri/p/5391821.html
1. 우선 기계 에 openssl 과 openssl - devel 이 설치 되 어 있 는 지 확인 합 니 다. 이것 은 우리 가 이미 설치 되 어 있 기 때문에 무시 할 수 있 습 니 다. \ # yum install openssl \ # yum install openssl - devel
2. 서버 비밀 키 를 만 듭 니 다. 명령 은 암 호 를 입력 하 게 합 니 다: openssl genrsa - des 3 - out server. key
3. 서명 요청 인증서 만 들 기 (CSR): openssl req - new - key server. key - out server. csr
4. SSL 이 지원 하 는 Nginx 를 불 러 오고 상기 비밀 키 를 사용 할 때 필요 한 암 호 를 제거 합 니 다: cp server. key server. key. org openssl rsa - in server. key. org - out server. key
5. nginx 마지막 태그 인증 서 를 설정 하려 면 상기 비밀 키 와 CSR: openssl x509 - req - days 365 - in server. csr - signkey server. key - out server. crt 를 사용 하 십시오.
내 설정 정 보 는 다음 과 같다.
#==================================================================================================
#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;
events { worker_connections 1024; }
tcp { timeout 1d; proxy_read_timeout 10d; proxy_send_timeout 10d; proxy_connect_timeout 30; upstream ssh_116 { # simple round-robin server 127.0.0.1:9797; server 10.30.90.111:9797; check interval=3000 rise=2 fall=5 timeout=1000; #check interval=3000 rise=2 fall=5 timeout=1000 type=ssl_hello; #check interval=3000 rise=2 fall=5 timeout=1000 type=http; #check_http_send “GET / HTTP/1.0\r\r”; #check_http_expect_alive http_2xx http_3xx; } server { listen 63005; proxy_pass ssh_116; so_keepalive on; tcp_nodelay on; } }
http { include 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 logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
upstream servers.http.mingshine.com {
server 127.0.0.1:8080;
server 10.30.90.111:8080;
}
server{
listen 60180;
server_name http.mignshine.com;
location / {
proxy_pass http://servers.http.mingshine.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
upstream servers.https.mingshine.com {
server 127.0.0.1:9898;
server 127.0.0.1:8888;
}
server{
listen 60443;
server_name https.mingshine.com;
ssl on;
ssl_certificate /usr/local/nginx/sbin/server.crt;
ssl_certificate_key /usr/local/nginx/sbin/server.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass https://servers.https.mingshine.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
#==================================================================================================
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
셸 입문 부터 정통 한 for 순환 및 6 가지 난수 생 성 법순환 용 1. [문법 구조] 2. 문법 linux 에서 무 작위 수 를 만 드 는 여섯 가지 방법 방법 1: 방법 2: openssl 을 통 해 난수 생 성 방법 3: date 시간 을 통 해 얻 을 수 있 습 니 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.