도커 스터디 1일차 정리

Posted by HULIA(휴리아)
2017. 10. 20. 00:02 호스팅_서버_툴/도커(DOCKER)
20171019
도커 이미지 만들기

docker images
이미지 리스트

docker ps -a(죽은 놈까지)
컨테이너 리스트

docker network ls
컨테이너의 network 종류를 보여줌

network 종류
bridge(싱글 머신에서 여러개 컨테이너 연결할때 ex)디비서버 was서버 web서버등)
overlay(물리적 머신 여러개연결) -> swarm에서 씀

docker network create 네트워크명(defaut가 bridge)
network 생성

docker network rm 네트워크명
network 삭제


docker inspect 네트워크id나이름 컨테이너names나 컨테이너id를 쓰면 자세한 내용이 나온다

생성순서(반드시는 아니다)
이미지생성->컨테이너생성
지우는 순서(반드시)
컨테이너지우고->이미지지우기(네트워크는 아무때나 지워도 된다)


docker rm -f(강제) 컨테이너id나names로해도된다(스페이스로 띄워서 여러개를 동시에 지울 수 있다)
컨테이너 종료 및 지우기
 
docker rmi -f(강제) 이미지repository+tag(latest는 default임 그러니 버젼일때는 반드시 적어줘야됨)
이미지 삭제

컨테이너 종료
docker stop 컨테이너이름

컨테이너 재시작(최초 docker run 환경 그대로)
docker restart 컨테이너이름


***************이미지의 tag가 버젼이라고 생각하면 된다


registry-local docker hub이다
registry도 컨테이너다


docker image만들기
Dockerfile(이미지 만들기 위해서 필요하다)

Dockerfile형식
FROM
ENV
RUN
ADD
COPY
VOLUME
EXPOSE
WORKDIR
CMD
ENTRYPOINT


예시


FROM dockerhub명/os명:TAG명-utf8
ENV 환경변수
RUN echo aa
ADD COPY와 비슷한데 url도 tar도 지원가능
COPY 

VOLUME 경로 
EXPOSE PORT명

ENTRYPOINT
CMD 명령어가 들어가는데 ["ECHO","AAA"] 이런식으로
ENTRYPOINT와 CMD는 비슷

ENTRYPOINT와 CMD는 컨테이너 생성할때 쓰이고 VOLUME과 EXPOSE는 알려주는 용도 나머지는 이미지 생성할때 쓰인다
ENTRYPOINT는 docker run에서 명령어로 넣은 부분을 추가적으로 인자값으로 보내줌
CMD는 docker run에서 명령어로 넣은 부분이 CMD부분을 대체된다


이미지 생성
docker build --tag 이미지이름:TAG명 .(dockerfile위치)
ex)docker build --tag mycentos:entry .


이미지를 컨테이너로 실행(컨테이너가 바로 죽음)
docker run --name 컨테이너이름(내가 만들고 싶은것) -v(위치) -p(포트) -d(백그라운드)  --network 네트워크명 -e환경변수 이미지이름:이미지TAG명 명령어
ex) docker run --name test -p 8080:8080 mycentos:7 
-p 옵션은 hostos:container 이런형식으로 쓴다


로그 보기
docker logs 컨테이너이름

이미지를 컨테이너를 실행(컨테이너가 유지됨)
docker run -d(백그라운드) --name 컨테이너이름 --tty 이미지이름:이미지TAG명 /bin/bash(쉘프롬프트)
ex)docker run -d --name test --tty mycentos:7 /bin/bash

컨테이너안으로 접속
docker exec -it 컨테이너id나names /bin/bash(쉘프로프트)
이제쓰는 컨테이너안에서 실행되는 것이네

컨테이너 접속 종료
exit


-내 이미지파일 만들때 docker hub 검색해서 만들면 된다(dockerfile)
-없으면 실제로 os에 들어가서 실제로 쳐보면 된다
-남의 이미지 쓰고 싶으면 FROM에서 쓰면 된다


docker hub(docker hub에 올리기)
-official 공식버젼
-public 이미지를 수동으로 직접 업로드
-automated build github이랑 연동해서 업로드

public으로 이미지 올릴때
docker hub에 가입을 하고(github의 계정명을 쓰게 되었다)
docker login ID랑 패스워드 침

이미지 생성할때 dockerhub계정명/이미지이름:TAG명 

docker push dockerhub계정명/이미지이름:TAG명
이러면 public으로 docker hub에 올라간다 


