< aws(아마존 웹 서비스) 결제시스템 실습 >
EC2 - 서버
RDS - 데이터베이스
* 탄력적 IP
- 컴퓨터를 끄면 서버가 다운되면서 접근 ip들이 바뀐다. 이때 고정ip를 설정하고 싶으면 탄력 ip를 설정하게 된다. (설정하게 되면 서버가 꺼져도 요금이 부과되기 때문에 사용x)
* aws페이지 -> ec2 검색 -> 인스턴스 시작 -> 이름 설정 -> os ubuntu 18.04 프리티어 선택 -> 키페어 생성 -> HTTPS, HTTP 허용
* 인스턴스 정상 생성 후 인스턴스 ID클릭 ->
SSH 클라이언트 ->
하단의 명령 프롬프트 명령어 복사 ->
명령 프롬프트에서 실행 후 yes ->
users/(컴퓨터 계정명)/.ssh에 찾아가 인스턴스 생성시에 다운로드 된 .pem 확장자 파일을 넣는다. ->
다시 프롬프트 명령어 복사 후 실행 ->
sudo apt install openjdk-8-jdk 명령어 실행(다운로드) ->
sudo vim /etc/profile ->
{
최하위단에 아랫문장 추가
'o' 클릭 후 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ 복사 후 마우스 우클릭 ->
:wq를 입력하면 저장 후 textfile 탈출
:q!를 입력하면 저장하지 않고 강제탈출
}
esc 누른 후 :wq 입력 ->
source /etc/profile(서버에 설정을 적용하는 행위) 입력 ->
sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat 명령어 실행(tomcat이라는 유저 생성) ->
sudo tail -5 /etc/shadow, sudo tail -5 /etc/group 명령어로 잘 생성됐는지 확인 ->
wget http://mirror.apache-kr.org/tomcat/tomcat-9/v9.0.68/bin/apache-tomcat-9.0.68.tar.gz 실행 ->
sudo tar -xf /home/ubuntu/apache-tomcat-9.0.68.tar.gz -C /opt/tomcat ->
sudo mv apache-tomcat-9.0.68/ tomcat-9 ->
sudo chown -RH tomcat: /opt/tomcat/tomcat-9 ->
sudo sh -c 'chmod +x /opt/tomcat/tomcat-9/bin/*.sh(권한부여) ->
sudo vim /opt/tomcat/tomcat-9/conf/server.xml ->
{
아래 내용 port 변경
<Connector port="8888" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
}
sudo vim /etc/systemd/ststem/tomcat.service ->
{
[Unit]
Description=Tomcat 9 servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"
Environment="CATALINA_BASE=/opt/tomcat/tomcat-9"
Environment="CATALINA_HOME=/opt/tomcat/tomcat-9"
Environment="CATALINA_PID=/opt/tomcat/tomcat-9/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/tomcat-9/bin/startup.sh
ExecStop=/opt/tomcat/tomcat-9/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
}
sudo systemctl daemon-reload ->
sudo systemctl start tomcat ->
sudo systemctl status tomcat -> (상위 2문장 실행 후 해당 문장을 통해 서버 실행상태 확인)
ec2 ->
보안그룹 ->
인바운드 규칙 ->
인바운드 규칙 편집 ->
규칙 추가 ->
사용자 지정 TCP ->
port 번호 8888 ->
ip = 0.0.0.0/0 ->
규칙 저장
< 명령어 >
* pwd : 현재 경로를 보여준다
* ls : 현재 디렉토리의 파일목록을 보여준다
* tar는 packaging된 파일이다. tar -xf를 통해 경로를 지정해 unpacking을 할 수 있다.
* tail : 조회 명령어
* chown : change owner
* 프로젝트 우클릭 -> run as -> maven build -> goals : clean package -> run 하면 알아서 server에서 압축 풀어서 서비스 해준다
[aws]
sudo chmod 777 webapps
sudo ls -al webapps/
< window에서 >
scp -i [pem파일경로] [업로드할 파일 이름] [ec2-user계정명]@[ec2 instance의 public DNS]:~/[경로]
scp -i bootServer.pem C:\javas\boot_workspace\boot\target\boot.war ubuntu@ec2-43-201-8-191.apnortheast-2.compute.amazonaws.com:/opt/tomcat/tomcat-9/webapps
Spring/AWS 실습