Fullstack-Study-241204-250625

커리큘럼(12-30/변경)

01. Java
02. git
03. Database 
04. Jsp [Server]

05. HTML,CSS 
07. JS
06. 미니프로젝트-2W

08. SpringFramework , SrpingBoot 
19. 중간프로젝트 (1M)
10. Linux 명령어 (v)
11. AWS
12. React JS [Front-end]
13. DevOps - Docker
14. App - Android
15. 최종프로젝트 (1M)

Linux

사용자 생성

useradd 사용자명

passwd 사용자명

usermod 옵션 사용자명

userdel 사용자명

쉘 변경하기

sudo chsh -s 쉘타입 계정명 sudo chsh -s /bin/bash user01 sudo chsh -s /bin/sh user01

폴더 소유자 변경하기

su 계정명

sudo chown 옵션 소유자:소유그룹 디렉토리경로

실행파일과 실행권한 chmod

chmod 권한이진수합 파일명 chmod 764 ./createUser.sh

실행파일에서 매개변수 사용하기

향상된 패키지 관리도구 apt

apt-get update

apt search 패키지명

apt-get install 패키지명

sudo apt-get install openjdk-11-jdk

java -version javac -version

아키텍쳐 웹서버

서버 구축

  1. 자바설치

  2. mysql설치

sudo apt-get install mysql-server

sudo mysql

use mysql; select user, host, plugin from user;

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '비밀번호';

UPDATE mysql.user SET Host='%' WHERE USER='root';

FLUSH PRIVILEGES;m

exit

  1. window환경에서 원격 mysql서버 접속
  • mysqld.cnf파일 수정 grep -r bind /etc/mysql
  • 해당파일의 로컬에서만 접속하는 부분 주석처리 sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
  • i키 입력 후 주석처리하고 :wq 저장
  • mysql재부팅 sudo service mysql restart
  1. 개발서버에서 프로젝트 빌드

    • 어플리케이션 빌드
    • 컴퓨터가 코드를 실행 시킬 수 있도록 컴파일하며, 어플리케이션에 필요한 라이브러리를 통합하고 합치는 과정
    • EC2에서 프리티어로 제공하는 운영체제는 사양이 좋지 않기 때문에 윈도우에서 빌드
    • 프로젝트 빌드시 필수사항
    • 레이아웃을 쓰는 경우 th:replace부분을 ./경로/경로 형태로 전부 수정
    • 파일 업로드 경로 처리
    • 개발 환경의 업로드 경로 \를 전부 우분투 환경의 경로에 맞추어 /로 변환
    • 우분투에 만들어지는 로컬 업로드 폴더는 window와 다름
    • app-properties파일의 업로드 경로를 우분투의 경로 /home/ubuntu/upload형태로 바꿈
    • 우분투에 /home/ubuntu/upload폴더를 만들어줌
    • 파일을 업로드 하려면 어플리케이션이 폴더를 rwx할수 있는 권한이 있어야 함
    • sudo chmod -R 777 /home/ubuntu/upload으로 누구나 다 rwx할수 있는 권한을 줌
    • 운영 데이터베이스의 접속 주소가 다르다면 수정
    • jar파일 실행

    java -jar 경로/프로젝트.jar

  2. FTP통신을 이용해 빌드 된 파일 전송

    • FTP통신 - File Transfer Protocol
    • 파일을 전송하는 통신방법
  3. 스프링부트인 경우 백그라운드로 war(jar)파일 실행

    • jar or war파일의 포그라운드 실행 명령

    java -jar 경로/프로젝트.jar

    • 포그라운드 실행 시 터미널을 종료하면 어플리케이션도 종료
    • jar or war 파일의 백그라운드 실행 명령

    nohup java -jar 경로/프로젝트.jar &

    • 우분투 서버에서 실행파일을 백그라운드로 동작
    • 터미널을 종료해도 어플리케이션은 백그라운드로 동작
    • 실행로그는 nohup.out파일에 기록록
    • nohup.out파일의 실시간 로그 확인 명령

    tail -fn50 nohup.out

    • 운영 환경에서 에러는 이곳에서 볼 수 있음
    • jar or war파일의 백그라운드 파일 종료 명령
    • 백그라운드 실행되는 파일은 프로세스 번호로 종료
    • 프로세스 확인 명령

    ps

    • 프로세스 중 jar파일을 찾는 명령

    pgrep *.jar

    • 프로세스 종료(755권한 필요)

    sudo kill -9 PID번호