반응형

오늘은 Ubuntu 18.04 기준에서 http2.0 을 적용하는 방법에 대해서 알아보자.

http2 가 http 보다 좋은건 딱히 설명할 여지가 없다. 

속도가 우선 어마어마하게 개선되었음. 하지만 한국에서는 인터넷 속도가 빨라서 그런지 http2 가 좋은 이유를 모르는 것 같다.

우리가 서버셋팅을 할때 간단하게 몇줄만 넣어주면 되니 아래를 잘 따라하도록 하자.

(1) Apache Version 확인하기

- 공식문서에 보면 Apache Version 2.4.24 이상에서만 http2.0 을 지원한다.
- 그렇다면 자신의 서버에 설치된 Apache의 버젼이 몇인지 확인해보자.

# /etc/apache2# apache2 -v
Server version: Apache/2.4.29 (Ubuntu)
Server built:   2022-06-23T12:51:37

또는

#:/etc/apache2# dpkg -l | grep apache2
ii  apache2                                2.4.29-1ubuntu4.25                              amd64        Apache HTTP Server
ii  apache2-bin                            2.4.29-1ubuntu4.25                              amd64        Apache HTTP Server (modules and other binary files)
ii  apache2-data                           2.4.29-1ubuntu4.25                              all          Apache HTTP Server (common files)
ii  apache2-utils                          2.4.29-1ubuntu4.25                              amd64        Apache HTTP Server (utility programs for web servers)
ii  libapache2-mod-jk                      1:1.2.43-1                                      amd64        Apache 2 connector for the Tomcat Java servlet engine

이렇게 확인할 수 있다. 대충 봐도 2.4.29 이니 크게 상관없을듯 하다. 만약 2.4.25 미만인 경우에는 upgrade ppa 추가해서 하면 된다.

(2) http2 모드 활성화 초간단 설정 

- 딱 2개만 넣으면 된다.
- 일단 http2 mod 활성화

# sudo a2enmod http2
Module http2 already enabled

난 이미 모드를 활성화 해놔서 저렇게 뜸.. 모드 활성화 명령어를 입력해주세요.

(3) 특정 프로젝트 설정파일에 집어넣기!

# sudo vim /etc/apache2/sites-available/000-default.conf
~~~~~ (내용)


<VirtualHost *:443>

        ServerName 사이트도메인

        SSLEngine on
        SSLCertificateKeyFile /~~~/.key.pem
        SSLCertificateFile /~~~/.pem
        SSLCACertificateFile /~~~/.pem

        CustomLog ${APACHE_LOG_DIR}/access.log combined
        ErrorLog ${APACHE_LOG_DIR}/error.log

        # HTTP2 Protocol
        Protocols h2 http/1.1
</VirtualHost>

여기서 Protocols h2 http/1.1 만 보면된다.

개쉬움 자 그럼 사이트 들어가서 f12 눌러서 프로토콜을 보자.

(4) http2.0 적용 확인방법

위 그림 처럼 protocol에 h2 라고 나오면 끝!!!

 

개쉬움 어서어서 적용하시오.!!!!1

반응형
반응형

견적서를 쓰다보면은 도장 이미지가 필요한 경우가 많다.

이때 마다 png를 포토샵으로 누끼작업해서 할려니 매우 힘든게 현실이다.

 

문서에서 바로바로 작업이 가능하면 좋으련만... 해서 찾아보다 비법을 익한걸 블로그에 폭로하도록 하겠다.

우선 구글에서 아무 도장이미지를 가져오자.

구글에서 도장이미지 라고 검색하니깐 샘플도장이 많이 나온다.

도장을 마우스 우클릭해서 이미지 복사를 누르자.

 

이거를 엑셀에 붙여넣기 하면 아래와 같이 나온다.

자 이제 도장 사이즈를 줄이고 이미지를 클릭하면 상단에 [그림서식] 이라고 뜬다. 이걸 클릭하자.

아래와 같이 색 > 투명한 색 설정을 클릭하고

도장 내부에 흰색 표면을 클릭을 하면은 아래와 같이 투명한 도장이 된다.

 

개~~~~ 간단함.

와 맨날 포샵질 하던걸 이제는 안해도 됨 ㅋㅋㅋ ^^ 굿~

반응형

'OA > Excel' 카테고리의 다른 글

[ Excel : Rank (순위매기기) ]  (0) 2010.12.01
반응형

