docker는 하이브리드 클라우드의 모든 애플리케이션을 처리할 수 있는 유일한 컨테이너 플랫폼 제공 프로그램이다.

 

즉, 컨테이너 기반의 오픈소스 가상화 플랫폼이다.

 

docker에서 말하는 컨테이너란 택배나 화물선 위에 수출용품을 싣는 컨테이너를 대신하여 프로그램(소프트웨어)을 담는 격리된 공간을 의미한다.

각각의 격리된 여러개의 소프트웨어 컨테이너에는 ubuntu, centos 등의 운영 체제 그리고 java, python, mysql, 아파치 같은 프로그램까지도 담기게된다.

 

그리고 각 컨테이너는 격리된 공간이기 때문에 한 컨테이너가 해킹을 당하던 한 컨테이너에 문제가 생기더라도 컨테이너간에 영향을 끼치지 않는다.

 

 

1) 우선 작업 관리자에서 가상화를 사용함으로 설정했는지 확인 한다. (안되어 있는 경우 BIOS 에서 사용함으로 설정해야 한다.)

 

2) 1. 도커를 사용하기 위해서 가상화 기술인 Hyper-V(하이퍼 바이저)를 활성화시켜야한다.

 

 

3) 다음 사이트 접속 > Get Docker 클릭 하여 다운로드
 - https://hub.docker.com/editions/community/docker-ce-desktop-windows/

 

 

4) ok를 계속 누르면 아래처럼 설치가 진행된다.

재시작 후 구동시킨다. 아이디가 없으면 회원가입을 해야한다.

 

5) 설치가 정상적으로 되었으면 파워쉘에서 docker -v를 치면 아래처럼 나온다.

 

 

네트워크관리사 2급 자격증은 60점 이상 받으면 취득할수 있습니다.

 

 

 

다른 사람들은 실기가 필기보다 쉬웠다고 하지만, 저는 실기가 조금 더 어려운 것 같습니다.

 

단답형9문제 뒤에 모두 골라라 문제는 어려워서 시간이 없다면 리눅스 명령어를 제외하곤 패스하시는게 좋을 거 같습니다.

 

라우터 설정과 Window 2008 server, 랜선만들기는 2번 정도 복습하여 거의 만점이 나온 것 같습니다.

 

굳이 책 살 필요없고 햄릿슈 채널을 보고 그대로 따라하시는게 좋을 거 같아요.

 

 

리눅스는 대표적으로 우분투, CentOS, KaliLinux 등이 있지만 Ubuntu 기준으로 기술한다.

 

1. 리눅스에서 실행되고 있는 프로세스 확인하기

 

ps 명령어를 사용한다.

 

옵션 설명
-e 모든 프로세스를 출력해 준다.
-f 풀 포맷으로 보여준다. (UIP, PID)
-l 긴 포맷으로 보여준다.
-p 특정 PID의 프로세스를 보여준다.
-u 특정 사용자의 프로세스를 보여준다.

여기서 PID는 프로세스를 구별하는 유일한 요소이며, UID는 프로그램을 실행한 사람의 정보를 나타내는 요소이다.

그리고 PPID는 프로세스를 만든 부모 프로세스의 PID를 나타내는 값이다.

 

옵션으로는 aux, -e 등 많지만 -ef나 -el을 grep과 함께 많이 사용한다.

 

 

$ ps -el | grep "찾을 문자열"
예) $ ps -el | grep ripple

 

2. 파일 찾기

리눅스는 CLI 기반이라서 파일이 어디있는지 찾기 힘든 경우가 많다.

 

단순히 아래 명령어를 치면 폴더가 검색되어 나온다.

$ find | grep "찾을 문자열"

 

아래만 명심하면 된다.

 

* r로 시작하는 폴더만 찾기

$ find -name "r*" -type d

 

* r로 시작하는 파일만 찾기

$ find -name "r*" -type f

 

3. 프로세스 죽이기

sudo kill -9 "PID번호"

