'서버'에 해당되는 글 3건

  1. 리눅스(Linux) 계열 운영체제에서 시간 동기화하기 1
  2. 리눅스(Linux) 계열 서버에서 트래픽 확인하기
  3. 한번에 세팅하는 Ubuntu 서버 1

일반 컴퓨터나 스마트폰에서의 어느정도의 시간 오차는 봐줄만하지만, 서버같은 경우에는 얘기가 달라집니다.

웹사이트라든지 서버를 기반으로 하는 프로그램들이 서버시간을 기준으로 사용하기 때문인데요,


이런 경우에는 큰 오차가 나면 문제고 되도록이면 오차가 나지 않게 하는것이 좋습니다.





리눅스(Linux) 계열 서버에서 시간 동기화하기


1. 현재 서버시간


먼저 Date를 입력하면 서버의 현재시간을 알 수 있습니다. 또는 http://time.navyism.com에서 서버 도매인을 입력해 시간을 확인할 수 있습니다.



(Date를 입력하면 현재시간을 알 수 있습니다.)



(도매인 입력만으로 그 서버의 시간을 알 수 있습니다. 물론 수강신청할때 많이 쓰입니다.)



2. 시간 동기화


터미널 창에서 동기화하기 위해 'sudo rdate -s time.bora.net'을 입력합니다. 여기서 'time.bora.net'은 동기화를 할 기준이 되는 서버입니다.


위와 같이 입력했는데 아래 사진과 같이 rdate 프로그램이 설치가 되어있지 않다면, 'sudo apt-get install rdate'를 입력하여 설치하세요.





아래는 국내 타임서버 목록들입니다. time.bora.net 서버로 잘 안되는 경우 아래 목록으로 시도해보세요.

국내 타임서버(Time Server)


 1. NTP Primary Time Server(Stratum 1  Server)
   - time2.kriss.re.kr
   - time.bora.net
   - ntp.kornet.net
   - ntp.postech.ac.kr
  

2. NTP Secondary Time Server(Stratum 2 Server)
   - ntp.ewha.net
   - ticktock.ewha.net
   - time.bora.net




3. 주기적으로 자동으로 동기화하기

매번 시간을 맞춰주는 일을 직접 하기는 어렵습니다.  주기적으로 자동으로 시간 동기화가 되도록 설정할 수 있습니다.

(매일 새벽 4시에 자동으로 시간을 동기화하도록 설정할 수 있습니다.)


1. 파일을 하나 생성하고 아래와 같이 내용을 입력해줍니다.(파일제목 ex : time-sync.cron)


 #!/bin/bash

    /usr/bin/rdate -s time.bora.net && /sbin/clock -w



2.만든 파일에 755 권한을 부여해줍니다.(sudo chmod 755 time-sync.cron)





3. 만든 파일을 '/etc/cron.daily'에 복사합니다.(sudo cp time-sync.cron /etc/cron.daily)



이렇게 하면 매일 새벽 4시에 시간이 동기화 됩니다.






도움이 되셨나요?

그럼 손가락을 눌러주세요:)


리눅스 계열을 사용하다 보면 GUI보다 터미널을 이용한 작업을 더 많이 하게 되는것 같습니다. 리눅스로 서버를 돌릴때에는 항상 서버의 부담이 어느정도 되는지 알아야 할 필요성이 있습니다.

간단한 명령어로 서버의 트래픽이 어느정도 되는지 알 수 있습니다.

 
리눅스(Linux) 계열 서버에서 트래픽 확인하기(Vnstat)
 
 1. 설치 및 DB생성

 1. 터미널에서 vnstat을 쳤는데 오류가 난다면 아직 세팅이 안되어있는 것으로 먼저 vnstat 설치를 해 줘야 합니다.



'sudo apt-get install vnstat'를 입력하여 vnstat을 설치해 줍니다. 

 

2.  'vnstat -u -i eth0'을 입력하여 데이터베이스를 생성해주면 모든 작업이 완료됩니다. 이 작업이 완료되는 시점부터 트래픽이 기록되는것 같습니다.





