본문 바로가기

webserver

redis + tomcat 이중화 구성

Tomcat Manual
*  수동설치메뉴얼


Apache Install
1. apr , apr-util , pcre , apache , install , etc


Tomcat Install
1. Download
2. Setting


Load Balnce
1. Tomcat Connector install
2. Setting


Session Clustering
1. Setting


Public Session - redis
1.  Setting






sh.tomcat , sh.redisclean, sh.apache
________________


Apache Install - 1. apr


cd /usr/local/


http://apache.mirror.cdnetworks.com/apr/ 이동 후 최신버전 URL 획득 후 wget 실행


ex) wget http://apache.mirror.cdnetworks.com/apr/apr-1.5.2.tar.gz




Apache Install - 2. apr-util


http://apache.mirror.cdnetworks.com/apr/ 이동 후 최신버전 URL 획득 후 wget 실행


ex) wget http://apache.mirror.cdnetworks.com/apr/apr-util-1.5.4.tar.gz




Apache Install - 3. pcre


ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 이동 후 최신버전 URL 획득 후 wget 실행


ex) wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz




Apache Install - 4. apache


http://apache.tt.co.kr/httpd/ 이동 후 최신버전 URL 획득 후 wget 실행


ex) wget http://apache.tt.co.kr/httpd/httpd-2.4.18.tar.gz
________________


Apache Install - 5. Install


yum groupinstall 'Development Tools' 'Development Libraries'


tar -zxf  apr-1.5.2.tar.gz
tar -zxf  apr-util-1.5.4.tar.gz
tar -zxf  pcre-8.38.tar.gz
tar -zxf  httpd-2.4.18.tar.gz






 
apr Install
cd /usr/local/apr-1.5.2/
./configure --prefix=/usr/local/apr
make && make install


apr-util Install
cd /usr/local/apr-util-1.5.4/
 ./configure --prefix=/usr/local/aprutil --with-apr=/usr/local/apr/
make && make install


pcre Install
cd /usr/local/pcre-8.38/
./configure --prefix=/usr/local/pcre
make && make install


apache Install
cd /usr/local/httpd-2.4.18/ 
./configure --prefix=/usr/local/apache --enable-mods-shared=all --enable-so --enable-rewrite --enable-auth-digest --with-apr=/usr/local/apr --with-apr-util=/usr/local/aprutil/ --with-pcre=/usr/local/pcre
make && make install








________________




Apache Install - 6. Etc


방화벽 이슈로 설치가 안될 수도 있으므로 방화벽을 모두 내려 주거나 
systemctl stop firewalld


포트 오픈을 해준다. (80번)


Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message


라는 메세지가 나온다면 


vi /usr/local/apache/conf/httpd.conf


servername 부분 주석을 풀고


ServerName localhost


:wq로빠져나온다.


로변경을 해준다.


vi /etc/hosts 에서
[root@TBU-01]
부분이 있는지 확인 한다.
없으면 추가하고 한칸 띄워 준다.




________________


Tomcat Install - 1. Download


톰캣 위치와 개수는 마음대로 지정하여도 된다.


여기서는 톰캣 위치를  클러스터링은 cd /usr/local/tomcat/ 
redis를 통한 클러스터링은 cd /usr/local/redis_tomcat/
으로 하겠으며, 각각명령어는
mkdir /usr/local/tomcat/ 
mkdir /usr/local/redis_tomcat/


cd   /usr/local/tomcat/ 
                   


http://tomcat.apache.org/ 이동 후 7버전 URL 획득 후 wget 실행


ex) 
wget http://apache.mirror.cdnetworks.com/tomcat/tomcat-7/v7.0.68/bin/apache-tomcat-7.0.68.tar.gz


받은 후 N개의 톰캣을 생성 하여 준다. (여기선 2개)


tar -zxf apache-tomcat-7.0.68.tar.gz


mv apache-tomcat-7.0.68 tomcat1