automated build으로 이미지 올릴때
-github에는 repository를 만들고
-dockerfile을 넣어넣고
-docker hub에서 create automated build를 통해서 생성함(github랑 연동하는 repository선택)
-docker hub의 build setting의 docker파일의 경로를 적어둠
-github에서 dockerfile을 변경하면 자동으로 docker hub에서 빌드해서 이미지를 만든다 


도커 이미지 다운만 받을때 
docker pull 이미지명:TAG



gist 설정
-github에 gitst를 등록해놓고
-raw버튼을 이용해서
-curl을 이용해서 raw버튼을 url을 치면 docker 설치(여러가지 명령어를 한번에 실행)


Vagrant이용하여 가상머신(virtual machine)을 쉽게 관리하자

Posted by HULIA(휴리아)
2017. 10. 19. 23:59 호스팅_서버_툴/도커(DOCKER)

가상머신(Virtual machine)이란

VMWare, Virtual Box, Hyper-V와 같은 가상화를 지원해 주는 시스템을 말한다

가상머신을 설치하면 가상의 컴퓨터가 만들어졌다고 생각하면 되며 그안에 OS를 설치하고 OS에 돌아가는 프로그램을 설치할 수 있다

즉 하나의 운영체제에서 여러가지 OS를 경험하고 싶을때 쓰면 좋다


Vagrant란

경량화된 버젼머신(Virtual machine)관리 서비스이다

이말은 일일이 OS를 설치하지 않고 단순히 이미지 형태로 OS를 설치할 수 있다는 것을 말한다
그래서 Vagrant를 이용하기 위해서는 가상머신이 설치되어 있어야 한다(위 3가지 종류 중에 하나를 설치해야 한다)
참고로 default는 virtual box이다

Virtual Box 설치(추천)

Vmware 설치(비추)
https://www.vmware.com/kr/try-vmware.html

Hyper-V 설치(윈도우 전용-비추)
https://docs.microsoft.com/ko-kr/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v



1. Vagrant 설치



2. Vagrant 저장소를 만들 디렉토리 생성


3. Box 다운로드 및 vagrant에 box 등록(Box는 기본설정과 OS가 설치된 가상머신 템플릿 이미지이다)


공식 Box리스트

https://app.vagrantup.com/boxes/search


서드파티 Box리스트

http://www.vagrantbox.es/


box를 vagrant에 등록

vagrant box add [title] [download-url]

ex)vagrant box add bento/centos-7.2

ex)vagrant box add bento/centos-6.7

ex)vagrant box add centos64 https://github.com/2creatives/vagrant-centos/releases/download/v6.4.2/centos64-x86_64-20140116.box

ex)vagrant box add centos65 https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box


ex)vagrant box add ubuntuapm  https://dl.dropbox.com/u/14741389/vagrantboxes/lucid64-lamp.box


box가 vagrant에 잘 등록되었는지 확인

vagrant box list


4. vagrant init [box등록시 사용한 title명]

vagrant init [title]

ex)vagrant init centos64

ex)vagrant init ubuntuapm


5. 가상머신 기동

vagrant up


6. 가상머신 안으로 접속

vagrant ssh

or

터미널 프로그램에서 127.0.0.1:2222로 vagrant(아이디)/vagrant(비번)로 접속가능함


7. 가상머신 정지

vagrant halt


8. 중지 후 디렉토리 clean

vagrant destroy


9. Vagrantfile 의 설정 변경을 적용하기 위한 명령어

vagrant reload


10. 외부에서 vm에서 구동되고 있는 웹 서버에 접속이 가능하게 함

vagrant share


11.  버전 확인

vagrant -v 







docker 개념정리

Posted by HULIA(휴리아)
2017. 10. 17. 20:25 호스팅_서버_툴/도커(DOCKER)

Docker란

컨테이너 기반(프로세스)의 오픈소스 가상화 플랫폼(OS가상화와 조금은 다른 개념)

 

Docker의 주요 개념

-컨테이너

-도커이미지

-오버레이 네트워크

-유니온 파일 시스템

 

도커이미지란

컨테이너 실행에 필요한 파일과 설정값 등을 포함하고 있는 것으로 상태값을 가지지 않고 변하지 않음

 

도커이미지 관리

-URL방식으로 태그를 붙일 수 있음

-docker.io/library/ubuntu:14.04(public)

-my.private.image:5000/hello-app:123(private)

 

컨테이너란

도커이미지를 실행한 상태, 추가되거나 변하는 값은 컨테이너에 저장

 

