0927 수업

webmaster 아이디 접속하기
새 세션에서 open

사용자추가

3.2.1
useradd 옵션 계정이름 //계정(사용자)추가
옵션
-d // 홈 디렉토리 지정할 때 사용
-g // 그룹을 지정할 때 사용
-G // 기본 그룹 이외에 추가로 지정할 그룹이 있는 경우 사용
-c // 계정 추가 시 계정에 대한 설명을 설정
-s // 계정 추가 시, 이 계정으로 로그인 한 사용자가 사용할 쉘을 지정한다.
-M // 홈 디렉토리 생성 없이 계정 추가

/etc/passwd : 시스템 사용자 확인 (계정정보있음)

  • 라인 해석
    ID:비밀번호:UID:GID:설명:홈디렉토리:로그인 쉘
    /etc/group : 프로그램 실행과 관련된 그룹들있음
    /etc/shadow : 계정비밀번호 저장

사용자 비밀번호 설정

passwd 계정 //비밀번호 설정 및 수정
/etc/shadow //(암호화된)비밀번호저장위치

사용자 삭제

userdel 옵션 계정 //사용자 삭제
옵션
-r : 사용자의 홈 디렉토리를 제거

사용자계정으로 로그인하기

open
ssh user1@호스트IP

그룹 추가 삭제

추가

groupadd 옵션 그룹명 // 새로운 그룹 생성
옵션
-g GID번호 // 특정 GID 번호를 설정
-r // 0~1000번대 사이로 GID번호를 자동으로 설정

  • gid : 그룹번호
    cat /etc/group 들어가면 뒤에숫자

삭제

groupdel 그룹명

사용자의 그룹 조회

groups 사용자명

사용자 전환

su - 계정1 // 계정1로 전환
su - // 루트 계정으로 전환

디렉토리 관리

조회

pwd // 현재 위치한 디렉토리 절대경로
ls 옵션 디렉토리 // 디렉토리에 있는 파일의 목록표시
옵션
-l // 권한,생성시간 같은 자세한 내용출력
-a // 숨김을 포함한 현재 디렉토리 모든 내용
-h // 파일 크기를 k,m,g로 읽기 편한단위로 출력
-R // 하위 디렉토리 내용 함께 출력
ex) ls -R webmaster/ // 웹마스터 밑에 디렉토리확인 R : recursive(재귀)
ls -l -> ll : alias치면 나옴

생성

mkdir 옵션 디렉토리 // 디렉토리 생성
옵션
-m // 디렉토리 권한 지정. 기본값 755
-p // 상위 디렉토리 존재x 면 만듦

삭제

rmdir 옵션 디렉토리 // 비어 있는 디렉토리 삭제
옵션
-p // (비어있는)상위 디렉토리까지 지움
ex) dir2/subdir1 //dir2만 지울 수 없지만 rmdir -p subdir1하면 함께 지워짐

이동

cd 디렉토리

복사

cp 옵션 원본 사본
옵션
-a //원본 파일 속성,링크정보 그대로 복사
-i //복사대상에 같은 이름 존재시 물어봄
-f // 존재시 강제로 지우고 복사
-R // 안에 포함된 모든 하위 디렉토리,파일 모두복사

파일 이동

-mv 옵션 원본 목적지
옵션
-b // 덮어 쓰게 되는 경우 백업 파일 만들고 파일을 만듦
-i // 덮어 쓸 때 사용자에게 물어봄
-f // 물어보지않음

파일 삭제

-rm 옵션 파일이름
옵션
-r,-R // 일반 파일이 아닌 디렉토리는 하위 디렉토리,파일 모두삭제
-i // 삭제할지 물어봄
-f // -i옵션 무시하고 강제로 삭제

파일 조회

cat 옵션 파일이름
옵션
-n // 줄 번호를 표시
-b // 빈 행은 제외하고 줄 번호 표시
-E // 각 행마다 끝에 $ 출력

touch

파일의 시간 정보 변경
touch 옵션 파일이름
옵션
-c // 현재 시간으로 파일 시간변경
-d 시간 // 지정한 시간으로 파일 시간 변경
-r 파일 // 지정한 파일 시간으로 파일 시간 변경
-t MMDDHHMM[[CC]YY][.SS] // 지정한 시간으로 변경

c언어 실행파일 만드는과정

hello.c ----컴파일----> hello.o ---link--> hello
+library

리눅스에서 C파일 실행하는 방법

vi loop.c // 내부 c소스코드 작성
gcc -c loop.c // 컴파일
gcc -o loop.o // 링크
./loop // 실행

  • gcc -o loop loop.c 로 한번에 실행가능

포어그라운드 실행

./loop //리눅스 기본적으로 포어그라운드에서 실행

백그라운드 실행

./loop & // 백그라운드에서(뒤에서 )실행

실행 확인

ps -ef | grep loop // 실행되고있는지 확인
sar -P ALL 1 // 1초에한번씩 시피유 확인
sar -P ALL 1 1 // 1번만 확인

리눅스에서 파이썬 실행

python hello.py

시스템 콜 보는명령어

strace -o hello.2.log python hello.py
cat hello.2.log

sar

패키지 다운로드

yum -y install sysstat
sar -P ALL 1 :씨피유사용량

make(빌드시스템)

빌드 수작업

main.c---->main.o
----> hello
hello.c---->hello.h

자동화 (make 사용)

vi makefile
----insert모드----
hello: main.o hello.o //hello는 main.o와 hello.o에 의존성을가짐
gcc -o hello main.o hello.o //변경시 main.o, hello.o 다시만듦
main.o: main.c
gcc -c main.c
hello.o: hello.c
gcc -c hello.c
clean: //의존성x
rm -f hello *.o //hello파일 지우고 .o로 끝나는 파일 전부지움

