목표 시스템 및 사전 필요 지식
목표 시스템
Domain and Port
응용 서비스는 아래의 포트를 사용하도록 구성했고 각각 도메인을 부여하고 가상 호스트로 연결하여 사용합니다.
개발자 PC에서 연결할 수 있도록 hosts 파일에 도메인을 추가하거나 로컬 DNS 서버를 구성해서 사용합니다.
서비스 | App Port | Domain | data path |
---|---|---|---|
gitlab | 8080 | gitlab.example.com | |
gogs | 8180 | gogs.example.com | |
gitea | 8280 | gitea.example.com | |
redmine(이슈 관리) | 8380 | redmine.example.com, issue.example.com | |
JIRA(이슈 관리) | 8480 | jira.example.com, issue.example.com | |
Jenkins(지속적인 통합) | 8580 | jenkins.example.com, ci.example.com | /var/proj/jenkins/jenkins_home |
Bamboo(지속적인 통합) | 8680 | bamboo.example.com, ci.example.com | |
nexus(저장소 관리) | 8780 | nexus.example.com | |
confluence | 8880 | confluence.example.com, wiki.example.com |
data path(/var/proj) 는 실제 데이타가 저장되므로 대용량의 별도의 디스크를 추가하고 주기적으로 백업해야 합니다.
Virtual Host config
설치가 끝난 후에는 웹 서버에 가상 호스트를 추가하고 웹 서버와 application server 를 reverse proxy 로 연결해 줘야 합니다.
반복되는 작업을 단순화하기 위해 script 로 작성해서 github gist 에 올려 놓았습니다.
gist 다운로드
curl -o serve-tomcat.sh https://gist.githubusercontent.com/lesstif/4d162c4c8df756a65286/raw sudo mv serve-tomcat.sh /usr/local/bin/ sudo chmod +x /usr/local/bin/serve-tomcat.sh
가상 호스트 추가(server-tomcat.sh domain port)
sudo serve-tomcat.sh gitlab.example.com 8080
정상적으로 종료되면 가상 호스트 설정이 추가된 /etc/nginx/sites-available/gitlab.example.com 설정 파일이 생기고 nginx 도 구동됩니다.
CentOS 계열은 /etc/nginx/nginx.conf 의 http 블록에 다음 내용을 추가해야 합니다.
http {
# ....
include /etc/nginx/conf.d/*.conf;
## 아래 줄 추가
include /etc/nginx/sites-enabled/*;
}
사전 필요 지식
Virtual Host
하나의 웹 서버로 여러 가지 웹 서비스를 하기 위한 가상 호스트 지식
Reverse Proxy
웹 서버와 WAS 를 연결하기 위한 reverse proxy.
HTTPS
https(SSL, TLS)를 지원하도록 웹 서버를 설정하는 방법