도커이미지와 컨테이너관계

도커이미지에서 여러개의 컨테이너를 생성가능

컨테이너의 상태가 바뀌거나 삭제되어도 도커이미지는 변하지 않고 그대로 남아있음

 

도커이미지 배포서버

-docker hub(public)

-docker registry(private)

 

도커 이미지 만들기

-dockerfile 이용

-예시

# vertx/vertx3 debian version
FROM subicura/vertx3:3.3.1
MAINTAINER chungsub.kim@purpleworks.co.kr

ADD build/distributions/app-3.3.1.tar /
ADD config.template.json /app-3.3.1/bin/config.json
ADD docker/script/start.sh /usr/local/bin/
RUN ln -s /usr/local/bin/start.sh /start.sh

EXPOSE 8080
EXPOSE 7000

CMD ["start.sh"]

 

 

도커설치(윈도우)

 

윈도우용 설치 조건

-Windows 10 Enterprise, Professional 또는 Education

-두 번째 수준 주소 변환(SLAT)을 사용하는 64비트 프로세서.

-VM 모니터 모드 확장(Intel CPU의 VT-c)을 지원하는 CPU.

-최소 4GB의 메모리


 

[명령어]

1.도커버젼 확인

docker version

client와 server정보가 출력되면 설치 완료

 

2. 컨테이너 실행하기(이미지가 저장되었는지 확인하고 없다면 다운로드 한후 컨테이너를 생성하고 시작함)

docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]

ex) docker run ubuntu:16.04 -> 뭘 하라는 명령어를 주지 않았기 때문에 컨테이너는 생성되자마자 종료됨

 

ex) docker run --rm -it ubuntu:16.04 /bin/bash -> 컨테이너내부의 명령어 프롬프트 띄우기

cat /etc/isssue입력

ls입력

exit로 빠져나옴

 

-it 옵션은 키보드 입력

--rm 프로세스가 종료되면 컨테이너가 자동으로 삭제

 

ex) docker run -d -p 1234:6379 redis

-d 옵션은 background로 실행되도록 하는 것

-p 옵션은 컨테이너 포트를 호스트의 포트로 연결

호스트의 1234 포트를 컨테이너의 6379포트로 연결

 

telnet localhost 1234 입력

ctrl + c

 

 

ex) docker run -d -p 3306:3306 \
  -e MYSQL_ALLOW_EMPTY_PASSWORD=true \
  --name mysql \
  mysql:5.7

 

-e 환경변수(mysql docker hub에 여러가지 환경변수 있음)

--name 옵션을 이용하여 컨테이너에 읽기 어려운 ID대신 쉬운 이름을 부여할 예정

--name 생략하면 도커가 자동으로 이름을 지어줍니다

 

mysql -h127.0.0.1 -uroot 입력

show databases; 입력

 

3. 컨테이너 목록 확인

docker ps [OPTIONS]

ex)docker ps -a

 

4. 컨테이너 중지하기

docker stop [OPTIONS] CONTAINER [CONTAINER...]

ex) docker stop ${TENSORFLOW_CONTAINER_ID}

 

***도커 ID의 전체 길이는 64자리 입니다. 하지만 명령어의 인자로 전달할 때는 전부 입력하지 않아도 됩니다. 예를 들어 ID가 abcdefgh...라면 abcd만 입력해도 됩니다. 앞부분이 겹치지 않는다면 1-2자만 입력해도 됩니다.

 

5. 컨테이너 제거하기

docker rm [OPTIONS] CONTAINER [CONTAINER...]

ex)docker rm ${UBUNTU_CONTAINER_ID} ${TENSORFLOW_CONTAINER_ID}

ex)docker rm -v $(docker ps -a -q -f status=exited)  한번에 삭제

 

6. 도커 이미지 목록 확인하기

docker images [OPTIONS] [REPOSITORY[:TAG]]

ex) docker images

 

7. 도커 이미지 다운

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

ex) docker pull ubuntu:14.04

 

8. 도커 이미지 삭제

docker rmi [OPTIONS] IMAGE [IMAGE...]

ex)docker images # get image ID
docker rmi ${TENSORFLOW_IMAGE_ID}

 

9. 컨테이너 로그 보기

docker logs [OPTIONS] CONTAINER

ex) docker logs ${WORDPRESS_CONTAINER_ID}

ex) docker logs --tail 10 ${WORDPRESS_CONTAINER_ID}  마지막 10줄

