AWS Ubuntu ec2 서버에 드라이브를 추가 세팅하는 방법을 알아보겠습니다.

AWS EBS Volumn을 추가하는 방법입니다.

 

1. EBS 볼륨 생성

륨 생성을 클릭 해줍니다.

연결 시킬 인스턴스 가용 영역을 선택해주세요.

2. 인스턴스 연결

볼륨 상태가 사용 가능으로 변하면 원하는 인스턴스에 볼륨 연결을 해줍니다.
EC2 > 스토리지에서 연결이 확인 되면
인스턴스 재부팅을 진행해주세요.

3. EBS 볼륨 연결 확인하기

$ lsblk # 파일 시스템 조회

lsblk 명령어로 새로 추가된 ebs 볼륨을 확인합니다.
Linux 커널로 인해 디바이스 이름이 변경이 될 수 있습니다.

4. EBS 볼륨을 파일시스탬 포맷하기

/dev/nvme0n1은 디렉토리가 아니여서 파일 시스템으로 포맷을 해주어야 쓸 수 있습니다.

$ sudo mkfs -t ext4 nvme0n1


5. EBS 볼륨 마운트 설정하기

마운트 작업이란 운영체제에 파일 시스템을 연결하는 것입니다.

(윈도우 E: 드라이브 처럼)

$ mkdir /backup
$ mount /dev/nvme0n1 /backup

저번 시간에는 aws ec2 centos linux에 MongoDB를 설치하기 위해

드라이브 공간을 추가해보는 작업을 진행하였습니다.
[linux] AWS Centos EBS Volume 추가하기 (tistory.com)

 

[linux] AWS Centos EBS Volume 추가하기

AWS Centos ec2 서버에 드라이브를 추가 세팅하여 MongoDB를 설치해보려고 합니다. 이에 앞서 EBS Volumn을 추가해보려고 합니다. 1. EBS 볼륨 생성 볼륨 생성을 클릭 해줍니다. 연결 시킬 인스턴스 가용 영

nitpick92.tistory.com

 

이어서 mongodb를 설치하는 방법을 알아보겠습니다.

https://www.mongodb.com/docs/v4.4/tutorial/install-mongodb-on-amazon/ 참고 하였습니다.

 

1. MongoDB 설치

# 파일 생성 후 내용 저장
https://www.mongodb.com/docs/v4.4/tutorial/install-mongodb-on-amazon/
# 해당 텍스트 붙혀넣기 후 저장
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
# 설치 시작
sudo yum install -y mongodb-org

2. MongoDB 데이터 삽입 공간 변경

# 빈 폴더 생성
sudo mkdir -p /xvdb/mongodb/data/mongo

# 추가 된 스토리지 경로로 설치된 mongo 폴더 카피
cp -ra /var/lib/mongo /xvdb/mongodb/data/mongo

# conf파일 열기
sudo vi /etc/mongod.conf

# 추가 된 스토리지 경로로 dbPath 변경
storage:
	dbPath: /xvdb/mongodb/data/mongo

# 외부에서 접속할 수 있도록 net 변경
net:
	port: 27017
    bindIp: 0.0.0.0

# 권한 부여
sudo chown mongod:mongod /xvdb/mongodb/data/mongo

3. MongoDB 시작

# MongoDB 실행 확인 (없는 거 확인)
ps -ef | grep mongo

# 몽고 디비 실행
sudo systemctl start mongod

# 몽고 디비 상태 확인
sudo systemctl status mongod

# 접속 확인
mongo 혹은 netstat -ano | grep mongo

 

4. 서버 방화벽 오픈

linux 서버 방화벽 오픈

linux CentOS 외부 접속(방화벽 오픈) 허용 (tistory.com)

 

linux CentOS 외부 접속(방화벽 오픈) 허용

# firewalld 설치 sudo yum install firewalld # firewalld 시작 sudo systemctl start firewalld sudo systemctl enable firewalld # port 추가 sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp # firewalld 재로드 sudo firewall-cmd --reload #

nitpick92.tistory.com

aws ec2 보안 그룹 설정 > 인바운드 규칙 > 27017

5. 외부 접속 확인

 

DB Enterprise Server Download | MongoDB

접속 확인

 

 

AWS Centos ec2 서버에 드라이브를 추가 세팅하여 MongoDB를 설치해보려고 합니다.

이에 앞서 EBS Volumn을 추가해보려고 합니다.

 

1. EBS 볼륨 생성

볼륨 생성을 클릭 해줍니다.

