▼ 저번 포스팅 보러가기 ▼
[ 3Tier 구성 - 002. Web, Was 서버 연결 ]
NCloud. 3Tier 구성 - 002. Web, Was 서버 연결
▼ 저번 포스팅 보러가기 ▼ [ 3Tier 구성 - 001. Web, Was 구성 ] https://ujia.tistory.com/6 NCloud. 3Tier 구성 - 001. Web/Was 서버 생성 [서버 생성 순서] 1 Init script 설정(선택) 리눅스 os / 아파치 웹서버, PHP 설치 2
ujia.tistory.com
[ DB생성 순서 ]
1 | Tomcat-connector 설치(web) | 톰캣 아파치 사이트에서 tar.gz 파일 다운로드 받고 버킷에 연동하기 |
2 | Object Storage 및 버킷 설정 | 버킷 파일 권한 공개 |
3 | Tomcat-connector 설치(was) | server.xml 내용 수정 후 재시작 |
4 | mysql 설치 | DB server 생성 및 ACG 연동 |
1. Tomcat-connector 설치(web)
https://tomcat.apache.org/download-connectors.cgi
Apache Tomcat® - Tomcat Connectors (mod_jk) Downloads
You must verify the integrity of the downloaded files. We provide OpenPGP signatures for every release file. This signature should be matched against the KEYS file which contains the OpenPGP keys of Tomcat's Release Managers. We also provide SHA512 checksu
tomcat.apache.org
우선 위 사이트에서 tar.gz로 되어있는 링크를 클릭하면 파일을 다운로드하시면 됩니다.
그리고 그 후에는 네이버 콘솔에서 오브젝트 스토리지(버킷)에 방금 다운받은 파일을 업로드 해주셔야 합니다.
그러기 위해 우선 오브젝트 스토리지에 버킷을 생성해줘야합니다.
버킷 생성시에 설정을 전체 '공개'로 바꿔주시면 나중에 편합니다. '공개'로 안바꿔주시고 기존의 '공개안함'으로 그대로 진행해도 추후에 변경은 가능합니다.
2. Object Storage 및 버킷 설정
#오브젝트 스토리지(버킷)에 파일 업로드
#파일 권한 공개하기
#객체 링크 가져오기
그 후엔 아래 코드를 mobaXterm 에 순서대로 넣어주시면 됩니다.
yum -y install gcc gcc-c++ httpd-devel (패키지 설치) //tomcat-connector 설치 - 아파치 톰캣 싸이트에서 파일을 다운받아 오브젝트 스토리지에 업로드 후 서버에서 다운로드(https://tomcat.apache.org/download-connectors.cgi) cd /etc wget https://kr.object.ncloudstorage.com/bucket-jh1204/tomcat-connectors-1.2.49-src.tar.gz # 파일공개 해주기 tar xvf tomcat-connectors-1.2.49-src.tar.gz cd /etc/tomcat-connectors-1.2.49-src/native ./configure --with-apxs=/usr/bin/apxs make make install cd /etc/tomcat-connectors-1.2.49-src/native/apache-2.0/ ls cp mod_jk.so /usr/lib64/httpd/modules/mod_jk.so chmod 755 /usr/lib64/httpd/modules/mod_jk.so //아파치 설정파일에 해당 모듈 적용 cd /etc/httpd/conf vi httpd.conf include 아래에 복붙하기 LoadModule jk_module /usr/lib64/httpd/modules/mod_jk.so <IfModule mod_jk.c> JkWorkersFile /etc/httpd/conf/workers.properties JkShmFile run/mod_jk.sh JkLogFile logs/mod_jk.log JkLogLevel info JkLogStampFormat "[%y %m %d %H:%M:%S] " </IfModule> <VirtualHost *:80> JkMount /* tomcat ServerName localhost </VirtualHost> esc 누르고 :wq! vi /etc/httpd/conf/workers.properties worker.list=tomcat worker.tomcat.port=8009 worker.tomcat.host=localhost // was서버 아이피(내부ip) worker.tomcat.type=ajp13 worker.tomcat.lbfactor=1 :wq! |
# 톰캣 커넥터 다운로드 # # etc 디렉터리로 이동 # 각자의 오브젝트스토리지 경로(파일권한 공개) # 파일공개 해주기 # 톰캣 커텍터 파일 압축풀기 # native 디렉토리로 이동 # ./configure --with-apxs=/usr/bin/apxs # 만들어라? # make 다운로드 # mod_jk.so 모듈생성확인 # list 확인 # 아파치 모듈들이 있는 디렉토리에 카피함 # 복사한 묘듈에 실행권한을 줌 # conf 디렉토리 접속하기 # vi httpd.conf 파일 수정?? include 아래에 복붙하기 // jk모듈 불러오기 // (경로중요-새로생성예정) // // // # // 80포트로 접속 tomcat이 실행 # # # // worker파일 생성 # |
#모바엑스텀 vi 환경( vi httpd.conf )
vi httpd.conf로 들어와서 include 밑 빈칸에 아래 내용 붙여넣고 저장하시면 됩니다.
#모바엑스텀 vi 환경( vi /etc/httpd/conf/workers.properties )
빈칸이었던 부분에 해당 코드 추가해주시면 됩니다. localhost 부분은 지우시고 실제 was서버 아이피(내부ip)를 적어주시면 됩니다.
3. Tomcat-connector 설치(was)
cd /etc/apache-tomcat-10.0.6/conf vi server.xml // 주석 처리 제거 후 <!-- --> :이 표시가 주석처리 <Connector protocol="AJP/1.3" address="0.0.0.0" //ipv4로 변경 secretRequired="false" // 추가항목 : ssl사용안한다는 선언 port="8009" redirectPort="8443"/> 로 수정 // 아래 쪽으로 이동 후 <Engine name="Catalina" defaultHost="localhost"> // 이 항목에 추가 jvmRoute="tomcat" <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat"> // 최종 수정 값 :wq! cd /etc/apache-tomcat-10.0.6/bin './shutdown.sh'를 입력한 후 './startup.sh'를 입력 (톰캣 재시작) netstat -anlp | grep :8008 // 8008 열렸는지 확인 netstat -anlp | grep :8009 // 8009 열렸는지 확인(이거 열렸으면 됨) #톰캣 연결 완료 ---------------web 서버 이동------------------------------------------- // Tomcat 재시작 후 아파치 재시작 해줌 systemctl restart httpd 웹서버 공인 IP 넣어서 확인 // 아파치 페이지가 아니라 톰켓 페이지가 떠야 함 ### 톰캣 완료 |
Tomcat-connector는 위 코드를 작성해서 설치 및 연동하시면 됩니다. 아래는 server.xml 파일을 열었을 때 어느 부분을 수정하면 되는지 확인해 보실 수 있습니다.
위와 같은 작업을 모두 완료하셨다면, 이제 웹페이지에 웹서버 공인 ip로 접속을 시도해보시면 톰캣 설치 완료 여부를 확인하실 수 있습니다. 아래와 같은 페이지가 뜬다면 톰캣이 제대로 설치된 것입니다.
4. mysql 설치
------------------------------------was - db 연동 ------------------------------------ ------------------------------------was 서버 ---------------------------------------- cd /etc wget https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-j_8.0.32-1debian10_all.deb sudo yum -y install epel-release sudo yum repolist sudo yum install dpkg-devel dpkg-dev -y dpkg -x mysql-connector-j_8.0.32-1debian10_all.deb mysql_jdbc mv /etc/mysql_jdbc/usr/share/java/mysql-connector-j-8.0.32.jar /etc/apache-tomcat-10.0.6/lib/ cd /etc/apache-tomcat-10.0.6/bin ./shutdown.sh ./startup.sh |
위 코드까지 작성해주시고 나서 네이버클라우드 콘솔에 가셔서 DB Server 를 생성해주시면 됩니다.
# DB Server 생성
DB Server 생성시 Subnet 은 Private으로 진행해주시면 됩니다.
다음 페이지로 넘어가시면 USER_ID, HOST(IP), USER 암호, 기본 DB명 등은 기억해두시면 좋습니다. 뒤에 mobaXterm에서 코드 작성 시에 이부분을 기입해주셔야하기 때문입니다.
# cloud-mysql-cpxka ACG 연동
다음은, 가장 중요한 부분 중 하나입니다. DB Server를 생성하면 자동으로 생성되는 ACG인 'cloud-mysql-cpxka ACG'에 inbound 규칙을 수정해주시면 됩니다. Was를 통해 DB로 접근하기 때문에, 'cloud-mysql-cpxka ACG'에 Was-acg 와 연결해주시면 됩니다.
------------------------ mysql.jsp파일 수정 --------------------------- cd /etc/apache-tomcat-10.0.6/webapps/ROOT vi mysql.jsp <%@ page import="java.sql.*" %> <%@ page contentType="text/html;charset=utf-8" %> <% String DB_URL = "jdbc:mysql://<mysql_server_ip>/<db_name>"; ---------------- mysql_server_ip -> db 프라이빗 도메인 , db_name -> 처음 만들었던 db_name String DB_USER = "<username>"; --------- db user name String DB_PASSWORD= "<password>"; --------- db password Connection conn; Statement stmt; try { Class.forName("cohttp://m.mysql.jdbc.Driver"); conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD); stmt = conn.createStatement(); conn.close(); out.println("MySQL Connection Success!"); } catch(Exception e){ out.println(e); } %> :wq! ---------------------마지막 저장 #ACG 본인 서버 IP 넣고 : 000.00.00.00/mysql.jsp mySQL Connection Success! 뜨면 성공 |
이제 위 코드를 적고 실행해주시면 mysql과 연결 성공입니다. 단, 위 코드에서 <> 안에 있는 db_name, username 같은 것들은 아래 콘솔화면을 참고하셔서 바꿔주시면 됩니다.
이제 모든 과정을 마치셨다면, 본인 서버 IP 넣고 : 000.00.00.00/mysql.jsp 라고 주소를 쳐주시면 됩니다.
(ex. http://223.130.133.141/mysql.jsp)
만약 위와 같은 오류가 뜬다면 mysql이 생성될때까지 충분히 기다리시면 됩니다. 위 에러는 mysql이 아직 생성중에 있는데 IP주소를 먼저 검색하면 나올 수 있는 화면입니다.
완! 성! mysql 생성이 완료되면 위와 같은 화면이 나타날 것입니다. 아래 화면에 1탄 서버 생성부터 오늘 마지막인 3탄 DB설정까지의 모든 코드들을 전부 정리해놓은 메모장 파일을 첨부하니 참고하시기 바랍니다.
자, 이렇게 네이버클라우드플랫폼의 3Tier를 마무리해보았습니다. 이해가 가지 않는 부분이 있거나 매끄럽게 진행되지 않는 부분이 있다면 매끄럽게 진행되고 이해가 완전히 될 때까지 반복, 또 반복해보시기 바랍니다. 반복된 연습만이 숙련의 길로 이어지는 것 같습니다. 모두 화이팅입니다!
'클라우드(Cloud) > Ncloud(네이버클라우드)' 카테고리의 다른 글
Ncloud. jmeter 활용 - 트래픽 부하 보내기 (0) | 2024.01.19 |
---|---|
Ncould. 하이브리드 클라우드 & 멀티 클라우드 연결 - 01. IPsec VPN 개념 (0) | 2024.01.17 |
NCloud. 3Tier 구성 - 002. Web, Was 서버 연결 (1) | 2023.12.18 |
NCloud. 3Tier 구성 - 001. Web/Was 서버 생성 (1) | 2023.12.06 |