ex) docker logs -f ${WORDPRESS_CONTAINER_ID}   실시간

 

10. 컨테이너에서 실행

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

run명령어는 새로 컨테이너를 만들어서 실행하고

exec는 실행중인 컨테이너에 명령어를 내리는 것이 다름

 

ex) docker exec -it mysql /bin/bash

ex) docker exec -it mysql mysql -uroot

 

 

도커 컨테이너를 업데이트

-새버전의 이미지를 다운(pull) 기존컨테이너를 삭제(stop, rm) 새 이미지를 기반으로 새 컨테이너를 실행(run) 하면 됨

 

컨테이너 삭제시 유지해야 되는 데이터 보관

-클라우드 서비스(아마존 S3)

-데이터 볼륨(호스트의 디렉토리에 마운트)

ex)docker run -d -p 3306:3306 \
  -e MYSQL_ALLOW_EMPTY_PASSWORD=true \
  --name mysql \
  -v /my/own/datadir:/var/lib/mysql \ # <- volume mount
  mysql:5.7

- >호스트의 /my/own/datadir디렉토리를 컨테이너의 /var/lib/mysql디렉토리로 마운트 하였습니다. 이제 데이터베이스 파일은 호스트의 /my/own/datadir디렉토리에 저장되고 컨테이너를 삭제해도 데이터는 사라지지 않습니다.

 

 

Docker compose

도커는 복잡한 설정을 쉽게 관리하기 위해 YAML방식의 설정파일을 이용한 docker compse라는 툴을 제공함

docker를 설치하면 깁노적으로 설치되어있음

 

docker-compose version 으로 버젼확인

 

overlay network

http://naver.me/FnTD925p
오버레이 네트워크의 중요한 처리(상자에 넣어 라벨을 붙이는 처리)를 ‘캡슐화’라고 합니다. 이 장치의 경우, 캡슐화라는 처리를 해서 캡슐로부터 내용을 꺼내 보낼 곳으로 데이터를 보내는 작업을 하거나, 누가 어떤 공장에 있는지를 작업자 Y씨나 Z 씨에게 적절히 알려주는 역할(기능)이 필요합니다. 사실 요즘은 Hyper-V 등과 같은 서버 가상화가 그 역할을 담당할 수 있게 되어 있습니다.

즉, 지금까지 라우터나 스위치 등과 같은 물리 네트워크 기기가 담당하던 처리의 일부를 서버 가상화가 담당해주는 것입니다. 이로써 네트워크 사이에 데이터를 보내는 물리적인 네트워크 기기의 종류에 구애받지 않게 됩니다. 따라서 싼 가격에 심플한 기기를 잘 활용할 수 있으면 ‘비교적 비싸다’라고 여겨지는 네트워크 기기의 비용을 줄일 수 있습니다.

 

 


 


 

 

 

 

 

 

 

 

 

 

 

두달 무료로 사용해보고 저렴하게 이용할 수 있는 가상서버호스팅으로 추천해요 - 디지털 오션

Posted by HULIA(휴리아)
2017. 9. 15. 16:37 호스팅_서버_툴/서버

안녕하세요

휴리아입니다


오늘은 최근에 제가 이용하고 있으면서 만족을 하고 있는 서비스가 있어서 여러분들에게 추천하려고 합니다


바로 호스팅이라는 서비스입니다

호스팅이란

온라인에서 웹사이트를 접속하고 이용할 수 있도록 항상 대기하고 있는 서비스를 말합니다

여기서 말하는 서비스는 실제로 서버(컴퓨터)가 하는 것입니다


그래서 우리는 네이버라는 사이트에도 접속해서 메일도 블로그도 검색 등등도 할 수 있는 것이지요


그런 호스팅을 받으려면 IDC라는 곳을 이용하거나 호스팅업체를 통해서 호스팅을 받을 수 있었는데요 

최근에는 국내뿐만 아니라 해외 호스팅업체로도 받을수 있습니다


국내 호스팅업체와 해외 호스팅업체와의 차이점

1. 결제 수단 

국내는 원단위로 결제

해외는 달러로 결제

즉 해외호스팅 업체를 위해서는 해외결제가능한 카드가 필요합니다


2. 금액 책정

국내 호스팅업체는 설치비라는 것이 있습니다(등급을 변경할때마다)

해외 호스팅업체는 설치비가 없습니다


호스팅업체사이트에 가보면 참 여러가지 서비스가 많은데요

가장 저렴하게 호스팅을 받을 수 있는 서비스가 있는데 

