IT형제회 풀스택 엔지니어 01반 6과 노트
> 본 과목의 중점: 인터넷 프로그래머의 길 - 서버 집단 구축, 관리, 신속한 배치.
부하 균형: 한 서비스가 감당하는 업무 스트레스가 너무 크면 여러 대의 서버를 사용하여 함께 협업해야 한다.
1. 서버 보안 관리
2. 프로젝트 팀 구성원이 가져야 할 서버 권한
3. 테스트 환경과 제품 환경을 각각 배치
4. 자동화된 배포
4개의 Ubuntu 가상 머신을 예로 들면 소규모 클러스터 구축:
이런 소규모 집단을 설치하면 수시로 서버 수량을 확장할 수 있다. 예를 들어 현재 서버의 부하가 매우 크면 언제든지 4대를 8대로 확대할 수 있고 신속하게 조작을 완성할 수 있다.
대규모 집단을 만드는 일반적인 상황에서 DNS 분석을 위한 서버를 따로 개설하는데 이런 서버를 DNS 서버라고 부른다.소규모 서버 집단을 구축하여 단독으로 서버 한 대를 꺼내 DNS 분석을 하기 때문에 자원을 낭비하기 때문에 다른 방식을 선택할 수 있다.DNS 확인 없이 서버의 hosts 파일을 설정할 수 있습니다.
첫 번째 단계는 각 서버의 이름을 지정합니다.
예를 들어 관리 서버로 MS라는 이름을 짓고, 데이터베이스 서버로 DB1이라는 이름을 짓고, 테스트 서버로 T1이라는 이름을 짓고, 마지막 서버로 P1이라는 이름을 짓는다.서버 호스트 이름 수정 Ubuntu 시스템의 파일은 다음과 같습니다./etc/hostname
수정이 끝난 후에 서버를 다시 시작하고 한 대씩 수정한 후에 두 번째 단계를 진행합니다.
두 번째 단계는 각 서버의 hosts 파일에서 ip를 설정합니다.
먼저 ifconfig
명령으로 각 서버의 IP 주소를 찾아서 기록합니다. :/etc/hosts
먼저 자신의 호스트 이름을 방금 새로 지은 이름으로 바꾸고 다른 몇 대의 서비스의 IP 주소와 지어진 호스트 이름을 여기에 기록합니다.한 대당 ping
명령으로 다른 서버를 테스트하여 다른 서버를 식별했는지 판단합니다.모두 설정된 후에 scp
명령을 사용하여 서버 간의 파일 전송을 직접 할 수 있습니다.예:scp aaa zhangsan@T1:/tmp/
이렇게 하면 현재 서비스의 이aaa 파일을 T1 서버의/tmp/디렉터리로 전송할 수 있습니다.
3단계 서버 구성원 보안 구성
제품 서버의 IP는 외부에 노출되어 있기 때문에 우리는 제품 서버, 테스트 서버, 데이터베이스 서버 등 제품 운영과 관련된 서비스의 비밀번호 로그인 옵션을 모두 끄겠습니다.하지만 끄면 서버에 로그인할 수 없습니다. 서버를 어떻게 관리해야 합니까?우리는 Linux가 ssh 서비스로 로그인하는 데 두 가지 모델이 있다는 것을 알고 있기 때문이다. 하나는 전통적인 암호 로그인이고, 다른 하나는 비밀 키 로그인이다.공개 키 로그인 방식으로 설정하면 비밀 키를 받아야만 서버에 로그인할 수 있고 다른 사람이 계정 비밀번호를 받아도 폭력적으로 해독할 수 없다.그러면 우선 모든 서비스에 ssh 서비스를 설치해야 합니다. 이렇게 하면 우리는 원격 클라이언트 도구로 서버에 연결하여 조작할 수 있습니다.이 네 서버 중 MS 서버만 원격 로그인할 수 있고 다른 서버는 네트워크 그룹에서만 로그인할 수 있습니다.그럼 어떤 환경을 설정해야 하나요?우리 관리자, 운영 엔지니어, 기술 총감독, 프로그래머는 단지 하나의 서버만 공사 로그인을 할 수 있다. 즉, 서버 집단 이외의 곳에서는 MS만 로그인할 수 있고, P1, T1, DB1은 내부 네트워크 집단을 통해서만 로그인할 수 있다.비밀 키 만들기 명령은 다음과 같습니다.ssh-keygen -t rsa
생성이 끝난 후 집 디렉터리에 숨겨진 디렉터리가 생성됩니다. 이 디렉터리에는 두 개의 파일이 있습니다. .ssh
개인 키, id_rsa
공개 키입니다.생성된 후에 우리는 공개 키를 각각 P1, T1, DB1 서버에 업로드하고 하나 만듭니다.ssh의 디렉터리가 들어갑니다.다음 명령을 사용합니다.cat ../id_rsa.pub >> authorized_keys
공개 키를 여기로 다시 지정합니다.그리고 서버를 재부팅하면 MS 서버로 다른 서버에 로그인할 수 있습니다.명령은 다음과 같습니다.ssh zhangsan@DB1
DB1 서버에 로그인하여 id_rsa.pub
명령을 사용하여 종료할 수 있습니다.이렇게 해서 SM이라는 서버로만 다른 서버를 관리할 수 있게 되었다.다음 마지막 단계는 다른 모든 서비스의 비밀번호를 닫는 것입니다. 필요하면 방화벽 규칙을 설정해서 랜 IP만 로그인할 수 있습니다.이렇게 하면 SM 서비스만 다른 서버에 로그인할 수 있습니다.암호 로그인 해제 옵션:/etc/ssh/sshd_config PasswordAuthentication
NO로 변경한 후 앞의 주석 열기 옵션을 엽니다.이렇게 하면 서비스의 암호 로그인 옵션을 닫습니다.설정이 끝난 후에 MS 서버에 미러 백업을 합니다. MS 서버가 고장나면 다른 서버에 로그인하여 관리할 수 없기 때문입니다.이렇게 하면 소규모 서버 집단의 기본 안전 설정이 완성된다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
/etc/hostname
:/etc/hosts
scp aaa zhangsan@T1:/tmp/
ssh-keygen -t rsa
cat ../id_rsa.pub >> authorized_keys
ssh zhangsan@DB1
/etc/ssh/sshd_config PasswordAuthentication
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.