연결 시킬 인스턴스 가용 영역을 선택해주세요.

2. 인스턴스 연결

볼륨 상태가 사용 가능으로 변하면 원하는 인스턴스에 볼륨 연결을 해줍니다.
EC2 > 스토리지에서 연결이 확인 되면
인스턴스 재부팅을 진행해주세요.

3. EBS 볼륨 연결 확인하기

$ lsblk # 파일 시스템 조회

lsblk 명령어로 새로 추가된 ebs 볼륨을 확인합니다.
* Linux 커널로 인해 디바이스 이름이 변경이 될 수 있습니다.

4. EBS 볼륨을 파일시스탬 포맷하기

/dev/nvme1n1은 디렉토리가 아니여서 파일 시스템으로 포맷을 해주어야 쓸 수 있습니다.

# file -s <장치명>
$ file -s /dev/nvme1n1
# /dev/nvme1n1: data <- 파일시스템이 존재하지 않는다.
/dev/nvme1n1: data 확인
# 루트 권한 획득
$ sudo -s
# mkfs -t <볼륨타입> <볼륨장치명> -> 해당 볼륨을 파일시스템으로 포맷
$ mkfs -t ext4 /dev/nvme1n1

/dev/nvme1n1:  Linux rev 1.0 ext4 filesystem data 확인

5. EBS 볼륨 마운트 설정하기

마운트 작업이란 운영체제에 파일 시스템을 연결하는 것입니다.

(윈도우 E: 드라이브 처럼)

# 현재 파일시스템들의 UUID와 TYPE을 확인
$ blkid
UUID와 TYPE을 저장해줍니다.
$ vi /etc/fstab

UUID= "aaaaaaaa" /xvdb ext4 defaults,nofail 0 2 한 줄 추가해줍니다.
# /etc/fstab에 있는 파일시스템 전체를 mount
$ mount -a
# 리눅스 시스템 디스크 사용량 확인
$ df -h

연결 확인 완료

Putty version error

mremoteNG에서 linux 서버 ssh 접속을 할 때 해당 에러가 나올 때가 있습니다.
mremoteNG Unable to load key file (PuTTY key format too new)

putty version이 낮아서 생겨나는 오류입니다.

2가지 방법에 대해서 알아보겠습니다.

 

1. ppk version 낮추는 방법

Putty Key Generator
Key 메뉴 > Parameters for saving key files... 클릭
key 저장

ppk file 버전을 낮추는 방법을 알아보았습니다.

 

2. putty 버전을 올리는 방법

Download PuTTY: latest release (0.78) (greenend.org.uk)
putty를 0.75버전 이상을 사용하면 기존 ppk file를 그대로 사용할 수 있습니다.

https://nitpick92.tistory.com/17

 

[linux] centos nginx Reverse-Proxy 서버 만들기

https://nitpick92.tistory.com/11 [linux] centos7 yum nginx 삭제 및 설치 방법 centos 7 환경에서 nginx 삭제 후 재설치하는 방법에 대해서 알아보려고 합니다. 1. nginx 삭제 # 설치 여부 확인 yum list installed nginx # 삭

nitpick92.tistory.com

지난 시간에는 nginx를 Reverse-Proxy 서버로 사용하는 법을 알아보았습니다.

이어서 하나의 서버에서 여러 도메인을 관리할 수 있는 방법을 알아보겠습니다.

 

nginx multi port

1. nginx conf 파일 수정

# server1
server {
      # 들어오는 port
      listen       8080;
      server_name  localhost;

      error_page   500 502 503 504  /50x.html;
      location = /50x.html {
          root   /usr/share/nginx/html;
      }

      # 실제로 바라볼 port
      location / {
        proxy_pass http://127.0.0.1:9090;
      }
}

# server2
server {
      # 들어오는 port
      listen       8081;
      server_name  localhost;

      error_page   500 502 503 504  /50x.html;
      location = /50x.html {
          root   /usr/share/nginx/html;
      }

      # 실제로 바라볼 port
      location / {
        proxy_pass http://127.0.0.1:9091;
      }
}

2. nginx 서버를 재시작 해줍니다.

sudo systemctl restart nginx

https://nitpick92.tistory.com/11

 

[linux] centos7 yum nginx 삭제 및 설치 방법

centos 7 환경에서 nginx 삭제 후 재설치하는 방법에 대해서 알아보려고 합니다. 1. nginx 삭제 # 설치 여부 확인 yum list installed nginx # 삭제 yum remove {your_pakage_name} 2. nginx 설치 # 기본적으로 nginx를 제공

