DevOps/Linux

· DevOps/Linux
1. 개요회사에서 redhat 7 계열의 리눅스를 사용하고 있었다. 2024.06.30일부터 red hat 7은 지원이 종료되어, redhat 8을 사용하기로 했다.  Nginx 서비스를 systemctl로 시작하면 permission denied 에러가 나면서 서비스 구동이 안됐다.  2. 원인/etc/nginx/nginx.conf에서 log 경로를 /data2/nginx/log로 수정하고 싶었다.# error_log /var/log/nginx/error.log notice;error_log /data2/nginx/log/error.log notice; 수정한 뒤 systemctl start nginx를 위에서 언급한 permission denied 가 발생하면서 구동이 안된다.red hat 7에서 ..
· DevOps/Linux
1. 개요회사에서 CentOS 7.9를 사용하고 있는데, yum 을 사용하여 패키지 업데이트 및 설치시 에러가 발생했다.해결 방법을 공유하고자 해당 포스팅을 작성한다. 에러 문구를 읽어보면, http://mirrorlist.centos.org  url에 접속 문제가 있는  것 같다. 2. 해결 방법현재 사용할 수 있는 yum repo 주소로 설정해서 문제를 해결해보자.a. 기존 yum repo 백업mkdir /etc/yum.repos.d/repo_bk # 백업 dir 생성mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo_bk/ # 백업ls /etc/yum.repos.d/repo_bk/ # 백업 확인 b. 새로운 Base Repo 파일 생성base repo 파일 생성v..
· DevOps/Linux
SFTP를 정리하기에 앞서 FTP에 대해서 간략히 정리하겠다.  FTP(File Transfer Protocol)는 말 그대로 파일을 전송할 때 사용하는 통신 규약이다. 즉, 계정을 제공하는 서버pc와 클라이언트pc(내pc)와 파일을 주고 받을 때 사용한 인터넷 통신 규약이다. FTP는 보안적인 문제로 잘사용되지 않는다.  1. SFTP(SSH File Transfep Protocol)란?보안을 강화한 FTP라고 생각하면 된다. SFTP는 FTP와 달리 서버간의 데이터  전송시 암호화하기 때문에 보안상의 문제점을 방지했다. 즉, SSH를 적용한 파일 전송 프로토콜이다.여기서 SSH란 원격 PC에 안전하게 엑세스하기 위한 유닉스 기반의 명령 인터페이스 및 프로토콜에 암호화 기능을 구현해 모든 데이터가 암호..
· DevOps/Linux
리눅스 환경에서 서비스에 사용되는 여러 프로세스들을 모니터링 하기 위해 supervisor를 적용했다적용과정을 공유하겠다.1. supervisor 란?supervisor는 여러 프로세스를 모니터링-관리하며 데몬 형식으로 지속적으로 동작해야 하는 프로세스가 있을 경우 유용하게 사용할 수 있다데몬은 서버(시스템)이 살아있는 동안 항상 실행되어야 하는 백그라운드 프로세스이다. Supervisor 란?supervisor가 프로세스에 대해 지속적으로 모니터링 하고, 프로세스가 예기치 않게 종료되어도 재구동하며 지속적으로 동작하도록 돕는 도구이다. 또한 여러 프로세스들을 통합해서 관리할 수 있다는 장점도 있다. 사용자에게 지속적으로 제공해야 하는 여러개의 프로세스(서비스)가 있는데, 사람이 직접 프로세스가 구동되고..
· DevOps/Linux
리눅스 환경에서 백그라운드로 프로세스를 실행시키기 위해서는 주로 nohub과 &(앰퍼샌드 기호)를 사용한다.nohub과 & 사용법에 대해서 정리하겠다. 1. nohub / &(앰퍼샌드)nohub과 & 모두 백그라운드에서 실행하도록 할 때 사용한다. 이 둘의 차이점을 보자. nohubnonhub은 "no hang up" 줄임말로 특정 프로세스를 백그라운드로 실행시킨 후 현재 연결되어 있는 터미널 세션과 연결이 끊어져도 작업이 계속 실행되도록 보장한다. &&는 특정 프로세스를 백그라운드로 실행시킨 후 현재 연결되어 있는 터미널 세션과 연결이 끊어지면 프로세스도 함께 종료된다.하지만 세션이 끊어져도 프로세스가 종료되지 않을 경우에는 옵션이 default로 적용되어 있기 때문이다. 옵션을 변경하게 되면 터미널과..
· DevOps/Linux
1. JAVA 17 설치$ sudo apt install openjdk-17-jdk # ubuntu 기준위 sudo 명령어를 입력해서 JDK 17버전을 설치해보자. 2. 설치 확인$ java -version3. jar 확인참고로 jar는 java 애플리케이션을 build하면 생성되고, Java 클래스 파일, 리소스 파일 및 메타데이터를 하나의 파일에 압축하여 저장한 파일형태이다. 배포할 때 사용한다. ls 명령어를 사용하여 jar 파일이 있는지 확인했다. 4. 실행 및 결과예를 들어 "hello_spring-0.0.1-SNAPSHOT.jar" 파일을 실행할 경우 아래의 명령어 형태로 입력하면 된다.$ java -jar "jar 파일명"$ java -jar hello_spring-0.0.1-SNAPSHOT..
· DevOps/Linux
1. cron이란?특정 시간 조건에 따라 주기적으로 특정 로직을 실행하는 프로그램이다.애플리케이션에서 특정 로직을 처리해도 되긴 하지만 cron을 사용하면 시스템 레벨에서 동작하기 때문에 안정적이다.하지만 유지보수가 어렵기 때문에 여러 요인을 고려해서 사용해야 한다. crontab은 cron 설정 정보를 파일로 관리하는 것을 말한다.  2. cron 주기cron 주기를 설정해 특정 시간마다 특정 로직을 수행할 수 있다.함께 사용하는 기호 기호와 함께 주기를 설정하면 간편하게 설정할 수 있다. 예시* * * * *: 매시간, 매분, 매일, 매월, 매요일에 실행0 2-4 * * *: 매일 2시부터 4시 사이에 실행*/15 * * * *: 매 15분 마다 실행0 0 * L * *: 매월 마지막 날에 실행0 0..
· DevOps/Linux
1. 파일 생성과 vi 편집기 실행hello_shell.sh를 vi편집기로 열어준다. (hello_shell.sh 파일이 없을 경우 새로 생성)vi hello_shell.sh 2. script 작성 및 저장!/bin/bash : shell 을 사용하겠다는 의미echo “hello world”: hello world를 출력 exit 0입력 후 esc를 누른 뒤 :wq 입력하여 저장 후 종료  3. 실행 권한 확인 및 권한 부여ls 명령어를 통해 해당 파일의 권한을 확인해보면 실행 권한이 없을 것이다.아래 명령어(chmod)를 입력하여 실행 권한 부여하면 파일 소유자에게 실행 권한을 부여해준다.chmod 755 “hello_shell.sh” 4. 실행bash 명령어를 사용하여 실행 해주었다.정상적으로 동작하..
· DevOps/Linux
1. cd: 디렉터리 이동$ cd [PATH] # 이동하려는 디렉터리로 이동$ cd ~ # 홈 디렉터리로 이동$ cd / # 최상위 디렉터리로 이동$ cd . # 현재 디렉터리$ cd .. # 상위 디렉터리로 이동$ cd - # 이전 경로로 이동 2. ls: 현재 위치의 파일 목록 조회$ ls -l ** # ** 파일의 상세정보$ ls -a # 숨김 파일 표시$ ls -t # 파일들을 생성시간순(제일 최신 것부터)으로 표시$ ls -rt ** # 파일들을 생성시간순(제일 오래된 것부터)으로 표시$ ls -f # 파일 표시 시 마지막 유형에 나타내는 파일명을 끝에 표시('/' : 디렉터리, '*' : 실행파일, '@' : 링크 등)$ ll # 숨긴 파일과 함께 파일 상세정보 조회(ls -alF) 3. rm..
kmindev
'DevOps/Linux' 카테고리의 글 목록