2. 명령어로 트래픽 확인하기

1. 터미널 창에 'vnstat'이라 하면 한달간/어제/오늘의 트래픽 사용량을 확인할 수 있습니다. rx는 수신, tx는 송신한걸 뜻합니다.(서버 입장에서)
 


2. 터미널에 'vnstat -l -i eth0'을 입력하면 현재의 실시간 트래픽도 알 수 있습니다.

 
 


3. 트래픽 현황을 웹페이지로 좀더 직관적으로 보기

나는 이런것보다 화려한 그래프와 수치로 생생하게 보고싶다면, vnstat를 이용해 통계화 시키는 php 프로그램을 통해 웹페이지로 쉽게 볼 수 있습니다. 물론 vnstat 또는 php가 설치가 안되어있다면 안될 가능성이 높습니다.


 
1. 아래 링크로 들어가 Releases 부분에서 가장 최신 버전을 다운로드 받습니다.
http://www.sqweek.com/sqweek/index.php?p=1



 2. 압축을 푼 뒤 FTP 같은걸 통해 서버에 업로드합니다.


3. 'http://도매인/경로'를 입력하면 명령어를 치지 않고도 바로 그래픽적인 트래픽 기록을 볼 수 있습니다.

!! 언어가 알 수 없는 언어(외계어)로 보이는 경우 !!

이 프로그램의 기본 언어 설정이 영어가 아닌 것 같습니다.
이런경우에는 파일 중에 config.php를 찾아 $langauage = 'nl' 에서 nl부분을 en으로 바꿔서 서버에 업로드하면 영어로 나오는 것을 확인할 수 있습니다.

귀찮으면 제가 수정한 파일을  바로 다운로드 받아서 업로드하시면 됩니다.


 
 
 




도움이 되셨나요?
그럼 손가락을 눌러주세요:) 

사전에 미리 해두면 좋은것들

여기에 있는 모든 내용은 루트 권한이 있어야 원할하게할수 있습니다.
이 포스팅을 작성하는데 https://lael.be/213 페이지를 참고하였습니다.

1. 버전체크

#uname -a

2. 우분투 버전체크
#cat /etc/issue

3) 하드용량체크

#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/LaelServer02-root
                       37G  739M   35G   3% /
tmpfs                 244M     0  244M   0% /lib/init/rw
varrun                244M   72K  244M   1% /var/run
varlock               244M     0  244M   0% /var/lock
udev                  244M  148K  244M   1% /dev
tmpfs                 244M     0  244M   0% /dev/shm
lrm                   244M  2.7M  242M   2% /lib/modules/2.6.28-11-server/volatile
/dev/sda5             228M   14M  202M   7% /boot


대략 다 더하면 40G가 나온다.


4) 메모리 체크

#cat /proc/meminfo
MemTotal:         499248 kB
MemFree:          326264 kB
Buffers:            8092 kB
Cached:           111848 kB
SwapCached:            0 kB
Active:            49092 kB
Inactive:          80836 kB
Active(anon):      12948 kB
Inactive(anon):        0 kB
Active(file):      36144 kB
Inactive(file):    80836 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       1462264 kB
SwapFree:        1462264 kB
Dirty:                 8 kB
Writeback:             0 kB
AnonPages:         10036 kB
Mapped:             5332 kB
Slab:              14688 kB
SReclaimable:       7712 kB
SUnreclaim:         6976 kB
PageTables:         1188 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     1711888 kB
Committed_AS:      31512 kB
VmallocTotal:   34359738367 kB
VmallocUsed:         840 kB
VmallocChunk:   34359734959 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:        8128 kB
DirectMap2M:      516096 kB


대략 320M의 가용메모리가 있다.


5) 자잘한 업글

apt 목록 갱신
#apt-get update

설치되어있는 프로그램 최신버전패치
#apt-get upgrade


해야하는것들


6) Apache2 설치

#apt-get install apache2

부팅시 자동실행 된다. (기본값)
설치 완료되면 자동적용 및 시작된다.

