목록💡 백엔드/우분투 (36)
코딩마을방범대
Docker에 대한 기본 상식과 기초 사용 방법은 아래 포스트를 참고! 컨테이너와 Docker란? 컨테이너와 Docker란?컨테이너(Container)란? 애플리케이션을 환경에 구애받지 않고 실행하는 기술이다. 운영체제에서 실행되는 프로세스를 격리하여 별도의 실행 환경을 제공해주며, 해당 프로세스는 운영체제 상에sweet-rain-kim.tistory.com 우분투에서 Docker 사용하기 우분투에서 Docker 사용하기이전포스트 참고하여 Docker가 뭔지 알아봤고, 우분투에 Docker를 설치하여 사용 예정이다. https://sweet-rain-kim.tistory.com/146 컨테이너와 Docker란? 컨테이너(Container)란? 애플리케이션을 환경에 구애받지sweet-rain-kim.tis..
이전포스트 참고하여 Docker가 뭔지 알아봤고, 우분투에 Docker를 설치하여 사용 예정이다. https://sweet-rain-kim.tistory.com/146 컨테이너와 Docker란? 컨테이너(Container)란? 애플리케이션을 환경에 구애받지 않고 실행하는 기술이다. 운영체제에서 실행되는 프로세스를 격리하여 별도의 실행 환경을 제공해주며, 해당 프로세스는 운영체제 상에 sweet-rain-kim.tistory.com Docker 설치 1. 우분투 시스템 패키지 업데이트 $ sudo apt-get update 2. 필요한 패키지들 설치 $ sudo apt-get install \ ca-certificates \ curl \ gnupg \ apt-transport-https \ software..
Apache와 Nginx의 차이점 포스트 우분투에서 Nginx 구축하기 포스트 웹서버(Apache)와 미들웨어(Tomcat) 연동하기 연동 방법 세가지 AJP Apache 웹서버가 외부 시스템과 연동하기 위한 프로토콜 연결 방식 장점 단점 mod_jk - Tomcat Connector를 사용하는 방식 - 가장 많이 사용해온 방식 - mod_jk 관련 자료가 많음 - JKMount 옵션을 이용하면 URL이나 컨텐츠 별로 유연한 설정 가능 - 별도의 모듈 설치 필요 - 설정이 어려움 - Tomcat 전용 - apache와 tomcat간의 2진 패킷 전송 크기가 64kb mod_proxy - Reverse Proxy 기능을 사용하는 방식 - 별도 모듈 설치를 필요로 하지 않음 - 특정 WAS에 의존적이지 않음..
우분투의 purge를 통해 패키지를 삭제할 경우 폴더가 제대로 삭제가 되지 않는 경우가 있다 이럴 때 수동으로 폴더를 삭제하고 다시 깔면 패키지가 정상적으로 설치되지 않는다 이럴 때 해결방법이! 아래 명령어를 통해 설치된 패키지들을 확인 후 관련 패키지를 전부 지워준다 $ dpkg --get-selections 나의 경우는 nginx였고 참고사이트의 글에서도 nginx-common이 purge를 통해 지워지지 않아서 발생하는 문제였다 저렇게 조회 후 아래처럼 통으로 지워줬더니 정상적으로 설치되었다! $ sudo apt-get purge nginx nginx-common nginx-core 💡 TIPS! apt vs apt-get APT는 Advanced Packaging Tool*.deb 형색의 패키지들..
웹서버 Nginx & Apache (이전 포스트) 1. Nginx 설치 apt 업데이트 후 Nginx 설치 Nginx 설치 시 자동으로 실행됨 $ sudo apt update $ sudo apt-get install nginx Nginx 실행 $ sudo service nginx start # or $ sudo systemctl start nginx 서버 시작 시 자동으로 Nginx 를 실행하고 싶은 경우 $ sudo systemctl enable nginx 서버 시작 시 Nginx가 자동으로 실행되지 않게 하고싶은 경우 $ sudo systemctl disable nginx 설치된 Nginx 버전 확인 $ sudo dpkg -l nginx 2. 방화벽 설정 방화벽 상태 체크 $ sudo ufw stat..
apt-get을 통해 Apache2를 설치 후 자동으로 실행 시켜주는데 이 과정에서 실행 오류가 발생했다. AH00558: apache2: Could not reliably determine the server's fully qu> (98)Address already in use: AH00072: make_sock: could not bind to ad> (98)Address already in use: AH00072: make_sock: could not bind to ad> 정확한 오류는 아래 명령어를 통해 확인 가능 $ apache2ctl configtest 포트 80을 사용 중인 것으로 오류가 발생한 것 같은데 그냥 sudo netstat -anp | grep :80 으로 검색 시엔 tcp만 조회..
uname 시스템과 커널의 정보를 확인할 수 있음 $ uname -a Linux [호스트명] 5.15.0-73-generic #80~20.04.1-Ubuntu SMP Wed May 17 14:58:14 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux 예시 의미 Lunux 커널명 5.15.0-73-generic 커널 릴리즈 정보 #80~20.04.1-Ubuntu SMP Wed May 17 14:58:14 UTC 2023 커널 버전 x86_64 머신 하드웨어 이름 x86_64 프로세서 종류 x86_64 하드웨어 플랫폼 GNU/Linux 운영체제 옵션 옵션 의미 -a, --all 전체 내용 출력 -s, --kernel-name 커널 명 출력 -n, --nodename 네트워크 노드의 호..
간단하게 실행하려는 명령어 앞에 time 을 붙이면 된다. $ time java -jar test.war 프로세스 종료 시 아래와 같이 세 줄이 출력되며 종료된다. 여기서 real과 user, sys 의 차이점은 아래와 같다. ( 보통 user 시간이 sys 시간보다 크지만, 많은 프로세스가 실행되고 CPU 선점 경쟁이 높을 경우 sys가 user보다 클 수 있음 ) Real 프로세스가 시작되어 끝나는데 걸린 시간(elapsed time, wall clock time) 프로세스가 기다리는 시간까지 포함됨(ex. I/O가 실행되는 동안 기다리는 것도 포함) 프로세스 실행 시 실제 소요된 시간 ( 벤치마크 성능 측정용으로는 좋지 않음) User 사용자 영역에서 실행된 시간 프로세스가 kernel 밖에서 실행..