목록💡 백엔드 (147)
코딩마을방범대
우분투의 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만 조회..
데이터 베이스는 데이터를 물리 디스크에서 직접 쓰기 때문에 서버에 문제가 발생하여 다운되더라도 데이터 손실이 되지않습니다. 하지만 매번 디스크에 접근해야 하기 때문에 사용자가 많아질수록 부하가 많아져서 느려질 수 있습니다. 일반적으로 서비스 운영 초반이거나 규모가 작은, 사용자가 많지 않은 서비스의 경우에는 WEB - WAS - DB 의 구조로도 데이터 베이스에 무리가 가지 않지만, 사용자가 늘어난다면 데이터 베이스가 과부하 될 수 있기 때문에 캐시 서버를 도입하여 사용합니다. 캐시 서버 (Cache Server) 캐시 (Cache) 한 번 읽어온 데이터를 임의의 공간에 저장하여 다음에 읽을 때는 빠르게 결괏값을 받을 수 있도록 도와주는 공간 매번 데이터 베이스를 거치는 것이 아니라 캐시 서버에서 첫 번..
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 밖에서 실행..
at 1회 작업 예약 리눅스 명령어 지정한 명령어를 지정한 시간에 1회 실행 시간이 되면 수행하고 종료됨 초기 세팅 apt를 통해 at 설치 $ sudo apt update $ sudo apt install at 서비스 시작과 자동 기동 설정 $ systemctl start atd $ systemctl enable atd 사용 방법 절댓값 : at 시간지정 현재기준 : at now+값 [minutes, hours, days] at 콘솔에 진입하지 않는 방법 ※ java -jar 등의 명령어 실행 불가능 1. 절댓값 지정 시간 hh:mm yyyy-MM-dd ( 시간:분 만 입력해도 됨) $ at 13:45 -f test.sh 2. 현재 시간 기준 $ at now + 2 minutes -f test.sh a..
우분터 서버 시간대 변경 설정된 시간대 확인 1. timedatectl $ timedatectl Local time: 목 2023-06-08 13:16:37 KST Universal time: 목 2023-06-08 04:16:37 UTC RTC time: 목 2023-06-08 04:16:37 Time zone: Asia/Seoul (KST, +0900) System clock synchronized: yes NTP service: active RTC in local TZ: no 2. date $ date 2023. 06. 08. (목) 13:28:47 KST 사용 가능한 시간대 확인 $ timedatectl list-timezones Africa/Abidjan Africa/Accra Africa/Ad..