Nginx 서버 설치 상세 정보 및 설정: 역방향 프 록 시 + 동정 분리 + 부하 균형 + keepalived 높 은 사용 가능
1. 스트레스 부터 푼다
[root@Master nginx-1.8.1]# tar -zxvf nginx-1.8.1.tar.gz -C /usr/local/src/ (/ usr / local / src / 여러분 이 약속 한 디 렉 터 리 입 니 다)
2. nginx 소스 디 렉 터 리 에 들 어가 기
[root@Master ~]# cd /usr/local/src/ [root@Mastersrc] \ # ll 총 용량 4 drwxr - xr - x. 8 hadop hadop 4096 1 월 26 2016 nginx-1.8.1 [root@Master src]# cd nginx-1.8.1/ [root@Masternginx - 1.8.1] \ # ll 총 용량 644 drwxr - xr - x. 6 hadop hadop 4096 4 월 13: 22 auto - rw - r -- r - -. 1 hadop hadop 251319 1 월 26 2016 CHANGE - rw - r -- r -. 1 hadop hadop 383019 1 월 26 2016 CHANGES.ru drwxr-xr-x. 2 hadoop hadoop 4096 4 월 30 13:22 conf -rwxr-xr-x. 1 hadoop hadoop 2478 1 월 26 2016 configure drwxr-xr-x. 4 hadoop hadoop 68 4 월 30 13:22 contrib drwxr-xr-x. 2 hadoop hadoop 38 4 월 30 13:22 html -rw-r--r--. 1 hadoop hadoop 1397 1 월 26 2016 LICENSE drwxr-xr-x. 2 hadoop hadoop 20 4 월 30 13:22 man -rw-r--r--. 1 hadoop hadoop 49 1 월 26 2016 README drwxr-xr-x. 8 hadoop hadoop 71 4 월 30 13:22 src
3. 설치 환경 을 확인 하고 앞으로 설치 할 경 로 를 지정 합 니 다.
[root@Master nginx-1.8.1]# ./configure --prefix=/usr/local/nginx
설치 환경 을 검사 하 는 데 성공 한 것 은 다음 과 같다.
Configuration summary + using system PCRE library + OpenSSL library is not used + using builtin md5 code + sha1 library is not found + using system zlib library nginx path prefix: "/usr/local/nginx" nginx binary file: "/usr/local/nginx/sbin/nginx" nginx configuration prefix: "/usr/local/nginx/conf" nginx configuration file: "/usr/local/nginx/conf/nginx.conf" nginx pid file: "/usr/local/nginx/logs/nginx.pid" nginx error log file: "/usr/local/nginx/logs/error.log" nginx http access log file: "/usr/local/nginx/logs/access.log" nginx http client request body temporary files: "client_body_temp" nginx http proxy temporary files: "proxy_temp" nginx http fastcgi temporary files: "fastcgi_temp" nginx http uwsgi temporary files: "uwsgi_temp" nginx http scgi temporary files: "scgi_temp"
원본 코드 의 설 치 는 일반적으로 세 단계 로 구성 된다. 설정 (configure), 컴 파일 (make), 설치 (make install).
Configure 는 실행 가능 한 스 크 립 트 입 니 다. 설치 할 원본 경로 에서 명령 을 사용 합 니 다. / configure – help 출력 자세 한 옵션 목록 입 니 다.
그 중에서 -- prefix 옵션 은 설 치 된 경 로 를 설정 하 는 것 입 니 다. 이 옵션 을 설정 하지 않 으 면 설치 후 실행 가능 한 파일 은 기본적으로 / usr / local / bin 에 두 고 라 이브 러 리 파일 은 기본적으로 / usr / local / lib 에 두 며 설정 파일 은 기본적으로 / usr / local / etc 에 두 고 다른 자원 파일 은 / usr / local / share 에 두 어 어수선 합 니 다.
설정 -- prefix, 예:
可以把所有资源文件放在/usr/local/test的路径中,不会杂乱。
- ./configure --prefix=/usr/local/test
用了—prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。
当然要卸载程序,也可以在原来的make目录下用一次make uninstall,但前提是make文件指定过uninstall
4.使用yum安装缺少的包
5.编译安装
make&&make install
安装完成后测试是否正常
1.进入/usr/local/nginx/bin目录
2.启动nginx脚本文件
[root@Master sbin]# ./nginx
3.查看端口是否有nginx进程监听(80端口) [root@Master sbin]# netstat -ntlp Active Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 32829/mysqld tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1488/nginx: master tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 2533/dnsmasq tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1293/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1290/cupsd tcp6 0 0 :::8009 :::* LISTEN 41740/java tcp6 0 0 :::8080 :::* LISTEN 41740/java tcp6 0 0 :::22 :::* LISTEN 1293/sshd tcp6 0 0 127.0.0.1:8005 :::* LISTEN 41740/java
反向代理配置
[root@Master conf]# vi nginx.conf
配置nginx.conf的配置文件
server { listen 80; server_name Master; #nginx所在服务器的主机名 #charset koi8-r; #access_log logs/host.access.log main; #反向代理的配置 location / { #拦截所有请求 root html; proxy_pass http://192.168.0.21:8080; #这里是代理走向的目标服务器:tomcat }
动静分离
#动态资源 index.jsp
location ~ .*\.(jsp|do|action)$ { # proxy_pass http://192.168.0.21:8080; #}
#静态资源
location ~ .*\.(html|js|css|gif|jpg|jpng|png)$ { (~表示大小写敏感,.表示任何非回车字符,*表示多个或0个,\.表示.)
expires 3d; # 3
}
부하 균형
upstream 후의 이름 은 마음대로 지 을 수 있 지만 location 의 proxypass http: / / 후의 일치 유지
http { upstream tomcats { server Master:8080 weight=1; server Slave1:8080 weight=1; server Slave2:8080 weight=1; }
location ~ .*\.(jsp|do|action)$ { # proxy_pass http://tomcats; #tomcats 는 뒤쪽 tomcat 서버 그룹의 논리 적 그룹 번호 입 니 다. #}
}
keepalived 를 이용 하여 높 은 신뢰성 실현 (HA)
1. keepalived 설치
2. keepalived 를 시스템 서비스 에 추가 합 니 다 (service 호출 가능)
[root@Master local]# cp /usr/local/keepalived/sbin/keepalived /usr/sbin/ [root@Master local]# cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived [root@Master local]# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ [root@Master local]# mkdir -p /etc/keepalived [root@Master local]# cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf [root@Master local]# chmod +x /etc/init.d/keepalived
3. keepalived 를 시작 할 때 까지 추가
[root@Master local]# chkconfig --add keepalived [root@Master local]# chkconfig keepalived on
keepalived 가상 IP 설정
프로필 들 어가 기
[root@Master local]# vi /etc/keepalived/keepalived.conf
\ # Master 노드 설정
vrrp_instance VI_1 { state MASTER #A 노드 를 주 노드 로 지정 하고 예비 노드 를 BACKUP 으로 설정 하면 됩 니 다. interface eth0 #가상 IP 를 연결 하 는 네트워크 인터페이스 virtual_router_id 51 #VRRP 그룹 이름, 두 노드 는 같은 그룹 에 속 하 는 것 을 가리 키 기 위해 같 아야 합 니 다. priority 100 #주 노드 의 우선 순위 (1 - 254 사이), 예비 노드 는 반드시 주 노드 의 우선 순위 가 낮 아야 합 니 다.
advert_int 1 #멀티캐스트 정보 전송 간격, 두 노드 설정 이 같 아야 합 니 다. authentication { #인증 정보 설정 auth_type PASS auth_pass 1111 } virtual_ipaddress { #가상 IP 를 지정 합 니 다. 두 노드 설정 과 마찬가지 로 Ngnix 서버 와 같은 네트워크 에 속 해 야 합 니 다. 192.168.200.16 192.168.200.17 192.168.200.18 } }
기계 에 있 는 keepalived 를 시작 합 니 다.
service keepalived start
여러 ip 보기 ip addr
keepalived 심장 박동 검사 설정
프로필 들 어가 기
[root@Master local]# vi /etc/keepalived/keepalived.conf
원리:
keepalived 는 nginx 와 결합 하지 않 습 니 다. 둘 은 전혀 가족 이 아 닙 니 다.
그러나 keepalived 는 시스템 을 제공 합 니 다. 사용자 가 셸 스 크 립 트 를 사용자 정의 하여 사용자 의 프로그램 을 검사 하고 상 태 를 keepalived 에 게 되 돌려 주면 됩 니 다.
vrrp_script chk_health{ script "|| ps -ef | grep nginx | grep -v grep | wc -l -ge 2||&& exit 0 || exit 1" interval 1 #위의 스 크 립 트 를 1 초 간격 으로 실행 하고 ngnix 프로그램 을 검사 합 니 다. weight -2 #1, 즉 지연 이 발생 했 을 때, weight - 2 를 되 돌려 줍 니 다. } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } track_script{ #추적 스 크 립 트 chk_health }
#ngnix 사용자 프로그램 을 관리 합 니 다. ngnix 가 다운 된 후에 다시 시작 할 수 없습니다.
notify_master "/usr/local/keepalived/sbin/notify.sh master" (Master 가 됨)
notify_backup "/usr/local/keepalived/sbin/notify.sh backup" (백업 이 됨)
notify_fault "/usr/local/keepalived/sbin/notify.sh fault" (이상 발생)
/ usr / local / keepalived / sbin 으로 전환 하여 스 크 립 트 notify. sh 를 만 들 고 직접 작성 합 니 다.
case “$1” in
master)
/usr/local/keepalived/sbin/nginx
exit 0
::
backup)
/usr/local/keepalived/sbin/nginx -s stop
/usr/local/keepalived/sbin/nginx
exit 0
::
fault)
/usr/local/keepalived/sbin/nginx -s stop
exit 0
::
*)
exit 1
::
esac
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램
안녕하세요 여러분,
이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다.
일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다.
1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
动静分离
#动态资源 index.jsp
location ~ .*\.(jsp|do|action)$ { # proxy_pass http://192.168.0.21:8080; #}
#静态资源
location ~ .*\.(html|js|css|gif|jpg|jpng|png)$ { (~表示大小写敏感,.表示任何非回车字符,*表示多个或0个,\.表示.)
expires 3d; # 3
}
부하 균형
upstream 후의 이름 은 마음대로 지 을 수 있 지만 location 의 proxypass http: / / 후의 일치 유지
http { upstream tomcats { server Master:8080 weight=1; server Slave1:8080 weight=1; server Slave2:8080 weight=1; }
location ~ .*\.(jsp|do|action)$ { # proxy_pass http://tomcats; #tomcats 는 뒤쪽 tomcat 서버 그룹의 논리 적 그룹 번호 입 니 다. #}
}
keepalived 를 이용 하여 높 은 신뢰성 실현 (HA)
1. keepalived 설치
2. keepalived 를 시스템 서비스 에 추가 합 니 다 (service 호출 가능)
[root@Master local]# cp /usr/local/keepalived/sbin/keepalived /usr/sbin/ [root@Master local]# cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived [root@Master local]# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ [root@Master local]# mkdir -p /etc/keepalived [root@Master local]# cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf [root@Master local]# chmod +x /etc/init.d/keepalived
3. keepalived 를 시작 할 때 까지 추가
[root@Master local]# chkconfig --add keepalived [root@Master local]# chkconfig keepalived on
keepalived 가상 IP 설정
프로필 들 어가 기
[root@Master local]# vi /etc/keepalived/keepalived.conf
\ # Master 노드 설정
vrrp_instance VI_1 { state MASTER #A 노드 를 주 노드 로 지정 하고 예비 노드 를 BACKUP 으로 설정 하면 됩 니 다. interface eth0 #가상 IP 를 연결 하 는 네트워크 인터페이스 virtual_router_id 51 #VRRP 그룹 이름, 두 노드 는 같은 그룹 에 속 하 는 것 을 가리 키 기 위해 같 아야 합 니 다. priority 100 #주 노드 의 우선 순위 (1 - 254 사이), 예비 노드 는 반드시 주 노드 의 우선 순위 가 낮 아야 합 니 다.
advert_int 1 #멀티캐스트 정보 전송 간격, 두 노드 설정 이 같 아야 합 니 다. authentication { #인증 정보 설정 auth_type PASS auth_pass 1111 } virtual_ipaddress { #가상 IP 를 지정 합 니 다. 두 노드 설정 과 마찬가지 로 Ngnix 서버 와 같은 네트워크 에 속 해 야 합 니 다. 192.168.200.16 192.168.200.17 192.168.200.18 } }
기계 에 있 는 keepalived 를 시작 합 니 다.
service keepalived start
여러 ip 보기 ip addr
keepalived 심장 박동 검사 설정
프로필 들 어가 기
[root@Master local]# vi /etc/keepalived/keepalived.conf
원리:
keepalived 는 nginx 와 결합 하지 않 습 니 다. 둘 은 전혀 가족 이 아 닙 니 다.
그러나 keepalived 는 시스템 을 제공 합 니 다. 사용자 가 셸 스 크 립 트 를 사용자 정의 하여 사용자 의 프로그램 을 검사 하고 상 태 를 keepalived 에 게 되 돌려 주면 됩 니 다.
vrrp_script chk_health{ script "|| ps -ef | grep nginx | grep -v grep | wc -l -ge 2||&& exit 0 || exit 1" interval 1 #위의 스 크 립 트 를 1 초 간격 으로 실행 하고 ngnix 프로그램 을 검사 합 니 다. weight -2 #1, 즉 지연 이 발생 했 을 때, weight - 2 를 되 돌려 줍 니 다. } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } track_script{ #추적 스 크 립 트 chk_health }
#ngnix 사용자 프로그램 을 관리 합 니 다. ngnix 가 다운 된 후에 다시 시작 할 수 없습니다.
notify_master "/usr/local/keepalived/sbin/notify.sh master" (Master 가 됨)
notify_backup "/usr/local/keepalived/sbin/notify.sh backup" (백업 이 됨)
notify_fault "/usr/local/keepalived/sbin/notify.sh fault" (이상 발생)
/ usr / local / keepalived / sbin 으로 전환 하여 스 크 립 트 notify. sh 를 만 들 고 직접 작성 합 니 다.
case “$1” in
master)
/usr/local/keepalived/sbin/nginx
exit 0
::
backup)
/usr/local/keepalived/sbin/nginx -s stop
/usr/local/keepalived/sbin/nginx
exit 0
::
fault)
/usr/local/keepalived/sbin/nginx -s stop
exit 0
::
*)
exit 1
::
esac
expires 3d; # 3
}
부하 균형
upstream 후의 이름 은 마음대로 지 을 수 있 지만 location 의 proxypass http: / / 후의 일치 유지
http { upstream tomcats { server Master:8080 weight=1; server Slave1:8080 weight=1; server Slave2:8080 weight=1; }
location ~ .*\.(jsp|do|action)$ { # proxy_pass http://tomcats; #tomcats 는 뒤쪽 tomcat 서버 그룹의 논리 적 그룹 번호 입 니 다. #}
}
keepalived 를 이용 하여 높 은 신뢰성 실현 (HA)
1. keepalived 설치
2. keepalived 를 시스템 서비스 에 추가 합 니 다 (service 호출 가능)
[root@Master local]# cp /usr/local/keepalived/sbin/keepalived /usr/sbin/ [root@Master local]# cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived [root@Master local]# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ [root@Master local]# mkdir -p /etc/keepalived [root@Master local]# cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf [root@Master local]# chmod +x /etc/init.d/keepalived
3. keepalived 를 시작 할 때 까지 추가
[root@Master local]# chkconfig --add keepalived [root@Master local]# chkconfig keepalived on
keepalived 가상 IP 설정
프로필 들 어가 기
[root@Master local]# vi /etc/keepalived/keepalived.conf
\ # Master 노드 설정
vrrp_instance VI_1 { state MASTER #A 노드 를 주 노드 로 지정 하고 예비 노드 를 BACKUP 으로 설정 하면 됩 니 다. interface eth0 #가상 IP 를 연결 하 는 네트워크 인터페이스 virtual_router_id 51 #VRRP 그룹 이름, 두 노드 는 같은 그룹 에 속 하 는 것 을 가리 키 기 위해 같 아야 합 니 다. priority 100 #주 노드 의 우선 순위 (1 - 254 사이), 예비 노드 는 반드시 주 노드 의 우선 순위 가 낮 아야 합 니 다.
advert_int 1 #멀티캐스트 정보 전송 간격, 두 노드 설정 이 같 아야 합 니 다. authentication { #인증 정보 설정 auth_type PASS auth_pass 1111 } virtual_ipaddress { #가상 IP 를 지정 합 니 다. 두 노드 설정 과 마찬가지 로 Ngnix 서버 와 같은 네트워크 에 속 해 야 합 니 다. 192.168.200.16 192.168.200.17 192.168.200.18 } }
기계 에 있 는 keepalived 를 시작 합 니 다.
service keepalived start
여러 ip 보기 ip addr
keepalived 심장 박동 검사 설정
프로필 들 어가 기
[root@Master local]# vi /etc/keepalived/keepalived.conf
원리:
keepalived 는 nginx 와 결합 하지 않 습 니 다. 둘 은 전혀 가족 이 아 닙 니 다.
그러나 keepalived 는 시스템 을 제공 합 니 다. 사용자 가 셸 스 크 립 트 를 사용자 정의 하여 사용자 의 프로그램 을 검사 하고 상 태 를 keepalived 에 게 되 돌려 주면 됩 니 다.
vrrp_script chk_health{ script "|| ps -ef | grep nginx | grep -v grep | wc -l -ge 2||&& exit 0 || exit 1" interval 1 #위의 스 크 립 트 를 1 초 간격 으로 실행 하고 ngnix 프로그램 을 검사 합 니 다. weight -2 #1, 즉 지연 이 발생 했 을 때, weight - 2 를 되 돌려 줍 니 다. } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } track_script{ #추적 스 크 립 트 chk_health }
#ngnix 사용자 프로그램 을 관리 합 니 다. ngnix 가 다운 된 후에 다시 시작 할 수 없습니다.
notify_master "/usr/local/keepalived/sbin/notify.sh master" (Master 가 됨)
notify_backup "/usr/local/keepalived/sbin/notify.sh backup" (백업 이 됨)
notify_fault "/usr/local/keepalived/sbin/notify.sh fault" (이상 발생)
/ usr / local / keepalived / sbin 으로 전환 하여 스 크 립 트 notify. sh 를 만 들 고 직접 작성 합 니 다.
case “$1” in
master)
/usr/local/keepalived/sbin/nginx
exit 0
::
backup)
/usr/local/keepalived/sbin/nginx -s stop
/usr/local/keepalived/sbin/nginx
exit 0
::
fault)
/usr/local/keepalived/sbin/nginx -s stop
exit 0
::
*)
exit 1
::
esac
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.