실행

make 파일명 //자동으로 빌드 후 바뀐 내용 출력됨

컴파일 후에 c파일(hello.c)만 따로수정하고 make 명령어 쓰면 바꾸지 않은 부분(main.c)은 실행 안됨
그럴때 touch 사용하면 전부 빌드
touch 사용이유 수정없이 빌드하고싶을때

폴더상황
/usr/local/douzone
|-----java8
|-----tomcat8.5
|-----git
|-----maven
|-----mariadb
|-----node
|-----python3

리눅스에 NAT으로 톰캣 실행환경 만들기

자바는 기본적으로 설치돼있어야함

  1. tomcat8 다운로드
    다운로드 과정 : 구글 tomcat8 download - tar.gz 우클릭 - 링크주소복사

wget https://mirror.navercorp.com/apache/tomcat/tomcat-8/v8.5.65/bin/apache-tomcat-8.5.65.tar.gz

  1. 압축 풀기
    tar xvfz apache-tomcat-8.5.65.tar.gz

  2. 설치
    mv apache-tomcat-8.5.65 /usr/local/douzone2021/tomcat8.5

3.1 심볼릭 링크
ln -s /usr/local/douzone/tomcat8.5 /usr/local/douzone/tomcat

  1. 설정(/etc/profile, 생략)

  2. 포트 확인

  • 강의에서 약속
    서버에서 실행 포트 : 8088 ,로컬에서 실행 포트 : 8080
  • 명령어 모드에서 단어(ex:8080) 검색하는방법
    /8080

vi /usr/local/douzone/tomcat/conf/server.xml

-----------Insert모드----------------
Connector port = "8088"로 변경


/usr/local/douzone/tomcat/bin/catalina.sh start // 다시실행
ps -ef | grep java // 서버 실행됐는지 확인

  1. 실행
    /usr/local/douzone/tomcat/bin/catalina.sh start
    ps -ef | grep tomcat //톰캣 실행 확인
    ps -ef | grep java //서버 실행됐는지 확인

  2. 브라우저로 접근 하기
    7.1 NAT 이므로 포트포워딩 하기
    local host : 127.0.0.1 , gast host : 10.0.2.15
    포트번호 : 8088

7.2 브라우저로 접근 하기
localhost:8088
톰캣 화면 나오면됨

  1. 중지 시키기
    /usr/local/douzone/tomcat/bin/catalina.sh stop

  2. 서비스 등록 하기(리눅스실행시 톰캣 서버 자동으로 실행)
    cd /usr/lib/systemd/system/tomcat.service 파일 생성 (내용은 tomcat.service.txt)
    systemctl enable tomcat

  3. tomcat 서비스 실행/중지/재실행
    systemctl start tomcat
    systemctl stop tomcat
    systemctl status tomcat // 상태확인
    systemctl restart tomcat

  4. tomcat manager 설정
    1) tomcat-users.xml 설정

    • 복사해야하는 내용
      tomcat 설치-설정.txt
      <role ~ "manager"/>
      ~~
      ~~ //문단 전부 복사
      <user
      ~~status"/>

      vi /usr/local/douzone/tomcat/conf/tomcat-users.xml
      맨밑의 바로 윗라인에 복사한 내용 붙여넣기

    2) context.xml 설정

    • 복사해야하는 내용
      *tomcat 설치-설정.txt에서 복사해야할 내용
      docBase~~/manager"> //복사
      <Valve~$" /> //복사

      vi /usr/local/douzone2021/tomcat/webapps/manager/META-INF/context.xml

  1. tomcat 재시작
    systemctl stop tomcat
    ps -ef | grep tomcat
    systemctl start tomcat

  2. manager 설정 잘 됐는지 확인
    localhost:8088/manager
    로그인화면 뜨면 정상
    id : admin
    pw : manager
    입력 후에 tomcat 웹 어플리케이션 매니저 화면 확인하기

dynamic web project로 매니저활용해서 어플리케이션 배포 과정 확인하기

new -web의 dynamic web project- 프로젝트 네임 설정 - next - next - generate web.xml deployment descriptor 체크후 finish
webapp 폴더 우클릭 (index.jsp)jsp 파일 생성
window- preferences- server- runtime -Environment - add - 8.5 버전선택
Tomcat installation directory에 C:\douzone2021\apache-tomcat-8.5.71 넣기
피니시 - apply close
톰캣홈페이지 zip 파일 맨위에거 다운(더존파일에압축풀기)
콘솔창쪽 server 클릭 , 링크클릭 8.5v 선택후 next
프로젝트 우클릭 프로퍼티 - project facets - dynamic web module 버전 3.1정도로 바꾸기, java는 1.8정도로 바꾸기
오른쪽에 Runtimes - Tomcat v8.5 선택 - apply
콘솔창쪽 server 클릭 , 링크클릭 8.5v 선택후 next - add하기 - finish
프로젝트 우클릭- 프로퍼티 - 자바 빌드패쓰 들어가서 libraries - 서버런타임확인
콘솔창쪽에 서버 클릭해서 오른쪽위에 실행키 눌려주기
localhost:8080 접속안됨 : 어플리케이션 지정안해서 404에러
localhost:8080/helloweb

이클립스에서 war파일만들기
file - export - web - warfile - next - Broswe - douzone선택 helloweb\helloweb.war
localhost:8088 로그인한 화면에서 war파일 추가
배치 눌리면 배포됨
xshell에서 webapps폴더에서 ls -l하면 helloweb.war파일 들어가있음
cd helloweb 하면 index.jsp 있음
localhost:8088/helloweb 들어가면 Hello World나옴

0개의 댓글