그것이 바로

가상서버호스팅(VPS)이 있습니다


즉 물리적인 컴퓨터는 하나이지만 그안에서 여러사람이 동시에 이용할 수 있는 호스팅이지요


저는 국내 호스팅업체를 선택하지 않고 해외 호스팅 업체를 택했습니다

그 이유는 몇가지가 있는데요


일단은 등급별로 설치비가 없어서 마음대로 등급을 올릴수도 내릴 수도 있습니다

그런데 상대적으로 같은 스펙으로 저렴한 비용으로 이용할 수 있습니다

가격정책도 만족스러웠습니다


그리고 국내뿐만 아니라 글로벌하게 사용하기 때문에 품질 또한 좋다고 듣기도 했습니다

물론 추천받기도 했지요


바로 그 서비스는 디지털 오션(Digital ocean)이라는 곳입니다


디지털 오션의 가격정책은







최소 월 5달러이지만 시간당 과금을 하고 있습니다

굉장히 저렴하게 되어있습니다

물론 호스팅을 받고서 기본적으로 설정이 필요합니다


서버(컴퓨터)가 정상적으로 이용하기 위해서는 OS설치와 기본적인 서비스가 설치가 필요한데 디지털오션은 설치가 아주 간편하게 되어있습니다







클릭으로 원하는 서비스들을 설치할 수 있습니다





https://www.digitalocean.com/community


설치후에  설정방법들은 목록들이 자세히 나와있습니다




그리고 글로벌 서비스 이다보니 실제 서버의 위치를 정할 수 있는데 물리적 위치가 가까운게 아무래도 좋겠지요



그리고 가장 좋은 점은 

추천인을 통해서

추천인과 가입자에게 크레딧을 제공하고 있습니다

10$크레딧인데요

최소 호스팅을 2달동안 비용없이 이용할 수 있는 금액입니다


일단 2달동안 한번 사용해 보시고 결정할 수 있으니 얼마나 좋은가요

국내 호스팅업체에서는 꿈도 꿀 수 없는 시스템입니다


추천인 링크는 다음과 같고

가입하시면 크레딧이 제공될 것입니다




https://m.do.co/c/77fb60e902b8


위의 링크로 가입하면 10달러가 지급됩니다


무료로 사용하시고 저렴하게 이용할 수 있는 디지털 오션 가상서버 호스팅 VPS 이용해 보세요

좋은 정보로 저는 다시 찾아오겠습니다

VI 명령어 정리

Posted by HULIA(휴리아)
2017. 6. 3. 00:27 호스팅_서버_툴/툴

라인이동

라인번호 입력후 SHIFT+G

 

위로 스크롤

CTRL+B

 

 

아래로 스크롤

CTRL+F

 

맨 아래로

G

 

 

맨 위로

g

 

 

검색

/검색어

 

아래로 검색

n

 

위로 검색

N

 

복원

u

 

복원취소

CTRL+R

디지털오션 Centos6에서 mariaDB 설치하기

Posted by HULIA(휴리아)
2017. 5. 20. 14:53 호스팅_서버_툴/서버

===============================DB설치
mariadb 5.5 설치
workbench 이용 가능


vi /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB-5.5.39
baseurl=https://downloads.mariadb.com/files/MariaDB/mariadb-5.5.39/yum/rhel6-amd64/
# alternative: baseurl=http://archive.mariadb.org/mariadb-5.5.39/yum/rhel6-amd64/
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

 

sudo yum install MariaDB-server

 

sudo systemctl start mariadb  아니면   sudo /etc/init.d/mysql start

 

 

 

root 패스워드와 외부 접속 설정

sudo mysql_secure_installation

Enter current password for root (enter for none): 이럴때는 엔터
set root password :Y
remove anonymous users Y
disallow root login remotely y
remove test database and access to it y
reload priviliege tables now y


접속
mysql -u root -p

show databases;
create database easywhooing;
use mysql;
CREATE USER 'istoryful'@'%' IDENTIFIED BY '820820';
grant all privileges on easywhooing.* to istoryful@'%'
show grants for 'istoryful'@'%';
flush privileges;

 

접속
mysql -u istoryful -p

 

캐릭터셋 설정
cd /etc/my.cnf.d/


sudo vi client.cnf

[client]
default-character-set = utf8

 

sudo vi mysql-clients.cnf

[mysql]
default-character-set = utf8
[mysqldump]
default-character-set = utf8

 

sudo vi server.cnf

[mysqld]
character-set-server=utf8

 

