IT/Linux (CentOS, Rocky) 7

[IT/일상] rm -rf / 명령어

오늘 뭔가 꿈자리가 뒤숭숭하더라니 위와 같은 명령어를 입력해버리는 대참사를 일으켰습니다. 정확히는 rm -f /* 였지요... 이런 실수를 하는 분들이 으레 그렇듯이 rm -f ./*를 치려다 점 하나를 빼먹은 겁니다. 옵션에 r을 넣진 않아서 재귀적으로 모든 디렉토리가 삭제되지는 않았지만 루트 디렉토리 바로 아래에 있는 bin, usr 등의심볼릭 링크가 날아가는 바람에 cd와 pwd 같은 명령어를 제외한 나머지 명령어가 먹히지 않고, 유저 정보도 손상돼서 서버에 접근도 불가능해졌습니다. (망함) 다행히도 데이터 없이 그냥 nginx 웹서버만 돌아가고 있는 프라이빗 서버라 손해는 딱히 없었지만, 서버를 새로 만들어야 했습니다. 그러니 현재 디렉토리를 비울 때 rm -rf ./* 대신 rm -rf *를 사..

[Apache] 웹서버 static 파일에 접근

apache 웹서버에 파일을 올리고 호스트 URL을 통해 접근하는 방법을 정리한다. 1. httpd.conf에 설정된 DocumentRoot 경로에 파일을 업로드한다. 기본 경로는 /var/www/html이다. test.csv라는 파일을 이 경로에 업로드했다면, [호스트주소]/test.csv 를 주소창에 입력했을 때 파일이 다운로드될 것이다. 다운로드되지 않는다면 경로를 올바르게 입력하지 않은 것이다. 2. CORS 설정을 해 준다. httpd.conf에 아무 설정도 되어 있지 않다면 React의 fetch나 axios로 요청했을 때 CORS 에러가 발생할 것이다. httpd.conf를 편집한다. LoadModule headers_module modules/mod_headers.so 로 헤더 모듈을 로드..

[Linux/Nginx] Mosquitto 웹소켓(wss) 오류

1. CORS 에러 + 504 gateway time-out (함께 발생) 리버스 프록시를 사용하는 경우, Nginx.conf에서 server { ... proxy_read_timeout 300; proxy_buffers 64 16k; location / { proxy_pass http://192.168.1.8:30082; } } 2. websocket connection to failed wss가 허용이 되어 있지 않아서 생기는 문제. Mosquitto 서버의 mosquitto.conf에서 wss 관련 설정을 추가한다. listener 8883 protocol websockets certfile [인증서crt파일].crt keyfile [인증서key파일].key cafile [인증서ca파일].ca-bu..

[Linux/Nginx] Reverse Proxy, SSL 설정

특정 URL, 포트로 요청했을 때 내부 서버에 연결해주는 방법 /etc/nginx/nginx.conf server { listen 접근_포트 ssl; server_name 접근_URL; ssl_certificate 인증서.crt.pem; ssl_certificate_key 인증서.key.pem; ssl_prefer_server_ciphers on; ssl_session_timeout 10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; location / { proxy_pass 내부서버_주소; } } httpd(아파치) 로 하려다가 실패하고 nginx로 세팅하였습니다. 아파치보다 nginx가 정보가 많고 쉬우니 참고하세요... 오류 해결 과정 ※ nginx가 실행되지 않는다면 ngi..

[Linux/MariaDB] mysqldump로 데이터베이스 백업, 복사하기

※ mariadb의 워크벤치가 아닌 cmd에서 실행해야 합니다. ※ definer로 설정된 계정에 grant all privileges on *.* to '계정이름'@'%' identified by '비밀번호'; 로 모든 권한 부여하기 특정 DB의 모든 요소(데이터 포함)를 파일로 저장 mysqldump -u root -p DB이름 > 덤프파일이름.sql 특정 DB의 프로시저만 파일로 저장 mysqldump -u root -p --routines --no-create-info --no-data --no-create-db --skip-opt DB이름 > 덤프파일이름.sql 저장된 파일을 백업 mysql -u root -p 저장할DB명 < 덤프파일이름.sql

[MongoDB/Linux] MongoDB의 특징, Docker로 설치 및 Compass 접속

[Docker] 도커의 개념, linux에서 도커 설치 1. 도커(Docker)란? 컨테이너 기반의 가상화(하나의 하드웨어를 여러 개의 가상 머신으로 분할하는 것) 플랫폼. 프로그램 실행에 필요한 모든 프로그램 파일과 환경들을 갖춘 이미지(Image), 그리고 doringri.tistory.com [Docker] 도커 이미지(Image) 다운로드 및 컨테이너(Container) 생성/실행/삭제하기(feat. SonarQube) [Docker] 도커의 개념, linux에서 도커 설치 1. 도커(Docker)란? 컨테이너 기반의 가상화(하나의 하드웨어를 여러 개의 가상 머신으로 분할하는 것) 플랫폼. 프로그램 실행에 필요한 모든 프로그램 파일 doringri.tistory.com 도커에 대한 설명은 위 포스..