글쓰기 메뉴

우분투 몽고DB 설치 및 부팅 시 자동 실행 - Install MongoDB on Ubuntu & Start MongoDB on system start

설치는 매우 간단하고 MongoDB 공홈에 최신 버전으로 갱신된 문서가 있어 해당 페이지를 참고하면 된다.


공홈 설치 문서 링크:

https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/


GPG Key

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6


리스트파일 생성 (16.04. 기타 버전은 공홈 참조)

echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list


패키지 디비 갱신

sudo apt-get update


MongoDB 설치

sudo apt-get install -y mongodb-org


근래의 대부분의 배포본은 Upstart  대신 Systemd를 사용하기 때문에 위와 같이 설치된 MongoDB 역시 init 스크립트를 제공하지 않는다.

service 커맨드로 시작, 중지, 재시작 등의 관리가 가능하나 systemctl 커맨드를 익히는게 바람직하다고 본다.


systemd 를 사용해 MongoDB 를 초기 실행 시키기 위해 다음의 파일을 작성한다.

$ sudo vi /etc/systemd/system/mongodb.service


/etc/systemd/system/mongodb.service

[Unit]
Description=High-performance, schema-free document-oriented database 
After=network.target

[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target


Unit 섹션의 Description 은 서비스에 대한 간단한 설명을 포함한다.

같은 섹션의 After 는 네트워크 연결 후 구동하겠다는 의미


Service 섹션의 User 는 서비스 실행 사용자를 지정하고 ExecStart 는 실제 구동 커맨드를 입력한다.


Install 섹션의 WantedBy 는 실행 타깃을 구분하는데 multi-user.target 은 기존 런레벨 2,3,4 로 일반적인 부팅 시에 동작된다.


구동

sudo systemctl start mongodb


상태 확인

sudo systemctl status mongodb


정지

sudo systemctl stop mongodb


부팅 시 실행

sudo systemctl enable mongodb


systemd 의 target 에 대해 보다 자세히 알고 싶다면 아래의 링크를 참조.

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-Managing_Services_with_systemd-Targets.html


systemd 에 대해 보다 자세히 알고 싶다면 아래의 링크를 참조

http://lunatine.net/about-systemd/




어디서 왔지?
다른 글들
0 0

rbenv 새로운 버전의 루비 설치하기

설치가능한 루비 버전의 목록은 아래처럼 확인할 수 있지
$ rbenv install --list
목록에 없는 최신 릴리즈의 Ruby 를 설치하려 할 때 rbenv 를 업데이트하면 되지. (Git 버전)
이렇게 하고 설치가능 목록을 다시 확인하면 따단~ 하고 새로운 릴리즈가 떠야하는데 새로운 버전의 루비가 목록에 없는 경우가 있어. 그럴땐 ruby-build 를 업데이트해주자.
잘 될꺼야.
0 0

rbenv 새로운 버전의 루비 설치하기

설치가능한 루비 버전의 목록은 아래처럼 확인할 수 있지
$ rbenv install --list
목록에 없는 최신 릴리즈의 Ruby 를 설치하려 할 때 rbenv 를 업데이트하면 되지. (Git 버전)
이렇게 하고 설치가능 목록을 다시 확인하면 따단~ 하고 새로운 릴리즈가 떠야하는데 새로운 버전의 루비가 목록에 없는 경우가 있어. 그럴땐 ruby-build 를 업데이트해주자.
잘 될꺼야.
0 0

UFW 방화벽 사용하기 - 우분투 14.04

UFW 는 iptables 의 설정 도구로 Uncomplicated Firewall 이란 뜻이며 문자 그대로 복잡하지 않은 방화벽 설정을 위해 사용된다.
서버는 어떤 목적이든, 공인 IP가 있든 없든 외부에서 접근이 가능하다면 보안 위험에 노출될 수 밖에 없다. IDC 레벨이나 네트워크 구성에서 하드웨어/소프트웨어 방화벽이 이미 사용되고 있을 수 있지만 그런 경우에도 각 서버의 방화벽 설정은 매우 유용하다(고 생각한다)
이런 목적으로 사용하기에 iptables 가 매우 적합하나 설정과 관리가 꽤나 복잡하여 나 같은 사람은 필요할 때 검색으로 룰을 설정했다가 어느 순간 뭔가 동작이 이상하면 iptables 전체를 내려버리는 괴상한 방식으로 운영하게되니 계륵이 아닐수가...
그런 의미로 UFW는 신세계! 방화벽이 미적용된 서버가 있다면 당장 UFW를 올려보자!
설치
기본 정책 설정 (들어오는 패킷은 차단, 나가는 패킷은 허용)
ssh, http, https 허용 (ssh 포트를 변경해서 사용한다면 반드시 직접 포트를 입력하자)
포트를 변경해 사용하거나 특정 포트를 허용
방화벽 ON!
위의 명령을 실행하면 "현재 ssh 연결에 문제가 생길 수 있습니다. 적용하시겠습니까?" 뭐 이런 질문이 나온다. ssh 포트는 허용으로 변경했으니 "y" 를 입력해 진행할 수 있다.
확인
ufw 가 실행되고 있지 않다면 아래와 같은 결과가 리턴된다.
방화벽을 끌 때는 아래와 같은 명령어를 입력한다
등록된 규칙을 삭제할 때는 2가지 방법이 있다.
첫번째는 등록 시 사용한 규칙을 그대로 입력하는 방법
두번째는 각 규칙의 번호를 확인하고 번호로 지우는 방법
등록된 규칙의 번호는 줄 맨앞에 있는 [숫자]
2번 규칙 80/tcp 를 지우려면
새로운 규칙의 추가는 동일한 방식으로 가능하다
포트 뒤에 tcp 나 udp 를 지정할 수 있고 지정하지 않는다면 모두 적용된다
새로운 설정을 적용하려면 disable > enable 해도 좋고 아래와 같이 reload 가 가능하다
특정 IP만 허용할 경우 
특정 IP에게 특정 포트만 허용할 경우
포트의 범위를 규칙으로 사용할 경우
특정 아이피에만 일정 범위의 포트를 tcp 패킷만 허용할 경우
서브넷을 특정 포트에 허용할 경우
이 정도면 내가 써봤던 명령어는 다 정리한 것 같다.
3 2

여친 쇼핑몰 한다는데 맥프레삼.

맥도 써본적 없음
사용용도 쇼핑몰 운영
근데 OS는 윈도우설치
아니 도대체 왜..
그렇게 얘기해줬것만..
조언을 여기저기 구하지만, 결국 지 하고싶은데로 함.
그 말인즉슨 조언을 구하는게 아니라, 자기 의견이랑 같은 사람을 찾아서 자위하는것일뿐.
4 0

피들리

최근 봐야할 사이트가 많아서 피들리를 처음 써봤는데 정말 편하고 좋다.
(피들리는 rss서비스라고 하네요. )
분류도 쉽고 효율성도 올라가고 피들리를 쓰고나서 플립보드 앱은 바로 지웠다. 설치하고 사용을 거의 안했는데 
피들리는 많이 쓸거 같은 느낌.
feedly.com

인터넷 검색 많이 하시는 분은 한번 사용해보세요.
저는 인터넷 하면 창에 기본탭이 10개 이상입니다. ㅋㅋ 중독인가봐여
0 0

맥 시에라 vi / vim 클립보드 사용하기

1~4 단계의 과정이 필요할 수 있다.
1. ~/.vimrc
아래 내용을 사용자 홈디렉토리 아래 .vimrc 파일에 추가한다 (없으면 만든다)
2. +clipboard 로 컴파일 됐는지 확인한다
clipboard 옵션 없이 컴파일 된 경우

clipboard 옵션이 포함된 경우
2-1. clipboard 옵션이 없는 경우 brew 로 vim 을 설치한다
맥에는 기본으로 vim 이 설치되어 있다.
아래와 같이 brew 로 vim 을 설치하여 시스템 디폴트 vim 교체할 수 있다 (실제로 교체되지는 않고 path 설정 바꿔주는 듯)
3. 어떤 vim 이 호출되는지 확인한다
3-1. /usr/bin/vim 이 잡힌다면 /etc/paths 파일을 수정하여 /usr/local/bin 이 /usr/bin 보다 위에 나오도록 한다
4. 여기까지해도 동작되지 않는다면 
client-server 옵션으로 설치하면 동작하는 경우가 있다고 한다.
4-1. .vimrc 설정
1번의 설정으로 충분하나 아래와 같이 설정할 수 있다 (참조)
1 0

수줍게 물든 참꽃이
노랗게 피어난 개나리가
흩날리는 민들레가


봄이 왔다고
세상에 봄이 왔다고 세상을 물들이기 시작했다
나풀나풀 흰나비가
오밀조밀 토끼가
지저귀는 새들이


봄이 왔다고
세상이 봄이 왔다고 세상을 노래하기 시작했다
0 0

기분 안좋으면

글쓰고 싶은듯...
공격적인 말투..
니네가 좀 잘하지.. 니네팀 진짜 문제 많어...
왜케 퇴사하는것같니... 팀원 3명 남은게 정상이냐.. 몇명이었는데.. 으이그..
정신차려 남얘기 옮기지 말고
0 0

안녕, 레이나.

친애하는 레이나.
가끔은 비가 와도 우산없이 뛰쳐나가고 싶어하는 날이있어. 그건 나에게 충동에 불과했지만 너에게는 현실가능한 것이였지. 차갑게 내리는 비에도 너는 우산도 없이 맨발로 뛰쳐 나갔어.
그래 너의 발끝이 붉게 물들었다가 이내 하얗게 되는 것, 밝은 갈색의 머리카락이 비에 젖어들며 검게 변하는 것, 하얀 원피스가 곧 너의 살결을 내비치도록 젖어가는 것.
그것들 중에서 나는 어느 하나 놓치지 않았어.
사랑하는 레이나.
너의 웃음소리가 빗속에 잦아드며 골목을 울릴때, 그때 내 마음을 너의 비가 톡톡 두드렸단다. 너는 멍하니 서있는 나를 향해 뛰어오며 젖은 머리를 귀뒤로 넘겼지. 그리고 입김을 뿜는 붉은 입술로 속삭였어.
나만의 레이나.
너의 붉은 입술에 따라 나도 우산 없이 너만의 골목에 접어들었고, 너는 나에게 잊을 수 없는 비오는 날을 안겨줬어.
나만의 레이나, 나만의 레이나.
비가 이세상을 잠식하고 홍수로 만들어 버릴지언정, 그 어느 한방울의 비도 미워하지 않으리, 사랑하며 기꺼이 온몸으로 세차게 맞으리.