sudo service mysql restart

 

시스템의 캐릭터셋 확인

show variables like 'char%';

 

기존 테이블의 캐릭터셋 변경

alter table COLLECTIVE_LINK convert to character set utf8;

디지털 오션 리눅스(CENTOS6)에 자바 개발환경 설치

Posted by HULIA(휴리아)
2017. 5. 19. 01:53 호스팅_서버_툴/서버

 

==============================공식사이트
https://cloud.digitalocean.com/settings/referrals?i=5d9e0a


=================================튜토리얼
https://www.digitalocean.com/community/tutorials/how-to-install-java-on-centos-and-fedora#install-oracle-java-7
https://www.digitalocean.com/community/tutorials?q=mariadb+centos


===============================리눅스 유저등록
sysadmin 유저등록(설치등)   
istoryful 유저등록(개발소스 올리기)

adduser sysadmin
passwd sysadmin

 

sysadmin wheel 그룹 등록
gpasswd -a sysadmin wheel

sudo권한 부여위해 permission변경
chmod u+w /etc/sudoers

 

sudo권한 부여위해 permission해제
chmod u-w /etc/sudoers


===============================자바설치
자동설치는 yum
다운로드는 wget

sysadmin으로 java 설치
cd ~
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.rpm"

sudo yum localinstall jdk-7u79-linux-x64.rpm

export JAVA_HOME=/usr/java/jdk1.7.0_79
echo $JAVA_HOME

 

=======================================PATH설정
JDK 경로 설정
$ cd ~
$ vi .bash_profile

 

#JAVA JDK7
export JAVA_HOME=/usr/java/jdk1.7.0_51
export PATH=$PATH:$JAVA_HOME/bin

 

* 저장된 프로파일 적용
$ source .bash_profile

 


===============================서버설치
cd /usr/
wget http://mirror.navercorp.com/apache/tomcat/tomcat-8/v8.5.15/bin/apache-tomcat-8.5.15.tar.gz

 

$ cd ~
$ vi .bash_profile
export CATALINA_HOME=/usr/apache-tomcat-8.5.15/
export PATH=$PATH:$CATALINA_HOME/bin

 

* 저장된 프로파일 적용
$ source .bash_profile


catalina.sh 파일에 추가함
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms256m -Xmx512m -XX:NewSize=256m -XX:MaxNewSize=512m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+DisableExplicitGC"
(*) JVM의 기본 heap 메모리 사이즈는 64MB 이므로 최소한 -server, -Xms, -Xmx 옵션은 설정해야 한다.


시작
startup.sh

중지
shutdown.sh

 

================================접속테스트
http://128.199.67.59:8080

 

 



============================톰켓(tomcat)에서 document root 설정


tomcat 설치디렉토리의 conf/server.xml에 아래와 같은 내용있다

 

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

</Host>

 

appBase를 보면 webapps로 설정되어있다

 

tomcat 설치디렉티리의 webapps디렉토리가 있고 그안에 ROOT가 기본적으로 document root가 된다

 

 

====ROOT폴더외로 수정하려면 <Host> 하위에 <Conext>를 추가하면 된다

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

<Context path="" docBase="web" reloadable="true"/>

</Host>

 

이러면 webapps하위의 web디렉토리가 document root가 된다

 

 

=====예시

<Host name="localhost"  appBase="/home/user/oramaster/public_html"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
   <Context path="" docBase="." reloadable="true"/>
</Host>

 

 

<Host name="localhost"  appBase="webapps" 
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
   <Context path="" docBase="/home/user/oramaster/public_html" reloadable="true"/>
</Host>

 




이클립스 자주 쓰는 단축키

Posted by HULIA(휴리아)
2017. 3. 30. 22:29 호스팅_서버_툴/툴

이클립스 자주 쓰는 단축키

 

[실행]

Ctrl + F11 : 이전에 실행했던 클래스 실행

 


[열기]

Ctrl + Shift + R : 이름 검색해서 리소스 열기

 


[소스 네비게이션]

Ctrl + 마우스커서(혹은 F3) : 클래스나 메소드 혹은 멤버 상세 검색

Alt + LeftAlt + Right : 이후, 이전

Ctrl + O : 소스의 메소드 리스트 확인

F4 : 클래스명을 선택하고 F4를 누르면 해당 클래스의 상속 계층 확인

Alt + <- (->) : 이전(다음) 작업 화면

 


[문자열 검색]