ps -el | grep "찾는 문자열"   << 이 명령어로 PID 확인 가능

 

 

4. 로그 파일 열기

tail -f "로그파일명"

-f는 로그파일을 계속 감시한다는 것을 뜻한다.

이때 해당 폴더 안에 있거나 정확한 디렉토리명을 입력해줘야한다.

 

 

 

 

 

WEB이란 네트워크 체계 위에서 동작하는 통신 규약(HTTP) 중의 하나이다.

 

인터넷 안에서 돌아가는 시스템들을 나열해 보면 아래와 같다.

이름 프로토콜 포트 기능
WWW HTTP 80 웹서비스
WWW HTTPS 443 보안인증서 추가된 웹서비스
FTP FTP 21 파일 전송 서비스
DNS DNS 23 네임서비스
NEWS NNTP 119 인터넷 뉴스 서비스

 

 

 

nginx는 요즘 떠오르는 차세대 웹서버 소프트웨어이다. 적은 자원으로 더 많은 일을 할 수 가 있다.

 

APCHE는 요청이 많을 경우 Process를 생성하여 처리하는 방식(preFork)이다. APACHE는 접속마다 프로세스 또는 Thread를 생성하는 구조이다. 동시 접속 요청이 10,000개라면 그 만큼 Thread 생성 비용이 들 것이고 대용량 요청을 처리할 수 있는 웹서버로서의 한계를 드러내게 된다.

 

반면 NGINX는 Event-driven 방식으로 동작한다.

한 개 또는 고정된 프로세스만 생성하고, 그 프로세스 내부에서 비동기방식으로 효율적으로 작업들을 처리한다. 따라서 동시 접속 요청이 많아도 프로세스 또는 쓰레드 생성 비용이 존재하지 않는다.

 

우분투 18.04에서 NGINX 설치 방법

nginx는 Ubuntu의 레파지토리에 default로 있기에 아래와 같이 명령어를 입력한다.

 

$ sudo apt update

$ sudo apt install nginx

 

그렇다면 아래와 같이 nginx가 설치된다.