확인해본다. http://256.123.213.213(서버의아이피)
웹브라우져에 It Works 라고 뜨면 성공.

7) PHP 5.x 설치

#apt-get install php5
자동으로 아파치 중단시키고  설정파일에 php를 등록시키고 재 구동시킨다.(바로 적용됨)

#apt-get install php5-cli
콘솔에서 php를 실행시키기 위해서 위와 같이 실행

버전체크
#php -v
PHP 5.2.6-3ubuntu4.5 with Suhosin-Patch 0.9.6.2 (cli) (built: Jan  6 2010 22:41:58) 
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies


5.2.6 버전이다.

8) Mysql 설치

#apt-get install php5-mysql
php5 연동모듈 설치

#apt-get install mysql-client-5.1
역시 콘솔 컨트롤을 위해서
#apt-get install mysql-client-5.5
우분투 12.02 LTS 버전부터는 5.5 설치해야한다.
 

#apt-get install mysql-server
mysql데몬 설치.  재부팅시 자동실행된다. 
설치중에 root비밀번호를 세팅할 수 있다.

버전체크
#mysql -V
mysql  Ver 14.14 Distrib 5.1.31, for debian-linux-gnu (x86_64) using  EditLine wrapper
5.1.31 버전이다.

XE를 설치하시는 경우에는 GD라이브러리 오류와, Rewrite 오류가 있을 수 있습니다. GD 라이브러리 문제는 Apt-get install php5-gd  로 설치하면 되고, rewrite 문제는 jhrun.tistory.com/75를 참고하세요.




하면 좋은것들

기본 언어셋 설정(중요)
이 단계를 건너뛰면 DB가 latin1 으로 생성되며 추후 DB작업에 문제가 생길 수 있다.
#vi /etc/mysql/my.cnf

[mysqld] 항목에 다음 3 줄을 추가한다.

사용자 삽입 이미지


default-character-set=utf8 
character-set-server = utf8 
collation-server = utf8_general_ci

#ubuntu 12.04 LTS 에서는 아래의 두줄만 작성합니다.

 

*Fine Tuning 의 max_allowed_packet 을 256M 로 변경
(DB한 행의 데이터 크기 제한이라고 보시면 됩니다)

사용자 삽입 이미지


[mysqldump]에도
max_allowed_packet 을 256M으로


변경사항저장

#restart mysql

9) 계정생성 및 동작테스트

원래 표준명령어는 useradd 이지만    사용하기 좋게 adduser 를 지원한다.
리눅스 관련 서적을 보면 
둘다 계정생성용 명령어라고 되어있다.
쉬운 설정을 위해 adduser를 사용

#adduser my_lael_be

#<추가> 10.04버전부터 url과 같은 사용자 생성이 가능하다. (다음줄은 URL로 사용자를 만든 예시)
#adduser my.lael.be --force-badname
보통 웹루트는 홈디렉토리에 하지 않습니다.
저는 주로 www 디렉토리를 사용합니다.


사용자변경 후 www 디렉토리를 생성하고 빠져나오기
#su -l my_lael_be
#mkdir www
#exit

10) 아파치에 등록



다음의 내용을 작성한다.

#11.11.03 샘플파일 추가.

다음의 파일을 다운받아서 알맞게 수정한 후에


/etc/apache2/sites-available/my_lael_be 에 저장한다.
<VirtualHost *:80>
#연결될 도메인을 설정합니다. (main domain)
        ServerName lael.be 
#다중도메인 설정을 합니다. 서브도메인 및 전혀다른 도메인도 가능합니다. (additional domain)
        ServerAlias www.lael.be 
#document Root
 DocumentRoot /home/my_lael_be/www/ 
#additional setting
<Directory /home/my_lael_be/www/> 
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>

ServerAlias 는 사용안하면 빼도 되는 줄이다.

저장은 다음위치에/etc/apache2/sites-available/my_lael_be

11) 사이트 enable

#a2ensite my_lael_be
#/etc/init.d/apache2 reload