하나의 서버에서 2개의 도메인으로 서비스를 운영하고 싶어 가상 호스트를 설정하기로 했다.
처음에는 동일 도메인에서 다른 포트로 호스트를 설정하려고 했으나, 사용하고 있는 구름ide 컨테이너 설정을 살펴보니
하나의 컨테이너에서 도메인을 추가할 수 있는 기능을 발견!
도메인을 하나 더 추가해서 운영해보기로 했다.
1. 각각의 도메인의 Document Root 설정
A 도메인 : /workspace/A (기존 서비스 경로)
B 도메인 : /workspace/B (추가한 서비스 경로)
Document Root를 결정하였으면, 테스트 파일을 생성해놓는다.
/workspace/A/index.html
/workspace/B/index.html
2. 도메인 생성하기
B 도메인과 포트 설정을 추가한다.
B 도메인은 8080 포트를 사용하기로 결정.
A 도메인은 기존에 사용하고 있던 도메인으로 기존 설정 유지.
URL | PORT | |
A 도메인 | www.A.co.kr | 80 |
B 도메인 | www.B.co.kr | 8080 |
3. 서버에 가상 호스트 설정하기
가상 호스트를 설정하기 전 apache2 설정 디렉토리들을 먼저 살펴보자.
위치 | 설명 |
/etc/apache2/apache2.conf | 서버 설정과 관련 파일 |
/etc/apache2/ports.conf | 서버의 포트 설정 관련 파일 |
/etc/apache2/sites-available/000-default.conf | 웹서비스의 경로 및 권한 등의 설정 파일. 디폴트 설정값이 000-default.conf 파일이다. 웹서비스를 추가할 경우 *.conf로 명명된 설정된 파일을 생성해서 사용할 수 있다. |
/etc/apache2/sites-enable | sites-available에 설정된 파일들 중 활성화된 설정을 심볼릭 링크로 연결된 파일들이 존재 a2ensite/a2dissite 등의 명령어를 통해 수정된다. |
/etc/apache2/mods-available | 모드 설정 파일들이 존재 |
/etc/apache2/mods-enable | 활성화된 설정을 심볼릭 링크로 연결된 파일들이 존재 a2enmod/a2dismod 등의 명령어를 통해 수정된다. |
B 도메인을 추가하였으니, 추가한 웹 서비스의 가상 호스트를 설정한다.
/etc/apache2/sites-available 디렉토리에서 B 도메인의 설정 파일 b-default.conf 생성
<VirtualHost *:8080>
ServerName www.B.co.kr
DocumentRoot /workspace/B
<Directory /workspace/B>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
그동안 사용하지 않았던 8080 포트를 열어줘야 한다.
/etc/apache2/ports.conf 파일에 8080 포트를 추가
Listen 80
Listen 8080
설정 값을 수정하였지만 아직 서버가 인식 할 수 있는 상태가 아니므로 심링크를 추가해야 한다.
a2ensite 명령어로 심링크 추가
#a2ensite b-default.conf.conf
서버를 재실행 한다.
#service apache2 restart
추가한 B 도메인으로 접속 하면 /workspace/B/index.html 파일이 실행되는지 확인
'IT지식 > 개발' 카테고리의 다른 글
라라벨은 언제 DB 컨넥션을 끊나요? Laravel DB disconnect (0) | 2023.03.09 |
---|---|
[goormIDE] 외부에서 MySQL 접속하기. 외부 접속 열기. (0) | 2022.06.20 |
녹스로 hosts 설정하기 (0) | 2021.12.07 |
SameSite Cookie란? 변경된 크롬 80 쿠키 정책 (2) | 2020.09.03 |
[구름레벨] 사은품 교환하기 PHP (0) | 2020.08.27 |