'개발자료'에 해당되는 글 2건

  1. 2016.04.08 CentOS6.0 아파치 설치
  2. 2015.10.11 git 란

개발환경구축하기 

내가 사용한 OS 는 centOS6 버젼!


우선 

톰캣+아파치 설치이전에 리눅스 환경설정 후 셋팅 한다.

1. 리눅스 캐리터셋 설정

2. 리눅스 호스트네임 설정

3. 리눅스 커널 튜닝

4. 리눅스 방화벽 설정,호스트네임 추가

5.아파치+톰갯 셋팅

6 구축테스트

7.리눅스 crontab 설정



리눅스 캐릭터셋 설정 : 


#vi /etc/sysconfig/i18n


아래 추가

LANG="ko_KR.UTF-8"

SUPPORTED="en_US.UTF-8:en_US:en:ko_KR.eucKR:ko_KR:ko:ko_KR.UTF-8"


리눅스 OS 튜닝

# ulimit -a

# vi /etc/sysctl.conf

추가

fs.file-max = 62787 


# vi /etc/security/limits.conf

추가 

* soft nproc 62787 

* hard nproc 62787

* soft nofile 62787

* hard nofile 62787


# vi /etc/security/limits.d/90-nproc.conf

추가 

* soft nproc 62787

* hard nproc 62787


# reboot (튜낭후 리부팅)






아파치 설치 유무 및 실행 유무

# ps -ef|grep httpd

# /etc/init.d/httpd stop


열려있는 포트 확인

# netstat -apn | grep "LISTEN"


필요한 라이브러리 유무 확인
# rpm -qa libjpeg* libpng* freetype* gd-* libjped-6b-37 freetype-2.2.1-17.el5 libpng-1.2.10-7 gb-2.0.33-9.3.fc6

라이브러리 없으면 yum으로 설치
# yum install libjpeg-devel libpng-devel freetype-devel gd-devel gcc make gcc-c++ openssl-devel



아파치 설치

yum update openssl
/usr/local/src 에 파일 압축 푼다.
# tar -xvzf httpd-2.2.29.tar.gz

아파치 설정 변경(worker방식)
# vi server/mpm/worker/worker.c
#define DEFAULT_SERVER_LIMIT 16->32
#define DEFAULT_THREAD_LIMIT 64->128

아파치 컴파일
# ./configure --prefix=/usr/local/server/apache --with-mpm=worker --enable-mods-shared=all --enable-so --enable-rewrite --enable-proxy --enable-proxy-http --enable-ssl --enable-module=ssl

# make && make install

아파치  환경설정 편집
# vi /usr/local/server/apache/conf/httpd.conf

일반유저로 변경
Inclued conf/extra/httpd-mpm.conf (주석해제)
 
아파치 설정 변경
# vi /usr/local/server/apache/conf/httpd.conf
ServerName 도메인으로 변경 
DocumentRoot "/usr/local/server/apache/htdocs/패키지명"
<Directory "/usr/local/server/apache/htdocs/패키지명">
ErrorDocument 추가(에러시 띄울 페이지)



방화벽 설정

# vi /etc/sysconfig/iptables 

추가 
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -s 101.79.43.101 -p udp --dport 161 -j ACCEPT
-A INPUT -s 115.71.15.101 -p udp --dport 161 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

시스템재시작
# /etc/init.d/iptables restart
# service iptables restart

# crontab -e 에 00:00 .해당되는 주석 해제
아파치,톰캣 로그압축 모듈 크론탭에 생성
# crontab -l 
추가
/etc/logrotate.d/apache
로그 압축모듈 쉘스크립드 추가 
# cd /etc/logrotate.d/apache 
<추가>
/usr/local/server/apache/logs/access_log
/usr/local/server/apache/logs/mod_jk.log
/usr/local/server/apache/logs/error_log
{
    daily
    rotate 30
    missingok
    compress
    create 0600 root root
    postrotate
        /bin/kill -HUP `cat /usr/local/server/apache/logs/httpd.pid 2>/dev/null` 2> /dev/null || true
    endscript
}



자바설치

(위젯이용)

# wget http://download.oracle.com/otn-pub/java/jdk/8u65-b17/jdk-8u65-linux-x64.tar.gz

# /usr/local 경로에 압축해제

# tar -xvzf jdk-8u65-linux-x64.tar.gz


심볼링 설정(별칭)

# ln  -s jdk1.8.0_65 java 


자바 환경설정

# vi /etc/profile

추가

export JAVA_HOME=/usr/local/java

export PATH=$PATH:$JAVA_HOME/bin:


시스템적용

# source /etc/profile


자바확인

# javac





톰캣설치


# cd /usr/local/server

# /usr/local/server 에 압축해제

# tar -xzvf apache-tomcat-7.0.55.tar.gz -C /usr/local/server/


톰캣심볼링 설정

# ln -s apache-tomcat-7.0.55 tomcat


톰캣 환경변수 설정

# vi /etc/profile

추가

export APACHE_HOME=/usr/local/server/apache

export CATALINA_HOME=/usr/local/server/tomcat

export CLASSPATH=$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin:$APACHE_HOME/bin

export LD_LIBRARY_PATH=/usr/local/apr/lib


시스템적용

# source /etc/profile


apr존재 유무 확인
# cd /usr/local/server/apache/bin


톰캣 라이브러리 설치

# cd /usr/local/src/

# tar -xzvf tomcat-native-1.1.31-src.tar.gz

# cd tomcat-native-1.1.31-src/jni/native


컴파일

# ./configure --with-apr=/usr/local/server/apache/bin/apr-1-config --with-java-home=$JAVA_HOME

# make

# make install


apr 경로확인

# cd /usr/local/

있으면  컴파일 성공!


서비스 재시작 

# service iptables restart


