본문 바로가기

Server에 해당하는 글들

52 Articles matched
목록이 없습니다.
[Apache2] No protocol handler was valid for the URL 상황설명 오늘 apache2를 앞에 웹서버로 두고 그 뒤에 tomcat을 띄워놓고 apache2에서 proxy 모듈을 통해서 tomcat으로 전달해주는 작업을 하고 있었는데요. 셋팅 완료 하고 나서 tomcat을 실행시키고, apache2를 start 시키고 나서 웹브라우저를 통해 접속하니 접속이 안되는 겁니다. 왜 안되는지 확인을 해보기 위해서 로그를 확인해야했습니다. 기본 로그 파일 위치 : /var/log/apache2 여기에 있는 error.log 확인 (만약 로그 파일 경로나 이름을 다르게 했을 경우 해당 경로나 이름으로 된 로그파일 확인) 확인해보니 아래처럼 에러 로그가 찍혀있었음. 에러 로그 [Thu Jun 30 13:50:36.490016 2022] [proxy:warn] [pid 1476..
[Ubuntu] mount: /mountDirectory: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program. 상황 nfs 마운트를 하려고 하는데 mount 명령어를 통해서 nfs를 /mountDirectory 디렉토리에 마운트를 시도하니 에러가 발생함. mount: /mountDirectory: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount. helper program. 원인 nfs 마운트를 하려면 관련 패키지가 필요하다. 마운트 하려는 디렉토리가 있는 해당 서버에 apt 명령어를 통해서 패키지 설치를 해준 후 다시 마운트를 시도한다. 해결 # apt-get install nfs-common -y Reading package lists... Done Building dependency tree Reading st..
[Apache2 + Tomcat] 준비중(점검중) 페이지 설정 Apache 모듈 중 Rewrite를 통해서 준비중 페이지로 넘겨줄 URI들을 매칭하여 넘겨주면 된다. Apache만 사용했더라면 간단하게 끝났을 것 같던 작업인데 내 경우에는 Apache로 웹서버 역할을 하고 뒤에 WAS는 Tomcat으로 구성하고 있었다. 서버 환경 Ubuntu 18.04.6 LTS apache 2.4.18-2ubuntu3.17 apache-tomcat-9.0.52 서버 구조 Client(브라우저) -> Apache (SSL) -> Tomcat 참고 자료 Apache SSL 설정 방법 Apache Tomcat 연동 방법 Apache Tomcat 연동 시 에러 Tomcat이랑 연동되어 있어서 단순하게 Rewrite 로 처리하려면 지저분하게 뒤에 포트를 붙이는 방법밖에는 떠오르지 않았다...
[iptables] 등록되어있는 정책 제거 (feat. --line-numbers) 웹 서버를 구성할 때 포트포워딩(예를들어 8080 포트로 접근 시 80포트로 이동시키는) 방법에는 지금 내 수준에서는 아래 2가지다. 1. 정적 리소스를 담당하는 웹 서버를 앞에 두고 뒤에 WAS를 따로 두어서 앞에 있는 웹서버에서 포트포워딩을 해주는 방식 2. iptables를 통해서 PREROUTING 정책을 등록하여 라우팅 시점에 포트포워딩을 해주는 방식 참고 : https://steady-snail.tistory.com/153 기존 서버 구성은 iptables로 Prerouting 포트를 잡아준 상태였는데, 예전에 정리해두었던 글(위에 참고 블로그)을 보면 정책을 추가하는 구문과 삭제하는 구문이 옵션 하나로 달라진다. 즉, 설정한 정책 내용을 모르면 삭제할 수 없다는것이다. 그래서 삭제를 어떻게 ..
[Ubuntu] google-chrome 특정 버전 설치하기 (How to install specific version of google-chrome in Ubuntu) Ubutnu 서버에서 google chrome 브라우저를 활용하는 경우(예를들어 chrome webdriver를 통해 브라우저 랜더링한 결과를 서버에서 사용한다던지..) 서버에 크롬을 설치해주어야합니다. 보통 서버는 Ubuntu-server OS를 설치해서 사용하기 때문에 여기서도 해당 OS기준으로 정리해놓겠습니다. ※ 참고용. 크롬 웹드라이버(Chrome webdriver) 다운로드 사이트 링크 설치파일 다운로드 (Download install file) 윈도우 OS에서는 설치파일의 확장자가 exe 인 것처럼 우분투의 설치파일 확장자는 deb이라는 파일입니다. 우선 아래 사이트에서 특정 버전의 크롬 설치파일을 다운로드 받아줍니다. https://www.slimjet.com/chrome/google-ch..
[Elasticsearch] 여러 인덱스 조회 시 없는 인덱스 조회 해도 에러 결과가 아닌 정상 결과 받도록 처리하는 방법 (how to multi-search non exist index) 여러 인덱스를 한번에 조회해오는 쿼리 문법인 msearch를 사용하다가 하나의 쿼리에서 여러 인덱스 결과를 한번에 받아올 수 있는 방법이 있는지 찾아보았습니다. 방법은 아래와 같습니다. 원래 msearch 문법 {"index" : "인덱스이름1"} {"query" : "쿼리"} {"index" : "인덱스이름2"} {"query" : "쿼리"} 이런식으로 쿼리를 전송하게 되면 결과로 받아오는 구조가 다음과 같이 나옵니다. 마지막에 비어있는 한줄은 msearch의 문법입니다. { "took": 19, "responses": [ { 인덱스이름1의 결과 목록 }, { 인덱스이름2의 결과 목록 } ] } 인덱스를 여러개 지정 하는 문법 {"index" : "인덱스이름1,인덱스이름2"} {"query" : "쿼리..
[Ubuntu] tail 명령어 정리 tail 명령어는 보통 서버에서 실시간으로 쌓이는 로그를 확인할 때 자주 사용하는데요. 이 포스팅에서 tail 명령어에 대해서 정리하고 옵션도 함께 정리해놓으려고 합니다. tail 우선 tail이라는 영어단어는 '꼬리'라는 의미로 많이 사용되는데요. 명령어의 기능도 가만히 보면 어떤 파일의 '꼬리'를 출력해준다 라고 생각하면 명령어에 대한 이해가 쉬울 것 같아요. 실제로 tail 명령어는 문서파일 또는 데이터 파일의 마지막 몇 줄을 볼 때 사용하는 유닉스 계열 시스템의 프로그램이에요. 기본 사용법 tail 명령어의 기본 사용법은 아래와 같이 사용되요. $ tail [옵션] 기본 동작은 전달된 파일 또는 데이터의 마지막 10줄을 표준출력(stdout)으로 출력하도록 기본 셋팅이 되어있어요. 저는 위에서 말..
[Elasticsearch] 어떻게 공백을 포함한 문자열을 통째로 검색어로 사용할 수 있을까? Elasticsearch는 검색엔진으로 데이터를 저장할 때 키워드 단위 즉, 쉽게 말해서 단어 단위로 쪼개어 저장을 하게 되는데요. 이 때문에 검색어도 마찬가지로 단어 단위로 탐색이 됩니다. 만약에 검색하고자 하는 검색어에 공백이 포함되어 있는 경우 Elasticsearch에서는 기본적으로 default_operator라는 것이 설정 되어 있어서 OR 조건으로 적용되요. 예를 들어서 다음 쿼리를 통해 조회하는 경우에요. { "query" : { "query_string" : { "field": "name", "query": "apple orange" } } } 이렇게 검색하는 경우 name이라는 필드 안에 apple 또는(OR) orange 라는 키워드(문자)가 들어가있으면 위의 쿼리 결과로 나와요. 하..