root2@DESKTOP-024G8AA:~$ sudo apt update
Get:4 https://download.docker.com/linux/ubuntu bionic InRelease [64.4 kB]
Hit:1 http://mirror.kakao.com/ubuntu bionic InRelease
Get:2 http://mirror.kakao.com/ubuntu bionic-updates InRelease [88.7 kB]
Get:3 http://mirror.kakao.com/ubuntu bionic-backports InRelease [74.6 kB]
Get:5 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages [9594 B]
Get:6 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Get:7 http://mirror.kakao.com/ubuntu bionic-updates/main amd64 Packages [768 kB]
Get:8 http://mirror.kakao.com/ubuntu bionic-updates/main Translation-en [275 kB]
Get:9 http://mirror.kakao.com/ubuntu bionic-updates/restricted amd64 Packages [18.7 kB]
Get:10 http://mirror.kakao.com/ubuntu bionic-updates/restricted Translation-en [5328 B]
Get:11 http://mirror.kakao.com/ubuntu bionic-updates/universe amd64 Packages [1022 kB]
Get:12 http://mirror.kakao.com/ubuntu bionic-updates/universe Translation-en [315 kB]
Get:13 http://mirror.kakao.com/ubuntu bionic-updates/multiverse amd64 Packages [8096 B]
Get:14 http://mirror.kakao.com/ubuntu bionic-updates/multiverse Translation-en [3972 B]
Get:15 http://mirror.kakao.com/ubuntu bionic-backports/main amd64 Packages [2512 B]
Get:16 http://mirror.kakao.com/ubuntu bionic-backports/main Translation-en [1644 B]
Get:17 http://mirror.kakao.com/ubuntu bionic-backports/universe amd64 Packages [4024 B]
Get:18 http://mirror.kakao.com/ubuntu bionic-backports/universe Translation-en [1856 B]
Get:19 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [545 kB]
Get:20 http://security.ubuntu.com/ubuntu bionic-security/main Translation-en [182 kB]
Get:21 http://security.ubuntu.com/ubuntu bionic-security/restricted amd64 Packages [9856 B]
Get:22 http://security.ubuntu.com/ubuntu bionic-security/restricted Translation-en [3480 B]
Get:23 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [617 kB]
Get:24 http://security.ubuntu.com/ubuntu bionic-security/universe Translation-en [206 kB]
Get:25 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [5476 B]
Get:26 http://security.ubuntu.com/ubuntu bionic-security/multiverse Translation-en [2500 B]
Fetched 4324 kB in 13s (328 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
291 packages can be upgraded. Run 'apt list --upgradable' to see them.


root2@DESKTOP-024G8AA:~$ sudo apt install nginx
[sudo] password for root2:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  libnginx-mod-http-geoip libnginx-mod-http-image-filter libnginx-mod-http-xslt-filter libnginx-mod-mail
  libnginx-mod-stream nginx-common nginx-core
Suggested packages:
  fcgiwrap nginx-doc ssl-cert
The following NEW packages will be installed:
  libnginx-mod-http-geoip libnginx-mod-http-image-filter libnginx-mod-http-xslt-filter libnginx-mod-mail
  libnginx-mod-stream nginx nginx-common nginx-core
0 upgraded, 8 newly installed, 0 to remove and 291 not upgraded.
1 not fully installed or removed.
Need to get 598 kB of archives.
After this operation, 2120 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://mirror.kakao.com/ubuntu bionic-updates/main amd64 nginx-common all 1.14.0-0ubuntu1.6 [37.3 kB]
Get:2 http://mirror.kakao.com/ubuntu bionic-updates/main amd64 libnginx-mod-http-geoip amd64 1.14.0-0ubuntu1.6 [11.2 kB]
Get:3 http://mirror.kakao.com/ubuntu bionic-updates/main amd64 libnginx-mod-http-image-filter amd64 1.14.0-0ubuntu1.6 [1
4.5 kB]
Get:4 http://mirror.kakao.com/ubuntu bionic-updates/main amd64 libnginx-mod-http-xslt-filter amd64 1.14.0-0ubuntu1.6 [12
.9 kB]
Get:5 http://mirror.kakao.com/ubuntu bionic-updates/main amd64 libnginx-mod-mail amd64 1.14.0-0ubuntu1.6 [41.7 kB]
Get:6 http://mirror.kakao.com/ubuntu bionic-updates/main amd64 libnginx-mod-stream amd64 1.14.0-0ubuntu1.6 [63.6 kB]
Get:7 http://mirror.kakao.com/ubuntu bionic-updates/main amd64 nginx-core amd64 1.14.0-0ubuntu1.6 [413 kB]
Get:8 http://mirror.kakao.com/ubuntu bionic-updates/main amd64 nginx all 1.14.0-0ubuntu1.6 [3596 B]
Fetched 598 kB in 1s (1183 kB/s)
Preconfiguring packages ...
Selecting previously unselected package nginx-common.
(Reading database ... 46509 files and directories currently installed.)
Preparing to unpack .../0-nginx-common_1.14.0-0ubuntu1.6_all.deb ...
Unpacking nginx-common (1.14.0-0ubuntu1.6) ...
Selecting previously unselected package libnginx-mod-http-geoip.
Preparing to unpack .../1-libnginx-mod-http-geoip_1.14.0-0ubuntu1.6_amd64.deb ...
Unpacking libnginx-mod-http-geoip (1.14.0-0ubuntu1.6) ...
Selecting previously unselected package libnginx-mod-http-image-filter.
Preparing to unpack .../2-libnginx-mod-http-image-filter_1.14.0-0ubuntu1.6_amd64.deb ...
Unpacking libnginx-mod-http-image-filter (1.14.0-0ubuntu1.6) ...
Selecting previously unselected package libnginx-mod-http-xslt-filter.
Preparing to unpack .../3-libnginx-mod-http-xslt-filter_1.14.0-0ubuntu1.6_amd64.deb ...
Unpacking libnginx-mod-http-xslt-filter (1.14.0-0ubuntu1.6) ...
Selecting previously unselected package libnginx-mod-mail.
Preparing to unpack .../4-libnginx-mod-mail_1.14.0-0ubuntu1.6_amd64.deb ...
Unpacking libnginx-mod-mail (1.14.0-0ubuntu1.6) ...
Selecting previously unselected package libnginx-mod-stream.
Preparing to unpack .../5-libnginx-mod-stream_1.14.0-0ubuntu1.6_amd64.deb ...
Unpacking libnginx-mod-stream (1.14.0-0ubuntu1.6) ...
Selecting previously unselected package nginx-core.
Preparing to unpack .../6-nginx-core_1.14.0-0ubuntu1.6_amd64.deb ...
Unpacking nginx-core (1.14.0-0ubuntu1.6) ...
Selecting previously unselected package nginx.
Preparing to unpack .../7-nginx_1.14.0-0ubuntu1.6_all.deb ...
Unpacking nginx (1.14.0-0ubuntu1.6) ...
Processing triggers for ufw (0.35-5) ...
Setting up docker.io (18.09.2-0ubuntu1~18.04.1) ...
invoke-rc.d: could not determine current runlevel
Processing triggers for ureadahead (0.100.0-20) ...
Setting up nginx-common (1.14.0-0ubuntu1.6) ...
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /lib/systemd/system/nginx.service.
Setting up libnginx-mod-http-image-filter (1.14.0-0ubuntu1.6) ...
Processing triggers for systemd (237-3ubuntu10.3) ...
Setting up libnginx-mod-mail (1.14.0-0ubuntu1.6) ...
Processing triggers for man-db (2.8.3-2) ...
Setting up libnginx-mod-http-xslt-filter (1.14.0-0ubuntu1.6) ...
Setting up libnginx-mod-http-geoip (1.14.0-0ubuntu1.6) ...
Setting up libnginx-mod-stream (1.14.0-0ubuntu1.6) ...
Setting up nginx-core (1.14.0-0ubuntu1.6) ...
Cannot open netlink socket: Protocol not supported
invoke-rc.d: could not determine current runlevel
Setting up nginx (1.14.0-0ubuntu1.6) ...
Processing triggers for ureadahead (0.100.0-20) ...
Processing triggers for ufw (0.35-5) ...
W: APT had planned for dpkg to do more than it reported back (40 vs 44).
   Affected packages: docker.io:amd64

 