톰캣 설정 변경(웹 동적파일 경로)


웹컨텍스트폴더(동적파일)수정

# vi /usr/local/server/tomcat/conf/server.xml

<Host name="도메인명" appBase="동적파일경로" unpackWARs="true" autoDeploy="true">

<Context path="" docBase="정적파일(jsp,ftl,img)/home/web/패키지명/WebContent" reloadable="true">



톰캣 + 아파치 연동

# cd /usr/local/src


connector 라이브러리 압축 해제

# tar -xvzf tomcat-connectors-1.2.40-src.tar.gz

# cd /tomcat-connectors-1.2.40-src/native


connector 컴파일

# ./configure --with-apxs=/usr/local/server/apache/bin/apxs

# make

# make install


mod_jk 생성확인(mod_jk.so파일)

# cd /usr/local/server/apache/modules




톰캣 + 아파치 설정 파일


노드설정시 : # cd /usr/local/server/apache/bin/apache-node.sh

아파치 기존 설정파일  : # cd /usr/local/server/apache/conf/extra/httpd-default.conf

uri 설정파일 :              cd /usr/local/server/apache/conf/extra/httpd-mpm.conf  

아파치 설정 파일 cd /usr/local/server/apache/conf/httpd.conf 

톰캣+아파치 연동 설정파일:  cd /usr/local/server/apache/conf/mod-jk.conf

uri 파라미터 파일  : cd /usr/local/server/apache/conf/uriworkermap.properties

워커 설정 파일:      cd /usr/local/server/apache/conf/workers.properties 

톰캣 노드 설정 파일 cd /usr/local/server/tomcat/bin/tomcat-node.sh

톰캣 기본 설정(path,host,user 등등 설정)cd /usr/local/server/tomcat/conf/server.xml




os 유저추가 

# useradd

유저 비번변경

# passwd 


폴더 일반유저 권한으로 변경

# chown -R 일반유저계정.일반유저계정 변경할폴더


일반유저로 실행

# cd /usr/local/server/apache/bin 

# chown root:root httpd

# chmod +s httpd

# chown 일반계정:일반계정 apachectl

# chmod 755 폴더/파일



'개발자료' 카테고리의 다른 글

git 란  (0) 2015.10.11
Posted by 양승아
:

git 란

개발자료 2015. 10. 11. 18:50 |

Git 에 대해서


git 는 형상관리중 하나로 흔히 알고 있고 svn 과 비슷하지만, svn  과 다른점이 있다.

지금 부터 svn 과 비교하여 설명해 보겠다. 


svn 은 

작업공간 ----저장소 

git 는 

작업공간 --스테이지영역--로컬저장소--원격저장소


svn 은 commit 하면 저장소에 소스를 저장하여 지원한다.

git 는 commit 하면 로컬저장소에 저장이된다. 원격 저장소라는 곳에 연결되어 소스를 공유한다.

commit 하기 전에 스테이지영역(인덱스)  추가해야 된다!


만약 빌드를 svn 에 로그인페이지, css 파일을 동시에 빌드했다고 가정할때

로그인페이지 빌드를 미루게되어 revert 해야되면  css파일까지 빌드전으로 복구해애되는 단점이 있다,


git 은 빌드해야되는 파일만 스테이지 영역에 추가하고( git add) 로컬저장소에 commit  하면 된다,

부분적으로 commit할 필요 없는 경우에는  git commit -a 으로 모두 동시에 커밋하면 된다.

commt 마치면 다른사람에게 소스공유 하면된다, 이땐 git push  명령어 사용한다.


내 작업을 올리는데 오류가 발생하여 다른 사람들이 작업한 내용을 먼저 받아야 할때는 

git pull 명령어 사용한다, (원격저장소로부터 내려받기 fetch + 내려받은 데이터를 병합 merge)


branch!! 에 알아보자

svn 은 전체 디렉토리 구조를 내려받아야하고 직접 디렉토리를 이동해야된다. 병합도 위치와 리비전을 명시하고 다소 복잡하다.

git 은 전체 디렉토리로 내려받을 필요없고 브랜치전환시 작업파일들이 실시간으로 변경된다.


브랜치 만들기

git branch<name>

git checkout<name> 


브랜치 지우기

git branch -d <name>


브랜치 병합

git checkout master 

git merge branch


브랜치 목록

git branch

git branch --no-merged

git branch --merged (merge가 되었는지 안되었는를 구분)



rebase?

rebase 는 merge와 동일하게 하나의 브랜치를 다른 브랜치로 병합하는 기능이다. 

단 rebase는 작업 히스토리를 다른 브랜치에 차례대로 적용시킨다.


svn  은 최종 작업을 merge 하는데

     b1          b2          b3         b4

a   o ---------------------------o


b   o----------o-----------------o


rebase 는 

     b1          b2          b3         b4

a   o ---------v--------v--------o


b   o----------o--------v--------o


공동작업에서 깔끔한 히스토리를 계속 유지해주고 싶다면 rebase를 적극적으로 사용하는 것이 좋다.


 그럼 svn 과 차이점은 ?

* 로컬저장소가 존재한다.

* 커밋 이전에 스페이지영역에 추가하는 과정이 있다.

* git 은 각각의 버전을 스냅샷으로 저장한다


git의 특징들!!

* 작업중 브랜치를 변경해야 하는데 커밋하기 애매할때, 간단히 저장해 둘 수 있음.

* 커밋을 순서를 변경하거나 커밋 메시지 심지어는 커밋한 파일도 변경할 수 있음

* 로그를 자기 입맛대로 포맷팅 할수 있음

* 이전 커밋에 추가 할수 있음










'개발자료' 카테고리의 다른 글

CentOS6.0 아파치 설치  (0) 2016.04.08
Posted by 양승아
: