보통 리눅스 서버에 초기에 셋팅을 해놓고 운영을 하다보면 웹관련 소스만 관리하지 서버에 관련된 것들은 관리하지 않게되는 불상사에 빠진다 ㅋ 리눅스 개발서버에 뭔가 셋팅을 하려고 보니 dnf 명령어가 안먹어서 설치가 안됐네 하고 yum을 호출했더니 다양하게 뭐 레파지토리 뭐 연결 실패, 레포를 찾을 수 없다는 등... 나는 많은 오류가 표출 되는 가운데 마지막 맨 아래에 이런 오류를 보게되었다. Cannot find a valid baseurl for repo: base/7/x86_64 서버 엔지니어가 아니다 보니 이건 뭐지 하고 찾아보니 네임서버 설정만으로 해결가능하다는 것을 보고 아래와 같이 설정하였다. [root@localhost /]# vi /etc/resolv.conf # Generated by ..
보통 로그인부를 직접 만들어 써도 되지만Spring 에는 security 라는 아주 좋은 인증 기능이 있기 때문에 보통 이것을 사용해왔다. 최근 security 쪽 코드를 개선하다가 사용법을 남겨보려고 한다. Springboot gradle 에 관련 라이브러리를 작성합니다.설정에 필요한 라이브러리만 일단 작성해줍시다.implementation 'org.springframework.boot:spring-boot-starter-web'implementation 'org.springframework.boot:spring-boot-starter-security'implementation 'org.springframework.boot:spring-boot-starter-data-jpa'compileOnly..
우리가 서비스를 구축해서 사용하다보면 업데이트, 버그픽스시 서비스를 순단하고 배포하고 오류수정 후 오픈하는 식의 과정을 가졌었다. 옛날에는 거의 사용자가 없는 시간대에 배포를 하곤 했었다는...ㅋ 요즘엔 AWS codedeploy 를 이용해서 blue/green 배포를 하거나아니면 도커 컨테이너를 새로 올려서 배포판으로 연결하거나 하는 여러 방식이 있다.각각의 서비스 구축 상태에 따라 여러 방식으로 blue/green 무중단 배포 시스템을 구성 할 수 있다. 과거했던 프로젝트들이 대부분 Jenkins - apache - tomcat 이런식으로 구성되어있고서비스 배포할때마다 1~5분 정도 순단되는 상황을 겪고 있다.(프로젝트 시작 당시에는 내부프로젝트니까 퇴근시간에 배포하지 뭐~ 이런 마인드 였나보..
서비스를 무중단으로 운영하려다 보니 서비스는 무중단으로 알게모르게 패치가 적용되었지만 로그인 한 사용자들은 세션정보가 이전 was에 남아있기 때문에 재로그인을 할 수 밖에 없는 상황에 빠지게 된다. 그래서 세션을 spring session + redis 를 이용하여 세션을 redis에 담아보려 한다. 먼저 redis를 도커를 이용해 설치해줍시다. docker run -d --name redis -p 6379:6379 -v redis:/data redis:6.2.11-alpine 위와 같이 redis 도커 이미지를 컨테이너에 구동시켰습니다. 그리고 redis-cli를 이용하여 비밀번호를 설정해줍니다. docker exec -it redis /bin/sh /data # redis-cli 127.0.0.1:6..
한 서버에 여러 사이트들이 동작중이어서 개발시에 포트로 접근했으나 여러 구성원들이 접근하기 쉽게 nginx 에 다중 도메인 설정을 하여 운영해보려고 한다. Nginx와 서브도메인을 운영한다는 전제하에 기술하겠습니다. 먼저 nginx 가 없으신 분들은 각 사용하시는 리눅스 설치 명령어로 nginx 를 설치하십시오. dnf install nginx 저는 설치된 기본상태에서 진행 하겠습니다. nginx 를 설치하고 /etc/nginx 경로에 접근하면 아래와 같습니다. drwxr-xr-x. 2 root root 100 Mar 31 09:31 conf.d -rw-r--r--. 1 root root 1007 Oct 19 19:48 fastcgi_params -rw-r--r--. 1 root root 5349 Oct..
# 와일드카드로 검색 후 최신파일 찾기 ls -t springboot-test-*.jar | head -1 ls -tr springboot-test-*.jar | tail -1 # grep으로 검색 후 최신파일 찾기 ls -t | head -1 | grep springboot-test ls -tr | tail -1 | grep springboot-test- 나는 정확히 내가 원하는 파일을 찾기 위해 와일드카드로 검색하는 편이다. -t: 파일이나 디렉토리의 수정 시간을 기준으로 역순으로 정렬하여 출력합니다. 가장 최근에 수정된 파일이 위쪽에 표시됩니다. -r: 역순으로 출력합니다. 파일이나 디렉토리의 이름을 역순으로 정렬하여 출력합니다. -tr: 시간순으로 정렬 후 역순으로 재정렬