개발환경구축하기
내가 사용한 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 폴더/파일