Ctrl + K : 찾을 문자열을 블럭으로 지정하고 위에서 아래로 검색

Ctrl + Shift + K : 아래에서 위로 문자열 검색

Ctrl + F : 기본 검색

Ctrl + H : 여러가지 검색(파일 검색을 하면 전체가 검색된다)

 


[소스 편집]

Ctrl + Space : 입력 중에 완성 기능 호출 

F2 : 컴파일 에러 줄에 커서를 놓고 이 키를 누르면 에러 힌트 제공

Ctrl + L : 지정한 소스 줄로 이동

Ctrl + Shift + Space : 메소드 괄호에 커서를 놓고 이 키를 누르면 파라미터 힌트 보여줌

Ctrl + D : 한 줄 삭제

Ctrl + W : 파일 닫기

Ctrl + I : 들여쓰기 자동 수정

Ctrl + Shift + / : 블록을 주석으로 처리 (/* */)

Ctrl + Shift + \ : 블록 주석을 해제

Ctrl + / : 여러 줄을 주석 처리/해제


Alt + Shift + 방향키 : 블록 선택

Ctrl + Shift + Space : 메소드 파라미터 목록

Ctrl + Shift + O : 자동 import 

Ctrl + Shift + F4 : 열린 파일을 모두 닫음

Ctrl + M : 전체 화면 전환


Ctrl + Alt + Up(Down) : 한 줄(블럭) 복사

Alt + Up(Down) : 위(아래) 줄과 바꾸기


Ctrl + , 또는 . : 다음 annotation(에러, 워닝, 북마크) 점프

Ctrl + 1 : 퀵 픽스(리팩토링)


F3 : 선언된 변수나  메소드 정의로 이동

Ctrl + T : 상속 계층 팝업 창 

Ctrl + O : 메소드나 필드 이동

Ctrl + F6 : 창 전환



[주석]

Alt + Shift + R : code templete 주석 등록(해당 클래스 위에서)

/** : 해당클래스 위에서 엔터 자동으로 parameter가 주석으로 들어감

 


[템플릿 사용]

sysout 입력 후 Ctrl + Space :  System.out.println(); 자동 입력됨

       Windows > Preferences > JAVA > Editor > Templates에 추가 가능 

try 입력한 후 Ctrl + Space : try-catch 문이 자동 완성

for 입력한 후 Ctrl + Space : for 문 자동 완성



[에디터 변환]

여러 파일 작업중일 때 Ctrl + F6 키를 누르면 파일 목록 나옴.  

       F6 누르면 아래로 이동하고 Ctrl + Shift + F6  : 누르면 위로 커서 이동

Ctrl + F7 : 뷰 전환

Ctrl + F8 : 퍼스펙티브 전환

F12 : 에디터로 포커스 이동 

Ctrl + / :  라인/블록 주석 처리 (추가/제거)

Ctrl + L : 특정 줄로 이동

Ctrl + F6 : Editor 창 이동

Ctrl + F7 : View 이동

Ctrl + F8 : Prespectives 이동

Ctrl + D : 커서가 위치한 줄 삭제 

Ctrl + J : Incremental find 

           한 글자자씩 누를 때 마다 코드내의 일치하는 문자열로 이동 

           Ctrl + J 를 다시 누르면 일치 부분을 위/아래 방향키로 탐색 가능

Ctrl + N : 새 파일/프로젝트 생성

Ctrl + 1 (빠른 교정) – 구문에 맞게 소스 교정 지원

Ctrl + 0 : 클래스 구조 트리

Ctrl + Space :  소스에서 사용 가능한 메소드, 멤버 리스트

Ctrl + PageUp , Ctrl + PageDown : Edit 창 이동

Ctrl + Shift + Down : 클래스 내에서 다음 멤버로 이동

Ctrl + Shift + M : 해당 객체에 커서롤 놓고 키를 누르면 Import 구문 자동 생성

Ctrl + Shift + O :  전체 소스에서 import 안 된 클래스의 import 문 자동 생성

Ctrl + Shift + G : 해당 메서드/필드 쓰이는 곳 표시

Alt + Shift + R : 이름 변경 (소스 내에서 영향받는 참조 정보까지 변경)

F3 : 선언된 위치로 이동

F11 : 디버깅 시작

F8 : 디버깅 계속

F6 : 한 줄씩 디버깅 

F5 : 한 줄씩 디버깅할 때 함수인 경우 함수 내부까지 디버깅

F12 : Editor 창으로 이동 

Alt + Up , Alt + Down :  해당 줄을 위/아래로 이동

Alt + Shift + S :  소스 메뉴 출력(Import 추가 , Comment 추가 , Generator 메뉴)

Alt + Shift + Up : 블록 설정 

Alt + Shift + Down : 블록 해제 

Alt + Shift + J :  해당 메서드/클래스에 대한 주석 템플릿 생성

Alt + Shift + Z : 구문 블록을 감싸는 메뉴 제공

Ctrl + Shift + F : 소스 코드를 문법 템플릿에 맞게 정리

Ctrl + Alt + Down: 한 줄 복사 후 그 아래에 붙여넣음

Ctrl + Shift +X : 대문자로 변환

Ctrl + Shift + Y : 소문자로 변환

Ctrl + Shift + L : 모든 단축키 목록 표시

Ctrl + Shift + B : 커서 줄에 중단점 설정

Ctrl + Shift + T : 클래스 검색

무료 소스관리 서버(git방식)

Posted by HULIA(휴리아)
2017. 3. 29. 00:40 호스팅_서버_툴/서버

무료 대표 소스 관리 서버는 다음과 같다

1. github

2. bitbucket

3. gitlab

 

 

1. github

public 일때는 무료

private 일때는 유료 7달러부터

 

 

2. bitbucket

public 일때는 무료

5인 이하일때는 private  무료

 

 

3. gitlab

서버에 설치가능

public 무료

private 무료

 

 

 

 

gitlab 가입

bitbucket 가입

 

 

 

장점

웹으로 소스볼수 있고
변경사항
그래프로 확인 등

이슈트래커
이슈들 관리할수 있다

 

 

막강한 기능을 가진 프론트 무료 텍스트 에디터 기능들 요약 브라켓 아톰 서브라임 비주얼스튜디오코드

Posted by HULIA(휴리아)
2017. 1. 20. 22:24 호스팅_서버_툴/툴

****필수 인스톨 패키지도 같이 적어두기



공통점

다양한 OS 지원

-윈도우, 맥, 리눅스




1. 비주얼 코드(MS에서 개발)

-플러그인등을 설치안해도 기본으로 제공되는 기능이 많다(code compare 기능 제공

-강력한 CSS 유효성 체크 기능

-많은 사이드바 위치 표시 기능

-안정성, 속도가 ATOM보다는 빠르다(주관이므로 참고)

-쓸만한 문서비교 기능

-다양한 언어 지원가능한 플러그인 설치 가능

-IDE 부럽지 않은 디버깅 기능

-강력한 IntelliSense 지원


 

공식사이트

https://code.visualstudio.com 




2. 브라켓(Adobe에서 개발)

-크롬 브라우저를 통해서 실시간 코딩하는 화면을 볼 수 있다

-OS따라서 환경이 거의 동일하다

-자동완성기능 제공

-테마와 플러그인 제공

-무료이다(MIT라이센스)

-포토샵과 일러스트레이터랑 연동이 된다

-컬러값을 쉽게 사용할 수 있다

-빌드라던지 등등 쓰기 힘들다(개발자에겐 어울리지 않음)


공식사이트

http://brackets.io/


플러그인

-Emmet(젠코딩)

-Beautify(코드정렬)



 

 

3. 아톰(Github에서 개발)

-많은 플러그인을 설치하면 느려지는 단점이 있음(오류도 간간히)

-너무 많은 업데이트



공식사이트

https://atom.io/



플러그인

-atom-beautify(코드정렬)

-docblockr(주석포멧)

-emmet(젠코딩)

-minimap(작업중인파일미니맵)

-open-in-browser(html파일을 브라우저에서 열어보는플러그인)

-run-in-atom(아톰 에디터에서 스크립트를 돌려볼 수 있는 플러그인)

-seti-icon(아이콘)

-split-diff(diff및 변경이력)

-color-picker(컬러)

-markdown-preview-plus

-linter(html, css, javascript 유효성 검증)


플러그인 관련 글

https://gomugom.github.io/atom-packages/


 

 

4. 서브라임(Sublime에서 개발)

-무료도 계속 쓸 수 있지만 팝업이 뜨면서 유료로 결제하길 원한다

-속도면에서보면 위의 에디터에서 가장 빠르지 않을까(주관적임)

-FTP를 에디터에서 사용할 수 있다(플러그인 제공)

-포터블 버젼 제공


공식사이트

http://sublimetext.com

 

플러그인

-ConverToUTF8(인코딩)

-emmet(젠코딩)

-