nitpick92.tistory.com

지난 시간에는 nginx를 설치하는 방법을 알아보았습니다.

 

docker green-blue 무중단 배포를 시도 하던 중 

Reverse-Proxy 서버 역할을 할 수 있는 그 무언가 필요하였습니다.

 

nginx를 Reverse-Proxy 서버로 사용할 수 있도록 세팅하는 방법에 대해 알아보겠습니다.

프록시 서버 이미지

ClientProxy Server에 요청을 하고
Proxy Server는 각 웹서버에 요청 후 받은 응답을
Client에 전달하는 구조 입니다.

1. nginx conf 파일 수정

  • 처음 세팅 시 default.conf를 바라보고 있는데  주석 처리를 해줍니다.
#include /etc/nginx/conf.d/*.conf;
  • server 관련 정보를 입력해줍니다.
server {
      # 들어오는 port
      listen       8080;
      server_name  localhost;

      error_page   500 502 503 504  /50x.html;
      location = /50x.html {
          root   /usr/share/nginx/html;
      }

      # 실제로 바라볼 port
      location / {
        proxy_pass http://127.0.0.1:9090;
      }
}

2. nginx 서버를 재시작 해줍니다.

sudo systemctl restart nginx
8080 포트로 들어오면 실제로는 9090포트를
바라보는 역할을 하도록 세팅을 완료하였습니다.

 

# firewalld 설치
sudo yum install firewalld

# firewalld 시작
sudo systemctl start firewalld
sudo systemctl enable firewalld

# port 추가
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp

#  firewalld  재로드
sudo firewall-cmd --reload

# firewalld 방화벽 리스트 확인
sudo firewall-cmd --list-all

 

외부에서 8080 포트로 접근할 수 있도록 방화벽을 열어주는 작업입니다.

centos 7 환경에서 nginx 삭제 후 재설치하는 방법에 대해서 알아보려고 합니다.

 

1. nginx 삭제

# 설치 여부 확인
yum list installed nginx

# 삭제
yum remove {your_pakage_name}

2. nginx 설치

# 기본적으로 nginx를 제공하지 않기 떄문에 저장소 설정필요
vi /etc/yum.repos.d/nginx.repo

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

# nginx 설치
yum install nginx -y

3. port 변경

# 방화벽 포트 열기
firewall-cmd --permanent --zone=public --add-port=9090/tcp

# 재부팅
firewall-cmd --reload

# 포트 확인
firewall-cmd --list-ports

# nginx 포트 설정
vi /etc/nginx/conf.d/default.conf
listen       9090;

# systemctl enable nginx
# systemctl start nginx

4. 동작 확인

CentOS 서버에 Redis를 설치해보려고 합니다.

Redis 설치 후 방화벽을 열어 외부에서 접근할 수 있도록 하겠습니다.

Port는 60379로 변경하여 사용하도록 하겠습니다.

 

1. 사전 작업

# Memory  설정
sudo sysctl vm.overcommit_memory=1
sudo echo "vm.overcommit_memory=1" >> /etc/sysctl.conf

# Memory 적용 확인
sudo sysctl -a | grep vm.overcommit

# TCP Backlog 설정
sudo sysctl -w net.core.somaxconn=1024
sudo echo "net.core.somaxconn=1024" >> /etc/sysctl.conf 

# TCP Backlog 적용 확인
$ sudo sysctl -a | grep somaxconn

# 한국 시간 변경
sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
date

2. Redis 설치

# EPEL Repository install
sudo yum install epel-release

# yum update
sudo yum update

# redis install
sudo yum install redis

# redis 실행
sudo systemctl start redis

# redis 중지
sudo systemctl stop redis

# redis 자동 시작
sudo systemctl enable redis

# redis 설치 확인
redis-cli ping

3. Redis port 변경

 

# redis config 파일 접근
sudo vi /etc/redis/redis.conf

# bind 변경
bind 0.0.0.0

# port 변경
port 60379

# 비밀번호 설정
requirepass 1234

4. 방화벽 열기

# firewalld 설치
sudo yum install firewalld

# firewalld 시작
sudo systemctl start firewalld
sudo systemctl enable firewalld

# port 추가
sudo firewall-cmd --permanent --zone=public --add-port=60379/tcp

# firewalld 재로드
sudo firewall-cmd --reload

5. redis-cli 접근 확인

# redis-cli -h [외부 ip] -p [port] -a [password]
redis-cli -h [외부 ip] -p 60379 -a 1234

 

 

 

 

 

+ Recent posts