클라우드/Company

Azure 3Tier /계속 수정 예정

됵이 2022. 12. 19. 16:44

혹시 Ubuntu나 Centos8버전으로 3tier 구성 하는법 아시는분은 댓 달아주세요!

 

 

목표 토폴로지

1. 리소스 그룹 생성 

2. 가상 네트워크 생성 (192.168.0.0/16)

  • web-sub(192.168.1.0/24)
  • was-sub(192.168.2.0/24)
  • db-sub(192.168.3.0/24)

3.VM(가상머신) 2개 생성 (Ubuntu 18.4)  

  • 가용성 집합으로 생성 해준다. 

※업데이트 도메인 : 동시에 다시 부팅할 수 있는 가상 머신 그룹과 기본 물리적 하드웨어를 나타낸다. 

※장애 도메인 : 공통 전원과 네트워크 스위치를 공유하는 가상 머신 그룹을 정의 한다. 

장애 도메인과 업데이트 도메인

web-vm을 하나 생성 해준다. 

vm이 생성 되면 mobaXterm 에서 vm으로 원격 접속을 해준다. 

이후 apt을 업데이트 해주고 아래 코드를 작성 해준다.

Ubuntu 버전 

sudo su -
#root권한으로 변경
apt-get update
sudo 
#apt 업데이트
apt-get install apache2
#apache2 설치
apt-get install libapache2-mod-jk
#apache와 tomcat 연동 모듈 설치
vim /etc/apache2/mods-available/jk.conf
#연동 모듈 설정 
#위의 conf에 들어가면 JkWorkersFile /etc/libapache2-mod-jk/workers.properties 경로가 있는데
#/etc/libapache2-mod-jk/workers.properties 를 복사 해준다. 
vim /etc/libapache2-mod-jk/workers.properties

worker.list=ajp13_worker
worker.ajp13_worker.port=8009
worker.ajp13_worker.host=192.168.0.20
worker.ajp13_worker.type=ajp13
worker.ajp13_worker.lbfactor=1

##설명##
#worker.list = 이름 // 이름설정으로 연결할 tomcat서버를 구분 명을 쓰면됩니다.
#worker.이름.port = port번호 // tomcat 서버의 ajp 포트를 말합니다.
#worker.이름.host = IP나 url 주소 // tomcat 서버주소
#worker.이름.type = ajp13 // apache서버와 tomcat 서버가 통신하는 프로토콜 명으로, ajp13으로 설정하면 됩니다. 
#worker.이름.lbfactor=1 // 부하분산 설정으로 분산지수로 기본은 1입니다.
########