오늘은 Ubuntu 서버에서 Apache 웹서버와 Tomcat WAS 서버를 연동하는 법을 알려드리고자 합니다.

(방법)

1. Apache 의 reverse proxy를 이용한 방법

2. Apache AJP Connector를 이용한 방법

두가지 방법이 있습니다. 결론적으로 (1)번 방법은 간단한 설정으로 가능하기 때문에 매우 쉬운방법이고 (2)번 방법은 어느정도 손이 좀 많이 가는 방법입니다.

오늘은 (2)번 방법에 대해서 설명하고자 합니다.

 

(시작!!!!!!)

 

(1) 각종 설치과정

- Apache와 Tomcat을 설치하는 과정을 생략하겠습니다.

- Ubuntu에서 주어지는 명령어를 쓰셔서 Apache는 간단하게 설치가 가능하고 Tomcat은 tomcat.apache.org 사이트에서 tar.gz 확장자의 파일을 다운받아서 설치하시면 됩니다.

(2) Apache AJP mod_jk 다운로드

# sudo apt-get install libapache2-mod-jk

- Ubuntu는 mirror 사이트에서 위 명령어만 치면 다운로드가 가능합니다.

- 저 mod_jk가 없으면 ajp connector를 사용할 수 없습니다.

- 타 OS를 쓰고 계신다면 아래 재료에서 다운로드도 가능합니다.

- mod_jk를 설치를 완료하고 나면 /etc/libapache2-mod-jk 에 다음과 같은 파일들이 있는 것을 확인 가능하십니다.

# ls -la /etc/libapache2-mod-jk/
total 12
drwxr-xr-x   2 root root 4096 Feb 10 18:28 .
drwxr-xr-x 101 root root 4096 Feb 10 17:16 ..
lrwxrwxrwx   1 root root   33 Mar 13  2018 httpd-jk.conf -> ../apache2/mods-available/jk.conf
-rw-r--r--   1 root root 3000 Feb 10 18:13 workers.properties

- 여기서 workers.properties를 수정해서 Tomcat과의 Connection를 관리할 수 있습니다.

(3) works.properties 수정

- workers.properties 는 tomcat를 여러개 설정정보 등록해두고 Apache에 연결할때 Alias로 호출하여 연동할 수 있도록 도와주는 설정파일입니다.

# vim ./workers.properties
~~~~~~
~~~~~~ (파일을 열었다고 가정합니다.)
~~~~~~

worker.list=tomcat1
worker.tomcat1.port=8009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=tomcat1

위 처럼 셋팅해주시면 됩니다.

tomcat1 은 제가 정한 Alias이기 때문에 각자가 지정한 이름으로 변경해도 무방합니다.

list 에는 tomcat를 여러개 관리할 경우 ","를 기준으로 나열하신다음에 아래 쪽에 worker를 추가하시면 됩니다.

만약 1개뿐이라면 크게 설정을 변경하실 건 없습니다.

(4) Apache 설정파일 수정

- Apache 설정파일을 수정할때 VirtualHost부분은 따로 언급하지 않겠습니다.

- 이 부분은 다른 좋은글이 많으니 참조해주세요.

- 아래 설정중에 JkMount 쪽만 보시면 됩니다.

# sudo vim /etc/apache2/sites-available/000-default.conf
~~~~~
~~~~~ (파일열었습니다.)
~~~~~

<VirtualHost *:80>

        # 여기에다가 접속하는 도메인명을 넣어주세요.
        ServerName abc.testdomain.com

        CustomLog ${APACHE_LOG_DIR}/access.log combined
        ErrorLog ${APACHE_LOG_DIR}/error.log

        # 아래 내용은 걍 http -> hhtps로 넘겨라 라는 표현입니다.(신경쓰지마셈)
        RewriteEngine on
        RewriteCond "%{HTTPS}" "!on"
        RewriteRule ^.+ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

</VirtualHost>