방화벽설치

 

NGINX를 테스트하기전에 ufw라는 방화벽을 설치한다.

root2@DESKTOP-024G8AA:~$ sudo ufw app list
Available applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH

 

아직 서버에 SSL을 구성하지 않았으므로 포트 80의 트래픽만 허용하면 된다.

 

다음을 입력하여 활성화 할 수 있다.

 

$ sudo ufw allow 'nginx HTTP'

 

----------

윈도우 우분투는 iptables를 사용할 수 없다고 나온다.

 

nginx의 상세 설정은 conf파일을 통해 이루어지며 자세한 것은 아래 링크에 있다.

 

https://sarc.io/index.php/nginx/61-nginx-nginx-conf

 

Nginx 주요 설정 (nginx.conf)

Technical Note 정보 appsroot 님이 작성하신 글입니다. 카테고리: [ Nginx ] 게시됨: 23 February 2014 작성됨: 19 February 2014 최종 변경: 09 February 2018 조회수: 68502 1. 개요 지난 번 포스팅을 통해 OS X에서 Nginx 1.4.4를 설치하여 보았습니다. 강철지그님께서는 계속 작업을 해주고 계십니다. 한편 왜 Nginx를 써야 하는지도 언급된 적이 있지요. 이번에는 설정 파일인

sarc.io

systemctl start nginx

systemctl stop nginx

systemctl restart nginx

 

리눅스에서는 위 명령어로 nginx를 쉽게 조작할 수 있다.

 

 

+ Recent posts