선행학습: (1) DNS server와 웹서버 등 이해하기  http://sourceflower.tistory.com/78


웹서버

  - 웹 브라우저가 firefox, ie, safari, chrome, opera 등이 존재하는 것처럼 마찬가지로 서버 컴퓨터에 웹서버를 설치해서 사용하면된다. 

  - 이러한 서버로는 apache, nginx, IIS 등이 존재한다.


■ apache 웹서버 설치 (우분투)

 # apt-get update;

 # apt-get install apache2


웹서버 동작 (우분투)

 # service apache2 start       // 웹서버 시작

 # service apache2 stop       // 웹서버 죽일때

 # service apache2 restart    // 웹서버 재시작


여러개의 아파치 웹서버 실행 (분산)

 웹서버의 경우 동시 접속 등이 많은 특정한 프로그램이다. 따라서 많은 접속이 들어왔을 때 그 접속을 분산해서 처리하기 위하여 

 여러개의 아파치 웹서버가 실행된다. 

 htop, top 등 사용하여 process를 확인하면 여러개의 apache2 서버가 올라와있는 것을 볼 수 있다.


컴퓨터 한대에서 클라이언트, 서버 수행 시 동일한 컴퓨터에있는 웹서버 테스트 

# apt-get install elinks       

// ELinks (이링크스)는 유닉스 기반 운영 체제를 위한 텍스트 기반 콘솔 웹 브라우저로. 링크 웹 브라우저를 향상 시키기 위해 만든 브라우저이다. 

# elinks http://127.0.0.1   

# elinks http://localhost 

로 접속하여 서버가 정상적으로 설치되었는지, 작동되는지를 테스트 할 수 있다.



■ client vs server 이해하기..

1. client  <-->  server (웹서버, 게임서버, 메일서버)

2. client  <-->  DNS server (웹서버에 요청을 하기 전에 순간적으로 들렸다 온다.  ip return 받아옴) 


■ 포트

0 ~ 65000 번 포트까지 사용가능 

well-known port : 0~1024번

customizing port 번호 지정 시 1024 바깥쪽에 위치한 포트를 사용하자.


■ 리눅스 서버의 IP 알아내기

1. # ip addr (show)              // 사설 IP (private ip) 

2. # ifconfig                       // 사설 IP (private ip) 

3. # curl http://ipinfo.ip/ip   // 공공 IP (public ip)

※ 대부분의 공유기 (여러 제조사 있음) 

: 일반적으로 공유기 관리자 화면으로 들어가려면, default gateway (192.168.0.1)로 접근하면 된다. 


■ ip 를 활용하여 서버로 사용하기 (포트포워딩)

 1.  public ip 와 private ip가 동일하지 않을 경우 포트포워딩을 활용하여 서버로 사용할 수 있다.

공유기를 통하여 public(공용) ip의 특정 포트 9000번(외부포트)으로 접속할 경우, 사설(private) ip (내부포트) 로 포트포워딩하여 서버로 활용 

   ex) (public ip) 247.214.236.12:9000  으로 접속할 경우, (private ip) 192.168.0.100 로 포워딩


2.  public ip 와 private ip가 동일한 경우에는 외부로부터 직접 접근 가능하여 곧바로 서버로 사용할 수 있다. 


■ 포트포워딩 설정 이해 (요약)

dafault gateway (192.168.0.1)로 접근 > 관리도구 > 고급설정 > 라우터 관리 > 포트포워드 설정


'인터넷, 네트웤, 서버' 카테고리의 다른 글

(3) DNS  (0) 2017.05.14
(2) ★ hosts 파일  (0) 2017.05.14

■ Linux에서 ip 주소를 알아내는 방법

1,2의 경우 동일 주소 결과값이 나올 수도 있지만 대부분의 경우 다른 ip 주소를 return 받는다. 

 

1.   $ ip addr                             // inet 쪽을 보자.

- 사설(private) ip라고 보면된다.  

2.   $ curl ipinfo.io/ip                   // 쉘에서 curl 명령어를 사용하여 http 프로토콜을 사용하여 결과를 요청 

-  ipinfo로 접속한 실제 ip의 결과값을 알려준다. 


$ curl http://www.google.com                 // 쉘상에서 google.com에 접속한 결과를 표시한다.



■ 정의

  : 리눅스에서 curl 이라는 http 메시지를 쉘상에서 요청하여 결과를 확인하는 명령어


■ 개요 

  :  curl 명령어는 http를 이용하여 경로의 데이터를 가져온다. 


■ 사용법 

  : $ curl [ 옵션 ] [ URL ]


■ POST / GET 

1. POST 메소드 사용

  $ curl -d "id=count" "http://192.168.0.100/samba/checkList.jsp"

 

2. GET 메소드 사용

  $ curl "http://192.168.0.100/samba/checkList.jsp?id=count"


■ 내용 

: 문서 or 파일을 서버에서 가져온다.

: 지원 프로토콜은 http, https, ftl, file, imap.. 등이 있다.


■ 기타 옵션 

-i 

: -i 는 결과에서 header와 body만 표시 

: -I 는 결과에서 header만 표시


-s

:  --silent 옵션을 이용하여 부가 정보 없이 조회가 가능 

$ curl -s www.google.com

$ curl --silent www.google.com


I. Linux add user to group 

■ Linux 에서 특정 사용자계정을 그룹(Group)으로 지정해주기 (두 가지 방법)

1. $ sudo usermod -a G  [ group 명 ] [ user ]

2. # usermod -a G  [ group 명 ] [ user ]


ex) sudo 명령어를 사용할 수 있도록 chpark 계정을 sudo Group으로 부여해보자.

1. $ sudo usermod -a -G sudo chpark

2. # usermod -a G sudo chpark


+ Recent posts