스크립트 생성(최하단 별첨 확인)
cd   /usr/local/tomcat/  하위에 생성
cd   /usr/local/redis_tomcat/ 하위에 생성 하면 된다.


cd   /usr/local/tomcat/  


(스크립트생성 하부참조)


생성 후 권한부여
chmod 775 sh.apache sh.redisclean sh.tomcat


cp sh.apache ../redis_tomcat/
cp sh.redisclean ../redis_tomcat/


cd   /usr/local/redis_tomcat/
( tomcat 스크립트생성 하부참조)
해서  redis용 tomcat 스크립트를 집어 넣는다.


chmod 775 sh.tomcat


cd   /usr/local/tomcat/




* 필수 사항은 아니나 해주면 편하게 할 수 있다.






________________


Tomcat Install - 2. Setting 


conf/server.xml


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


1.Tomcat Port 변경
<Connector port="8080" protocol="HTTP/1.1"    connectionTimeout="20000"
               redirectPort="8443" />


2. AJP Port 변경
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />


3. Shutdown port변경
<Server port="8005" shutdown="SHUTDOWN">


빨간색 부분은 tomcat 마다 다르게 설정해 준다.


4. 유저생성


vi /usr/local/tomcat/tomcat1/conf/tomcat-users.xml


아래 구문 추가 (존재하면 하지 않아도 된다.)
<role rolename="manager-gui"/>
<user username="root" password="1234" roles="manager-gui"/>
roles는 유저의 권한을 의미한다.


tomcat을 실행 시킨다.


/usr/local/tomcat/tomcat1/bin/startup.sh
or
sh sh.tomcat 1 start


http://(ip):8080(protocol="HTTP/1.1" 에서 붉은색 글씨로 설정한 부분)/
접속 후 Manager App 버튼을 클릭합니다.
위에서 지정했던 root / 1234 를 입력합니다.


War file to deploy 밑의 파일 선택을 눌러 테스트 App을 업로드 시킨후
Deploy 버튼을 클릭합니다.
*부가적 세팅
vi /usr/local/tomcat/tomcat1/webapps/ROOT/index.jsp


<h1>${pageContext.servletContext.serverInfo}</h1>
검색 후
<h1>${pageContext.servletContext.serverInfo} - 1</h1>
과 같이 번호를 매긴다.(톰캣을 구분하기 위함) 
하지 않으면 로그로 확인을 하면 된다.
redis 톰캣의 경우 
<h1>${pageContext.servletContext.serverInfo} - redistomcat1</h1>
과 같이 해주면 구분하기 편하다.




화면에 deploy된 프로젝트가 보일 것입니다.


path 부분 밑 해당 하이퍼링크를 클릭하여 제대로 작동 하는지 확인 합니다.


cp -r tomcat1 tomcat2


tomcat2도 같은 방식(Tomcat Port 변경 부분 부터) 설정을  해줍니다.


톰캣을 모두 중지시킵니다.
/usr/local/tomcat/tomcat1/bin/shutdown.sh
/usr/local/tomcat/tomcat2/bin/shutdown.sh
or
sh sh.tomcat 1 stop
sh sh.tomcat 2 stop




redis tomcat 폴더로 복사
cp -r tomcat1 ../redis_tomcat/
cp -r tomcat2 ../redis_tomcat/




________________


Load Balnce - 
Tomcat Connector Install


cd /usr/local/


http://apache.mirror.cdnetworks.com/tomcat/tomcat-connectors/jk/ 이동 후 최신버전 URL 획득 후 wget 실행


ex) 
wget  http://apache.mirror.cdnetworks.com/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.41-src.tar.gz


tar -zxf tomcat-connectors-1.2.41-src.tar.gz
압축해제


cd /usr/local/tomcat-connectors-1.2.41-src//native/
폴더이동


./configure --with-apxs=/usr/local/apache/bin/apxs
설정파일 셋팅


make && make install
컴파일




________________