# HTTPS access
<VirtualHost *:443>

        # 여기에다가 접속하는 도메인명을 넣어주세요.
        ServerName abc.testdomain.com

        # 여기에는 SSL 인증서가 있다면 경로를 넣어주세요
        SSLEngine on
        SSLCertificateKeyFile /was/apache-tomcat-9.0.58/conf/ssl/KeyFile_Wildcard.testdomain.com_apache.pem
        SSLCertificateFile /was/apache-tomcat-9.0.58/conf/ssl/File_Wildcard.testdomain.com_apache.pem
        SSLCACertificateFile /was/apache-tomcat-9.0.58/conf/ssl/CA_GLOBALSIGN_ROOT_CA.pem

        CustomLog ${APACHE_LOG_DIR}/uc_access.log combined
        ErrorLog ${APACHE_LOG_DIR}/uc_error.log

        # JkMount 뒤에 alias명은 works.properties에서 작성한 list이름을 넣어주세요.
        JkMount /* tomcat1
        JkMount / tomcat1

</VirtualHost>

(5) Tomcat 의 설정파일을 열어서 AJP 설정을 OPEN 함.

- 자~ Apache까지 작업이 끝났으니 이제 Tomcat에서 AJP 설정을 해봅시다.

vim /was/apache-tomcat-9.0.58/conf/server.xml

~~~ (파일 열었습니다.)
~~~

~~~~
    <!--
    아래 Connector 정보는 안쓸꺼기 때문에 주석 처리합니다.
    <Connector executor="tomcatThreadPool"
               port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    -->


    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <!-- 기존 주석 처리 되어 있던 아래 내용을 오픈 합니다. -->
    <Connector protocol="AJP/1.3"
               address="0.0.0.0"
               port="8009"
               redirectPort="8443"
               secretRequired = "false"
               />

- 여기서 중요한 점은 address=":::1" 이라고 된 부분을 address="0.0.0.0" 으로 변경 해야 합니다.

- 또한 secretRequired = "false"를 해서 Apache에서 별도의 비밀번호 없이 접속할 수 있도록 합니다.

- True인 경우에는 workers.properties와 Tomcat의 server.xml에 서로 비밀번호를 넣어주어야 합니다.

(6) 재시작

자 이제 재시작 한번 하고 결과를 확인하시면 됩니다.

$ sudo /etc/init.d/apache2 restart
$ /was/apache-tomcat-9.0.58/bin/startup.sh

 

반응형
반응형

리눅스 파일 시스템에서 간혹가다가 

rm -rf 명령어로 삭제되지 않는 경우가 있다. 나의 경우에도 이런 경우가 발생했다.

 

$ sudo rm -rf SPOBEE_ADMIN_LOG/
rm: cannot remove '.nfs00000000000545ce00000002': Device or resource busy
rm: cannot remove '.nfs0000000000120b3d00000001': Device or resource busy
rm: cannot remove '.nfs0000000000120b3c00000003': Device or resource busy

 

아 짱나네 rm -rf는 거의 무적 지우기 인데 왜 삭제 안되는거지 해서 찾아보다 보니 사용중인 프로세스가 있어서 그런거였음.

그렇다면 해당 파일이 사용중인 프로세스가 무엇인지 확인하는 명령어를 통해서 kill 후 삭제처리를 해보니 잘되었다.

아래 코드를 참조하시기 바란다.

 

$ lsof +D ./파일명
COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
java    98469 apptm  154w   REG   0,47    59299 1182524 .nfs0000000000120b3c00000003
java    98469 apptm  155w   REG   0,47   676833 1182525 .nfs0000000000120b3d00000001
java    98469 apptm  156w   REG   0,47      392  345550 .nfs00000000000545ce00000002

 

위 코드를 보니 98469 PID를 가진 프로세스가 파일을 잡고 안놔주고 있는 실정임. 

ps 명령어를 통해서 저 PID를 찾아서 KILL 하자

 

$ ps -ef | grep 98469
계정명     98469      1 16 Jan06 pts/0    03:16:15 /usr/lib/jvm/jdk1.8.0_191/bin/java -Djava.util.logging.config.file=/was/apache-tomcat-9.0.21/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dspring.profiles.active=ops -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /was/apache-tomcat-9.0.21/bin/bootstrap.jar:/was/apache-tomcat-9.0.21/bin/tomcat-juli.jar -Dcatalina.base=/was/apache-tomcat-9.0.21 -Dcatalina.home=/was/apache-tomcat-9.0.21 -Djava.io.tmpdir=/was/apache-tomcat-9.0.21/temp org.apache.catalina.startup.Bootstrap start

 

결국 TOMCAT에 잡고 있었음 ㅋㅋ

톰캣 끄고 삭제 처리 하니 깔끔하게 지워짐... 쉽구만...

만약에 다른 프로세스라면 $kill -9 98469 이렇게 삭제 처리하면 됩니다.

반응형

+ Recent posts