vim /etc/apache2/sites-available/000-default.conf  
JkMount /*.jsp ajp13_worker
#해당 url로 들거가면 .jsp 파일은 was 서버를 향하게 된다.

 

아래 코드는 centos 버전

sudo yum update
#yum업데이트 
sudo yum install -y httpd
#http 설치
sudo systemctl start firewalld
#firewalld 실행
sudo firewall-cmd --permanent --add-service=http
#http 방화벽 실행
sudo firewall-cmd --reload
#재시작
sudo systemctl enable httpd
#시작시 자동 실행
sudo systemctl start httpd
#httpd 데몬 실행
cd /var/www/html
sudo vim ./index.html
#index 파일에 홈페이지에 출력할 내용을 작성 해준다 
#예
<head>
	<title> test page </title>
</head>
<h1> WEB test page 입니다 </h1>

was-vm을 생성 해준다. 

was-vm이 생성 되면 tomcat을 설치 한다. 

 

sudo su -
#root권한으로 변경
apt-get update
apt-get upgrade
#apt 업데이트

apt-get install tomcat9
#tomcat9 설치 
vim /etc/tomcat9/server.xml
#  <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 이부분 주석 해제

vim /var/lib/tomcat9/webapps/ROOT/test.jsp
#test.jsp 파일 생성

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Web Title</title>
</head>
<body>
	<h1>이름, 나이, 급여 각각 입력</h1>
	<form action = "res.jsp">
		이름<input type = "text" name = "name"/><br/>
		나이<input type = "text" name = "age"/><br/>
		급여<input type = "text" name = "salary"/><br/>
		<input type = "submit" value = "전송"/><br/>
	</form>
</body>
</html>
#코드 작성

아래 버전은 centos 버전

sudo yum install wget
#wget 설치
sudo wget http://archive.apache.org/dist/tomcat/tomcat-8/v8.5.27/bin/apache-tomcat-8.5.27.tar.gz
#tomcat 8.5 설치
sudo tar zxvf apache-tomcat-8.5.27.tar.gz
#압축 해제
sudo mv apache-tomcat-8.5.27 /usr/local/tomcat8
#압축 해제한 tomcat을 /usr/local/tomcat8 경로로 이동

###################### Java 설치 ##########################
# http://www.oracle.com/technetwork/java/javase/downloads/index.html
# pc로 오라클 웹 사이트 접속 후 jdk rpm 다운로드 링크 주소 복사
## 다운로드 링크 : https://download.oracle.com/java/19/latest/jdk-19_linux-x64_bin.rpm
sudo wget -c 다운로드 링크 주소

sudo rpm -ivh jdk-19_linux-x64_bin.rpm   
#설치
sudo alternatives --config java
###########################################################

### 환경변수 등록 ###
sudo vim /etc/profile
#하단에 입력 해줄 것
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.11.0.9-1.el7_9.x86_64
CATALINA_HOME=/usr/local/tomcat8
CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/lib-jsp-api.jar:$CATALINA_HOME/lib/servlet-api.jar
PATH=$PATH:$JAVA_HOME/bin:/bin:/sbin
export JAVA_HOME PATH CLASSPATH CATALINA_HOME

#:wq 저장후 나와서 아래 명령어 입력
source /etc/profile

### server.xml 설정 ###
sudo vim /usr/local/tomcat8/conf/server.xml
#아래 설정에서 URIEncoding="UTF-8" 추가
<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"
           URIEncoding="UTF-8" />
           
### tomcat8 실행 ###
sudo /usr/local/tomcat8/bin/startup.sh
or
$CATALINA_HOME/bin/startup.sh
#startup.sh 로 tomcat server 실행
#### 실행 확인 ###
Using CATALINA_BASE:   /usr/local/tomcat8
Using CATALINA_HOME:   /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME:        /usr/lib/jvm/java-11-openjdk-11.0.11.0.9-1.el7_9.x86_64
Using CLASSPATH:       /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.
##################

netstat -ntl
#8080 port 가 열려있는지 확인

### systemctl 등록 ###
sudo vim /etc/systemd/system/tomcat8.service

################################## 아래 내용 입력 #####################################
# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=forking

Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.11.0.9-1.el7_9.x86_64"
Environment="CATALINA_HOME=/usr/local/tomcat8"
Environment="CATALINA_BASE=/usr/local/tomcat8"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

ExecStart=/usr/local/tomcat8/bin/startup.sh
ExecStop=/usr/local/tomcat8/bin/shutdown.sh

User=root
Group=root
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target
############################################################################################

sudo systemctl daemon-reload
sudo systemctl enable tomcat8
# systemctl 리로드

sudo systemctl start firewalld
sudo firewall-cmd --permanent --add-port=8080/tcp 
sudo firewall-cmd --reload
#방화벽 설정

sudo systemctl start tomcat8
#tomcat8 실행

### systemctl service 부팅 시 자동 실행 되도록 설정
sudo systemctl enable tomcat8.service
#//부팅 시 자동 실행 서비스 등록

sudo systemctl list-unit-files --type service |grep tomcat8
#등록된 서비스 조회

web nsg

was nsg

web ip로 접속시
web ip/test.jsp 접속시

'클라우드 > Company' 카테고리의 다른 글

Azure VM port 변경하여 ssh 접속(ubuntu)  (0) 2023.01.06
Azure 공부2일차  (0) 2022.11.15
Azure 공부1일차  (0) 2022.11.14