만약 여러개의 도메인을 하나의 서버(머신)에서 가동하는 경우가 많습니다. 이런 경우 서버환경(nginx, apache) 또는 서버측 언어(PHP, Python 등등)에서 설정하여 사용하게됩니다. 이때 nginx에서는 어떻게 설정해야할까요?# 멀티 도메인을 사용하기 위한 nginx 설정방법 알아보기만약 아래의 도메인을 사용하는 경우 예를들어보겠습니다. 하나의 도메인만 설정된 경우라면 아래와 같이 설정이 되어 있겠죠. 참고로 nginx 설정파일은 각각 다를 수 있습니다. 경로는 /etc/nginx/에 위치하면 nginx.conf 파일이거나 /site-available/등에 있을 수 있습니다.@ nginx.confserver { listen 80; server_name 127.0.0.1; root /var/
Last Modified : 2020-09-19 15:29:57리눅스 환경에서 nginx를 사용하여 웹서버를 구축하는 방법에 대하여 알아봅니다. nginx는 잘 알려진 apache와 같이 서버를 구동하는데 많이 사용되는 웹엔진입니다. 일단 자신의 개발 환경에 nginx를 설치합니다. 그리고 맨 아래에는 미들웨어로 사용된 uwsgi에 대하여도 설정 및 기타 사항을 함께 알아봅니다.# 리눅스(Linux) 환경에 nginx를 설치하는 방법 알아보기아래는 ubuntu 환경에서 nginx를 설치하는 명령어입니다.sudo apt-get install nginx-full설치가 완료되었다면 이제 설치된 폴더로 이동합니다.! nginx 설정파일 수정하기먼저 /etc/nginx/nginx.conf 파일이 있다는 가정 아래에 파일을 수정합니다.(설정 파일의 위치는 다를 수 있습니다.) 특
Last Modified : 2018-02-02 06:41:06nginx를 사용하는 서버 웹 환경에서 서버를 재시작 하는 방법에 대하여 알아봅니다.# nginx 서버 재시작하기서버를 재시작하는 방법으로 restart와 reload 방법이 사용됩니다. 먼저 이 둘의 차이점은 무엇일까요?! nginx reload와 restart의 차이점이 둘의 가장 큰 차이점은 서버를 실제로 Shutdown 후 재시작하는 과정에 있습니다. 즉 restart의 경우 서버를 내리고 다시 시작하게 합니다. 하지만 reload의 경우 이와 달리 서버가 중단되지 않으며 단지 reload 시점의 설정 파일만 불러와 다시 적용하는 것이 차이점입니다.만약 서버의 설정 파일만 갱신하여 반영하려면 reload를 사용하는 것으로 원하는 결과를 얻을 수 있습니다."restart는 nginx 서버를 중단 후
Last Modified : 2020-11-12 14:03:13예전에 보안 프로토콜 SSL을 사용하기 위해 가격을 알아보았는데(벌써 3-4년 전이군요...) 그때는 SSL이 매우 비쌌던 걸로 기억합니다. 물론 제가 최저가를 못찾았는지 모르겠지만요;; 그때는 비용 때문에 사용을 주저하다 말았지요.최근 SSL이 이제는 반드시 필요한 것 같아서 가격을 알아보기 시작하였습니다. 그런데 최근에는 저렴한 SSL... 심지어 무료 제공도 있더군요; 그래서 gogetssl.com에서 Comodo Positive SSL을 구입하였습니다. 가격은 해당 사이트에 명시되어 있으며 아마 거의 최저가가 아닐까 싶네요^^; 어쨌든 SSL 구매 후 설치 인증까지 모두 완료하니 마음이 뿌듯합니다. 브라우저에 항상 안전한 웹사이트, webisfree.com으로 기억되었으면 좋겠네요!2019년 10월
Last Modified : 2019-10-22 20:04:09새롭게 기존 서버 언어를 Python으로 변경하였습니다. 아래는 Python의 flask 프레임워크로 웹서버를 변경하면서 요약한 내용들 입니다.! Why Python먼저 왜 Python으로 서버 언어를 변경하였는가의 이유입니다. 예전부터 서버 운영을 항상 저가형 해외 웹호스팅을 고려하다보니 서버 환경은 항상 php 언어와 mysql 데이터베이스만 사용하였습니다. 그러다보니 더 많은 트래픽 동접 환경 등에 대처하기 위한 성능이슈(페이지 로딩 속도 등등..) 등이 불만족이었습니다.그런 이유로 더 나은 서버 환경을 찾고 있던 중 Python과 Flask를 사용하는 웹어플리케이션을 알게 되었고 곧바로 환경 구축 및 마이그레이션을 단행하게 되었습니다. (참고로 지금은 php 7.0을 사용해도 꽤 놓은 퍼포먼스를 보여
Last Modified : 2020-08-15 10:54:36브라우저에서 아래와 같은 에러가 발생할 수 있습니다. 아래 에러는 크롬 브라우저의 콘솔에 출력되는 에러 메시지입니다.net::ERR_CONTENT_LENGTH_MISMATCH 200 (OK)위와 같은 문제의 원인은 무엇이고 언제 그리고 어떻게 해결하였는지 알아보겠습니다.# 언제 CONTENT_LENGTH_MISMATCH 200 에러가 발생?서버에서 큰 용량의 파일을 로드하는 경우 위와 같은 에러가 발생했습니다. 예를들면 일정 크기 이상의 sitemap이나 용량이 큰 폰트 파일 등등 용량이 큰 static 정보를 읽을 때 발생합니다.특이한 점은 항상 발생하는 것은 아니라는 부분이죠. 어쩌다 되는 경우도 있는 특이한 부분으로 아무래도 서버쪽 이슈로 예상되었습니다. 그래서 확인해 본 결과 서버쪽 설정에 문제가 있
Last Modified : 2020-08-23 11:42:22nginx 서버에서 이미지 등의 static한 파일을 설정하여 serve 하는 방법에 대하여 알아봅니다.예를들어 아래의 경로로 접근하는 모든 파일들은 서버의 특정 경로에 있는 파일에서 찾아 보여주도록 설정하려고 합니다.// 접근된 이미지 경로webisfree.com/images/abc.jpg// 연결할 서버의 경로/home/root/public/images이처럼 이미지 등의 파일 등을 특정 서버의 경로에 바로 연결하기 위해서는 먼저 nginx 설정이 필요합니다. nginx 설정 파일로 이동하여 파일을 편집하도록 합니다.@ /etc/nginx/site-available/defaultserver { listen 80; server_name _; location /images { root /home/r
Last Modified : 2020-11-12 20:08:34nginx에서 프록시 서버 사용을 위해 다른 호스트, 머신으로 이동시키는 설정 방법을 알아봅니다.! 프록시 서버(Proxy server)란?클라이언트와 서버 사이에 존재하는 서버로 클라이언트의 요청을 받아 Reverse에 위치한 서버에 전달하는 상호 중계 목적의 서버를 말합니다. 프락시 서버가 사용되는 이유는 보안이나 트래픽 분산 등의 로드 밸런싱 목적으로 사용됩니다.# nginx 프락시 서버, 리다이렉트 설정하기아래서는 프락시 서버로 들어온 요청을 다른 위치로 포워딩, 리다이렉트 설정 방법에 대하여 알아봅니다. 먼저 아래와 같은 nginx 설정이 있다고 생각해 봅니다.server { listen 80 default_server; listen [::]:80 default_server; server_na
Last Modified : 2020-09-19 18:41:17nginx를 사용하기 위하여 웹서버를 설치한 이후 config를 설정해야합니다. 이때 설정 후 에러가 나타나는 경우 설정 파일의 오류 여부를 먼저 확인하는 것이 중요합니다. 그래서 nginx 테스트를 수행하도록 합니다.! nginx 테스트 방법아래는 nginx 테스트 방법입니다. 현재 에러가 나타나고 있으므로 테스트 수행해도 당연히 conflicting server name 에 따른 에러가 발생할 수 있습니다.sudo nginx -t위 명령어로 설정에 에러가 나타났다면 이제 conflicting server name 에러를 아래와 같이 해결합니다.# nginx config 파일 수정시 conflicting 에러 해결하기먼저 해당 에러의 원인은 다른 설정 파일에서 동일한 server name이
Last Modified : 2019-08-10 15:37:56도메인을 구매하여 사용하는 경우 다음처럼 두 가지 방식의 도메인 주소를 생각할 수 있습니다. 하나는 도메인 앞에 www가 있는 경우이고 하나는 www가 없는 경우입니다.1. www.webisfree.com2. webisfree.com물론 둘 다 사용할 수 있습니다. 다만 검색엔진을 고려하면 하나로 통일하는 편이 좋을 것입니다. 그렇다면 어떻게하면 될까요? 만약 www가 있는 경우 non-www 주소로 바꾸는 방법을 알아보겠습니다.우선 www.webisfree.com으로 들어온 방문자를 www가 없는 non-www 주소 webisfree.com으로 주소를 리다이렉트(redirect)해야합니다. 이 경우 nginx 환경에서 어떻게 설정하는지 알아봅니다.# www에서 non-www로 이동하는 nginx 설정만약
Last Modified : 2019-01-06 03:10:49원치 않는 국가에서 접근을 시도하는 경우 어떻게 하면 접속을 막거나 허용할 수 있는지 고민하게 되었습니다. 이유는 몇 가지 있는데 최근 급증한 데이터 트래픽 증가가 원인 중 하나였습니다.어쨌든 방문자의 접속을 제어하고 싶은데 어디서 제어할 것인가를 결정해야 합니다. 이 중에서 간단한 방법인 서버측 환경, nginx 설정을 사용하여 국가 별로 허용하거나 제한하는 방법을 알아봅니다.(호스팅 업체의 보안 그룹에 허용 가능한 ip 대역을 설정하는 방법도 존재하지만 ip 대역이 너무 많고 알아보기 어려운 이유 등으로 아래 방법이 더 쉽고 간단하다고 판단했습니다.)# nginx를 사용하여 국가별로 차단 및 허용하는 방법먼저 nginx를 사용하는 경우 geoip 설정이 가능한지 확인이 필요합니다. nginx -V를 사용
Last Modified : 2019-08-06 00:04:57Python을 사용하여 웹서버를 구축하는 경우 nginx와 uwsgi를 사용한 웹서버 구성이 많이 사용됩니다. 저 역시 오랜 기간 이와 같이 사용해왔죠.uwsgi를 nginx서버와 연동하는 방법으로 웹소켓(socket)을 사용하는 방법이 있습니다. 얼마 전 잘 사용하던 AWS에서 Naver Cloud 서비스로 서버를 이전하면서 이 둘 사이의 연결이 잘 되지 않아 큰 위기를 겪게 되었죠.문제가 된 상황은 소켓 파일에 Permission에러가 발생한다는 것입니다... 제가 할 수 있는 여러가지의 조치를 취해서 다시 해보았지만 결국 이를 해결하지는 못했습니다. 물론 더 많은 시도와 해결 방법을 찾을 수 있겠지만 시간이 너무 오래 걸릴 것 같아 포기하고 소켓통신을 파일에서 port로 설정을 변경하여 해결했습니다.
Last Modified : 2018-04-30 09:15:36새롭게 도메인을 구입한 경우를 이를 서버에 연결하기 위한 방법으로 네임서버(Name Server)를 변경합니다. 하지만 도메인 설정시 Type NS, 네임서버 외에도 사용목적에 따라 설정을 달리 할 수 있을 것입니다. 아래는 자주 사용되는 설정 타입인 TypeA, ip를 사용한 연결방법에 대하여 알아보며 이를 nginx에 설정하는 방법까지 알아봅니다.# 도메인 설정 TypeA는 무엇인가먼저 TypeA 방식은 무엇이 다를까요? 만약 webisfree.com이라는 도메인에 TypeA 방식으로 설정하는 경우 ip를 주소를 입력하여 원하는 서버와 연결할 수 있습니다. 즉 TypeA를 사용하면 webisfree.com에 접근한 도메인을 해당 ip로 보내게 되는 것입니다.@ 설정방법Name - webisfree.com
Last Modified : 2018-02-03 10:51:43Python으로 웹개발 프로젝트를 진행시 개발서버 및 테스크 서버를 구축할 것입니다. 이때 브라우저에서 내부 ip(192.168.xxx.xxx)를 사용하여 접근 가능하도록 설정하였으나 브라우저에서 확인하는 경우 접근이 안되는 에러가 나타날 수 있습니다. 어떻게 해결할 수 있을까요?# 증상 및 해결방법먼저 서버를 구동한 후 localhost로 접속하면 잘됩니다. 하지만 이상하게도 내부 ip로 접근할 경우 접속이 안될 수가 있는데 의심할 수 있는 부분이 아래와 같이 두 가지이죠.1. OS 방화벽 문제(Firewall)2. Python run() 코드 문제방화벽에 따른 문제는 OS에서 inbound 설정이 문제일 수 있겠죠. 하지만 방와벽 설정은 정상적으로 방화벽 이슈가 아닌 경우에 python의 run() 코드
Last Modified : 2018-02-04 04:50:53Python을 사용하면서 uwsgi와 nginx를 사용하여 웹서버를 구축하려는 경우 uwsgi 서비스에서 다음과 같은 에러가 발생하였습니다.'StartJob filed to start'이와같은 에러 발생시 어떻게 해결할 수 있는지 알아보고자 합니다.# uwsgi 서비스 동작시 에러발생만약 서비스의 설정 파일이 /etc/init/test.conf인 경우라면 아래와 같이 이상 유무를 확인할 수 있습니다.@ /etc/init/test.confinit-checkconf test.confint-checkconf 명령어는 특정 conf 파일의 이상 유무를 확인해줍니다. 만약 이상이 없는 경우 아래와 같이 출력됩니다.File test.conf: syntax ok그럼에도 동작하지 않는다면? 이번에는 시스템 로그 파일을 확
Last Modified : 2018-02-05 03:42:05