인포테인먼트 - development/linux7 [nginx] 특정 도메인으로 들어왔을 때, 다른 도메인으로 redirect 하는 방법 서론 도메인 구매 사이트에서 도메인을 구입한 뒤 해당 도메인의 특정 호스트에 대해 다른 도메인으로 연결할 일이 생길 수 있다. 해당 작업은 도메인 구매 사이트의 관리툴에서 해결할 수 없고 직접 웹호스팅을 통해 코드를 작성해야 한다. 필자는 ec2 웹서버와 nginx를 사용하여 redirect를 진행하였다 해결 방법 1. ec2 서버에 nginx를 설치한다 2. nginx의 sites-available에 하나의 파일을 생성하고 리다이렉팅하는 코드를 작성한다 3. nginx를 재실행한다. 1. ec2서버에 nginx를 설치한다 [ubuntu@~:] sudo apt-get install nginx 2. nginx의 sites-available에 하나의 파일을 생성하고 리다이렉팅하는 코드를 작성한다. - 파일생.. 2021. 2. 10. [linux] MySQL 포트 변경하기 자신의 운영체제에 MySQL을 설치하고 실행하면 기본적으로 3306의 포트번호가 할당된다. 하지만 여러개의 mysql db를 관리해야 하는 시점이 오면 mysql 서버에 여러개의 포트를 할당해야 한다. 예를 들어 필자는 서버 하나를 운영하는 동안 이 서버를 배포하고 난 뒤 같이 배포된 DB가 아닌 지속적인 백그라운드 개발, 테스트를 진행하기 위해 또 다른 테스트DB를 만들고 데스크톱과 연결해야 하는 상황이 생겼다. (이 과정에서 dotenv를 이용하여 같은 서버에 대해 상황에 맞게 DB환경변수를 전환할 수 있는 환경을 구현하였다. 이 부분도 다음 포스팅에서 설명하려고 한다.) 기존에 로컬과 3306으로 연결되어 있었던 MySQL 데이터베이스는 AWS RDS에 올려놓은 DB서버였고 테스트 DB는 내 데스크.. 2020. 4. 7. [linux] zsh의 .zshrc 변경 후 변경사항 저장 mac의 Catalia 의 기본 쉘이 zsh로 변경되었다. 따라서 mac의 터미널의 기본 PATH에 경로를 저장하기 위해서는 vim ~/.zshrc 를 입력하여 환경설정 창으로 들어간 뒤 export PATH="[경로명]:$PATH" 를 입력하고 저장하고 빠져나온다. 이때 가장 중요한 점! 아직 변경사항이 적용되지 않은 것이다!!!! 이 변경사항을 적용하려면 source ~/.zshrc 를 입력해줘야 한다. 2020. 3. 31. [nginx] 서버에 https 설정 시 자동 Let's encrypt 인증서 갱신 및 자동 nginx 리로드(Reload) https://certbot.eff.org/lets-encrypt/ubuntuxenial-nginx Certbot - Ubuntuxenial Nginx a project of the Electronic Frontier Foundation certbot instructions To use Certbot, you'll need... comfort with the command line command line ...and an HTTP website HTTP website that is already online already online with an open port 80 port 80 ...which i certbot.eff.org 위의 certbot의 instruction을 따라하면 자동으로 let's.. 2020. 3. 28. [nginx] sites-available에 만든 파일 sites-enabled에 include시키기 ubuntu@:~/ cd /etc/nginx /etc/nginx의 경로에서 nginx에 대한 기본적인 설정을 진행할 수 있다. 그 중 프록시 관련 설정을 할 때 /etc/nginx/sites-enabled 라는 폴더에서 직접적으로 설정이 가능하고 유저는 저 폴더에 있는 설정파일을 직접적으로 수정하지 않고 /etc/nginx/sites-available 의 폴더에서 여러 설정파일들을 생성한 뒤 그 파일들 중 원하는 설정을 선택적으로 sites-enabled폴더에 동기화해서 적용하는 symlink 기능을 이용한다. 다음은 sites-available에 만든 설정파일을 sites-enabled에 symlink 시킬 수 있는 명령어이다. 먼저 sites-available에 'proxy-setting1'이라는 설.. 2020. 3. 26. [nginx] nginx에 프록시, 로드밸런싱 설정하기 1. 프록시 설정 한 웹 서버 안에는 여러 서버가 있을 수 있다. 그 각각의 서버들도 자기의 서버가 있고 웹서버 안에 있는 이상 메인도메인(퍼블릭 ip) 안에서 프라이빗 ip를 가지고 있는 것이다. 프록시 설정을 하면 퍼블릭 ip를 거친 요청만이 프라이빗 ip로의 요청 마무리를 통해 요청을 통한 원하는 응답을 가질 수 있다. 클라이언트가 서버의 자원을 자기 맘대로 쥐락펴락 못하려면 웹서버의 퍼블릭 ip, 웹 서버 안에서의 프라이빗 ip 를 모두알면 안된다. 클라이언트는 퍼블릭 ip만 알고있는 상황에서 요청을 하고, 이 퍼블릭 ip를 거치는 과정에서 여러 보안적 이슈를 해결할 수 있다. 그 다음에 프록시의 역할, 즉 요청하는 프라이빗 ip로의 연결을 대리(proxy)하는것이 바로 프록시 서버의 역할이다. .. 2020. 3. 24. [linux] ec2 인스턴스 사용자의 ssh 보안 접속방법 두 가지 : 키페어, 비밀번호 프로그램의 서버 본체를 ec2 인스턴스에 올려 관리하고 있던 중 프로그램 일부분을 외주에게 맡길 부분이 있었고 외주가 맡은 부분을 이 인스턴스 내부에서 새로운 사용자를 부여하여 같이 관리를 해야했기 때문에 인스턴스 접속을 공유해야하는 일이 생겼다. 내가 ec2서버를 만든 후 부터 디폴트로 사용하던 사용자 이름을 ubuntu 접속주소를 ubuntu@ec2-12-345-678-90.ap-northeast-2.compute.amazonaws.com (가주소), 인스턴스 생성 시 새로 발급받은 key-pair이름을 ubuntukey.pem 이라고 하자. 사용자이름 : ubuntu 키 파일 : ubuntukey.pem 접속주소 : ubuntu@ec2-12-345-678-90.ap-northeast-2.comput.. 2020. 3. 7. 이전 1 다음