Load Balnce - 
Tomcat Connector Install Setting




cd /usr/local/apache/conf/
폴더이동


vi workers.properties


worker.list=worker1,worker2,balancer


worker.worker1.port=8009 
worker.worker1.host=localhost
worker.worker1.type=ajp13
worker.worker1.lbfactor=1


worker.worker2.port=8109
worker.worker2.host=localhost
worker.worker2.type=ajp13
worker.worker2.lbfactor=1


worker.balancer.type=lb
worker.balancer.balance_workers=worker1,worker2


빨간색 부분은 worker1 , worker2 등 변수명은 다른 것으로 해도 
상관 없고, (해당 Apache에서만 쓰임)


파란색 부분은 위의 톰캣 셋팅에서 ajp 포트 수정한 부분이 있는데, 그부분의 
port를 기입하여 주면 된다.


wq로 저장하고 빠져나온다.




vi mod-jk.conf




LoadModule jk_module modules/mod_jk.so <<해당 모듈 로드
<IfModule mod_jk.c>
        JkWorkersFile /usr/local/apache/conf/workers.properties (절대경로)
        JkLogFile /usr/local/apache/logs/mod_jk.log (절대경로)


          JkMount /* balancer (workers.properties 안의 balancer 지정)
          JkMount /*.jsp balancer (workers.properties 안의 balancer 지정)
          JkMount /servlet/* balancer (workers.properties 안의 balancer 지정)
          JkMount /examples/*.jsp balancer (workers.properties 안의 balancer 지정)


        JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
        JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
        JkRequestLogFormat "%w %V %T"
</IfModule>






아래는 실제 기입 코드


LoadModule jk_module modules/mod_jk.so
<IfModule mod_jk.c>
        JkWorkersFile /usr/local/apache/conf/workers.properties
        JkLogFile /usr/local/apache/logs/mod_jk.log


          JkMount /* balancer
          JkMount /*.jsp balancer
          JkMount /servlet/* balancer
          JkMount /examples/*.jsp balancer


        JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
        JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
        JkRequestLogFormat "%w %V %T"
</IfModule>


wq로 저장하고 빠져나온다.


vi httpd.conf


최하단에


include conf/mod-jk.conf


문구 추가


TestFlow


1. Load Banlance
아파치 및 톰캣을 모두 실행 시킨다.


톰캣에 페이지를 생성 하여 번호를 매긴 후 하나씩 절체를 해보면, 
톰캣이 교체가 된다. (성공 했을 경우 번호 바뀜)




________________


Session Clustering - Setting


해당 톰캣 폴더/conf/server.xml


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


1. jvmRoute 될 고유 ID 지정 
<Engine name="Catalina" defaultHost="localhost" jvmRoute="worker2">
빨간색 부분은 중복되지 않은 공유의 톰캣을 구분 할 수 있는 것으로 생각하면 된다
(아무거나 해도 된다.)


<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
검색 하면 주석처리가 되어 있다.


그 밑에 아래 코드를 추가한다. (주석 밖)






          
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">
        <Manager className="org.apache.catalina.ha.session.BackupManager"
                expireSessionsOnShutdown="false"
                notifyListenersOnReplication="true"/>


        <Channel className="org.apache.catalina.tribes.group.GroupChannel">
                <Membership className="org.apache.catalina.tribes.membership.McastService"
                        address="228.0.0.4"
                        port="45564"
                        frequency="500"
                        dropTime="3000"/>


                <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
                        <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
                </Sender>


                <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
                        address="auto"
                        port="4001"  
                        autoBind="100"
                        selectorTimeout="5000"
                        maxThreads="6"/>


                <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
                <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
        </Channel>


        <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
        <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>


        <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
                        tempDir="/tmp/war-temp/"
                        deployDir="/tmp/war-deploy/"
                        watchDir="/tmp/war-listen/"
                        watchEnabled="false"/>


        <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
        <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>


위의 코드 안에서 빨간색 부분은 유의해야 하는데, auto라고 되어 있는 부분은 


모든 설정을 마쳤으나 되지 않을 경우 해당 자기 ip로 입력을 하길 바랍니다.


4001이라고 되어 있는 부분은 모든 톰캣이 다른 값을 가지고 있어야 합니다.


세션클러스터링을 하기 위한 프로젝트의 WEB-INF/web.xml에서 다음 문구를 추가합니다.


<distributable/>


위의 문구 추가 후


톰캣을  재실행 합니다.


/usr/local/tomcat/tomcat1/bin/startup.sh
/usr/local/tomcat/tomcat2/bin/startup.sh


(스크립트 사용법은 밑에 있으므로 앞으로는 생략)


tomcat2도 동일


java.net.UnknownHostException 에러가 날 경우
vi /etc/hosts
호스트네임을 추가 하고 저장한다.




INFO: Replication member added:org.apache.catalina.tribes.membership.MemberImpl[tcp://{127, 0, 0, 1}:4002,{127, 0, 0, 1},4002, alive=690083, securePort=-1, UDP Port=-1, id={-66 -96 -51 88 16 -75 67 -100 -88 92 -3 -116 -46 -20 76 -44 }, payload={}, command={}, domain={}, ]


해당 톰캣의 로그 중 해당 로그가 출력이 된다면 성공입니다.


참고) 운영 체제에서 multicat 설정이 안되어 있을 경우 위와 같이 안될 가능성이 있는데
        해결방법은  
       shell>ifconfig -a   
          eth0      Link encap:Ethernet  HWaddr 00:1F:29:E7:ED:A4  
          inet6 addr: fe80::21f:29ff:fee7:eda4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:36157517 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18839 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3269828443 (3.0 GiB)  TX bytes:1207502 (1.1 MiB)
          Interrupt:169 Memory:f8000000-f8012100 


         3번째 줄의 UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         같이 multicast 가 설정되어 있어야 하는데 없다를 확인 하면
 
         shell> ifconfig eth0 multicast라고 설정해 주면 된다.






TestFlow


1. Session Clustering
설정 후 톰캣 재시작을 하여 모두 설정이 적용 되어 있다고 가정합니다.




        특정 톰캣에서 세션 값을 설정 한 후 나머지 톰캣에서 같은 세션 ID을 불러 
왔을 경우 모두 ID가 동일한지 확인합니다.
________________


Public Session - redis


redis 설치


cd /usr/share


wget http://download.redis.io/releases/redis-3.0.5.tar.gz


tar zxvf redis-3.0.5.tar.gz


mv redis-3.0.5 redis


cd redis






# 7.0
yum -y install epel-release
yum -y install varnish
yum -y install tcl


make


Redis Default 설정
 
vi redis.conf
daemonize yes << 데몬으로 실행


:wq로 빠져나옴


vi /etc/init.d/redis-server
파일 생성


아래 내용을 붙여넣기 한다.


#! /bin/sh
### BEGIN INIT INFO
# Provides:     redis-server
# Description:      redis-server - Persistent key-value db
# chkconfig:   - 85 15
### END INIT INFO
 
REDISPORT=6379
EXEC=/usr/share/redis/src/redis-server
CLIEXEC="/usr/share/redis/src/redis-cli"
 
# exists password
if [ $2 ]
    then
    CLIEXEC="$CLIEXEC -a $2"
fi
 
 
PIDFILE=/var/run/redis.pid
CONF="/usr/share/redis/redis.conf"
 
start()
{
    if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis server..."
                $EXEC $CONF
        fi
}
 
stop()
{
    if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $CLIEXEC -p $REDISPORT shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
}
 
case "$1" in
    start)
        start
    ;;
    stop)
    stop        
    ;;
 restart)
    stop
        start
    ;;
    info)
        if [ ! -f $PIDFILE ]
    then
        echo "$PIDFILE does not exist, process is not running"
    else
        $CLIEXEC info
    fi
    ;;
    *)
        echo "Usage: start|stop|restart [password]"
        ;;
esac




서비스 등록


chmod +x /etc/init.d/redis-server
chkconfig --add redis-server
chkconfig --level 2345 redis-server on
service redis-server start










테스트
/usr/share/redis/src/redis-cli 
redis> set foo bar
OK
redis> get foo
"bar"




REDIS  리스닝 확인


ss -nlp|grep redis


redis 설치 끝.


tomcat-redis-session-manager-1.2-tomcat-7.jar
commons-pool-1.6.jar
jedis 2.1.0


라이브러리가 필요한데,


cd /usr/local/redis_tomcat/
mkdir tmp
cd tmp


http://www.mvnrepository.com/


Jedis 검색 후 lib 다운 (2.1.0)
wget http://central.maven.org/maven2/redis/clients/jedis/2.1.0/jedis-2.1.0.jar


Commons Pool 검색 후 lib 다운 (1.6)
wget http://central.maven.org/maven2/commons-pool/commons-pool/1.6/commons-pool-1.6.jar


https://github.com/jcoleman/tomcat-redis-session-manager/downloads


tomcat-redis-session-manager-1.2-tomcat-7.jar 다운 (톰캣 7버전)


wget https://github.com/downloads/jcoleman/tomcat-redis-session-manager/tomcat-redis-session-manager-1.2-tomcat-7.jar


위에서 받은 라이브러리를 해당 Tomcat lib 폴더에 전부 포함 한다..
cp * ../tomcat1/lib/
cp * ../tomcat2/lib/


cd ..


rm -rf tmp


해당 톰캣 폴더/conf/context.xml


vi /usr/local/redis_tomcat/tomcat1/conf/context.xml
vi /usr/local/redis_tomcat/tomcat2/conf/context.xml
두 군데 전부 설정 해준다.


        <Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />
        <Manager className="com.radiadesign.catalina.session.RedisSessionManager"
        host="localhost"
        port="6379"
        database="0"
        maxInactiveInterval="86400"/>


를 <Context> </Context> 안에 포함시켜준다.






추가 설정


root 계정으로 함을 기본으로 하며, 


에러를 최대한 없앨 수 있도록 설정을 합니다.


vm 메모리 할당
vi /etc/sysctl.conf
최하단에
vm.overcommit_memory = 1
 wq로 빠져 나온 후
sysctl vm.overcommit_memory=1




transparent_hugepage 프로세스 활성
* 대용량 페이지 쉽게 접근 가능
cat /sys/kernel/mm/transparent_hugepage/enabled 
>>[always] madvise never
echo never > /sys/kernel/mm/transparent_hugepage/enabled
cat /sys/kernel/mm/transparent_hugepage/enabled 
>>always madvise [never]




부팅시에도 올라 올 수 있도록
vi /etc/rc.local
echo never > /sys/kernel/mm/transparent_hugepage/enabled  


네트워크에서 최대 연결을 설정
sysctl -w net.core.somaxconn=65535
>>net.core.somaxconn = 65535


부팅시에도 올라 올 수 있도록
vi /etc/rc.local
sysctl -w net.core.somaxconn=65535




etc/security/limits.conf 설정 <최대파일 개수 및 기타 시큐리티 설정>
vi /etc/security/limits.conf


아래내용 입력
root soft nofile 65536
root hard nofile 65536
root soft nproc 131072
root hard nproc 131072


root 부분은 사용자 계정이므로 변경이 가능


maxmemory, lastsession처리, log 및 dump file 위치 설정


vi /usr/share/redis/redis.conf


로그 파일


logfile "" -> logfile "/var/log/redis/redis.log"


덤프 파일


dir ./ -> /var/redis_dump/


Redis 의 최대 가용 메모리 설정
maxmemory <bytes> 의 주석을 풀어주고
maxmemory 의 메모리를 설정 하여 준다.
ex) maxmemory 1024*1024*500


maxmemory-policy 검색 후 알맞게 방법을 변경 하여 준다. 
설명은 해당 conf 파일 위에 써 있다.


maxmemory-policy volatile-lru


maxmemory-samples 검색 후 알맞게 방법을 변경 하여 준다. 


maxmemory-samples 3


mkdir /var/log/redis/
mkdir /var/redis_dump/


서비스 시작
service redis-server start


서비스 중지
service redis-server stop


서비스 재시작
service redis-server restart




Apache Tomcat 서비스시작


TestFlow


1. Public Session Redis
설정 후 톰캣 재시작을 하여 모두 설정이 적용 되어 있다고 가정합니다.


특정 톰캣에서 세션 값을 설정 한 후 나머지 톰캣에서 같은 세션 값을 불러 
왔을 경우 모두 값이 동일한지 확인합니다.


Redis에 세션 정보가 저장이 되므로, 톰캣을 전부 내렸다가 올려서 
이전에 생성된 세션 아이디가 동일 한지 확인 합니다.


________________


sh.tomcat , sh.redisclean, sh.apache


이 항목의 경우는 테스트를 편하게 하기 위해서 작성하는 스크립트




sh.tomcat <세션 클러스터링 용>
사용법 : sh sh.tomcat <번호> [start,stop,restart,log]
ex) sh sh.tomcat 1 start


#!bin/bash




tomcat_url=/usr/local/tomcat/tomcat$1/bin
tomcat_log=/usr/local/tomcat/tomcat$1/logs




if [ $2 == 'start' ]
then
        $tomcat_url/startup.sh
elif [ $2 == 'stop' ]
then
        $tomcat_url/shutdown.sh
elif [ $2 == 'restart' ]
then
        $tomcat_url/shutdown.sh
        $tomcat_url/startup.sh
elif [ $2 == 'log' ]
then
        tail -f $tomcat_log/catalina.out
fi


sh.tomcat <레디스 용>
사용법 : sh sh.tomcat <번호> [start,stop,restart,log]
사용법 : sh sh.tomcat [rm,rc,rl]
rm은 redis 내부 value 로그
rl은 access 로그
rc는 redis console 접근


#!bin/bash




tomcat_url=/usr/local/redis_tomcat/tomcat$1/bin
tomcat_log=/usr/local/redis_tomcat/tomcat$1/logs




if [ $1 == 'rm' ]
then
        /usr/share/redis/src/redis-cli MONITOR
elif [ $1 == 'rc' ]
then
        /usr/share/redis/src/redis-cli
elif [ $1 == 'rl' ]
then
        tail -f /var/log/redis/redis.log
elif [ $2 == 'start' ]
then
        $tomcat_url/startup.sh
elif [ $2 == 'stop' ]
then
        $tomcat_url/shutdown.sh
elif [ $2 == 'restart' ]
then
        $tomcat_url/shutdown.sh
        $tomcat_url/startup.sh
elif [ $2 == 'log' ]
then
        tail -f $tomcat_log/catalina.out
fi






sh.redisclean <레디스 dump,pid 삭제 및 시작>
사용법 : sh sh.redisclean


#!bin/bash


rm -rf /var/run/redis.pid
echo 'redis.pid clean'
rm -rf /var/redis_dump/*
echo 'dump clean'
service redis-server start




sh.apache
사용법 : sh sh.apache [start,stop,restart]




#!bin/bash




if [  $1 == 'start' ]
then
/usr/local/apache/bin/httpd -k start
echo 'apache start'
elif [ $1 == 'stop' ]
then
/usr/local/apache/bin/httpd -k stop
echo 'apache end'
elif [ $1 == 'restart' ]
then
/usr/local/apache/bin/httpd -k restart
echo 'apache restart'
fi


'webserver' 카테고리의 다른 글

vert.x는 무엇이 좋은가?  (0) 2016.10.21
jetty 설치  (0) 2016.10.21