Jenkins 배포 및 Nginx에서 역방향 프록시 설정
jenkins의 설명은 Jenkins란 무엇입니까?이 간단하고 이해하기 쉽습니다.
버전
Jenkins 도입 방법
(1) install Java
Jenkins는 java로 구현되며 java 실행 환경이 필요하기 때문에 설치하지 않습니다.
# openJDK
yum install java-1.8.0-openjdk
(2) install Jenkins
공식 절차.
# jenkinsのyumリポジトリを取得
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
# 公開鍵追加
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
# インストール
yum install jenkins
(3) 각종 설정
설정 파일: /etc/sysconfig/jenkins
각종 설정은 이 파일에서 변경할 수 있다. 다음은 기본값입니다.
# ポート
JENKINS_PORT=“8080"
# 実行ユーザ
JENKINS_USER="jenkins"
실행 유저의 변경을 실시했을 경우 이하의 디렉토리/파일의 권한도 마찬가지로 변경할 필요가 있다.
# openJDK
yum install java-1.8.0-openjdk
# jenkinsのyumリポジトリを取得
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
# 公開鍵追加
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
# インストール
yum install jenkins
# ポート
JENKINS_PORT=“8080"
# 実行ユーザ
JENKINS_USER="jenkins"
/var/lib/jenkins
/var/log/jenkins
/var/cache/jenkins
(4) 기동
# 起動
systemctl start jenkins
# 再起動
systemctl restart jenkins
# 終了
systemctl stop jenkins
# 確認
systemctl status jenkins
시작하고 상태가 실행되면
http://{IP}:{PORT}
로 연결할 수 있습니다. 외부로부터의 접속이 차단되고 있는 경우는, 해제하는 것을 잊지 않고.firewall 설정 counfigure firewall 참조
Nginx에서 역방향 프록시 설정
리버스 프록시란 받은 리퀘스트를 전송하는 기능으로, 로드 밸런스나, 리퀘스트의 재기록, 액세스 제한등에 사용되고 있다.
이번에 매번 포트 번호 지정하는 대신 http://{IP}/jenkins
로 접속할 수 있도록 다음 설정을 실시했다.
(1) jenkins 측 설정
설정 파일 (/etc/sysconfig/jenkin
)을 다음과 같이 다시 씁니다.
JENKINS_ARGS="--prefix=/jenkins"
(2) Nginx 측 설정
JENKINS_ARGS="--prefix=/jenkins"
/etc/nginx/nginx.conf
/etc/nginx/conf.d/
/etc/nginx/conf.d/default.conf
/etc/nginx/conf.d/default.conf
에서 80번 포트를 청취하고 있는 server 지시어내에 이하를 추기. nginx를 경유하는 것으로, 리퀘스트 정보가 바뀌므로, header를 여기에서 세트 해 줄 필요가 있다.location ~ /jenkins {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://jenkins;
}
변수 ($가 붙는 것은 nginx의 내장 변수.)
L
$scheme
: 요청된 스키마(http, https)L
$http_host
:포트 번호 첨부 호스트L
$remote_addr
: 액세스 원의 IP 주소L
$proxy_add_x_forwarded_for
: 유저가 경유한 주소L
$host
: 매치한, 서버명/Host 헤더의 값.지시어
L
proxy_set_header ヘッダーフィールド名 値
: 요청을 프록시 할 때 특정 헤더 정보를 부여합니다.L
proxy_pass 転送先
:전송처 URL.
nginx에서 사용할 수 있는 변수나 지시어 목록은 여기과 여기이 참고가 되었다.
/etc/nginx/conf.d/jenkins.conf
를 만들고 다음을 설명합니다. 127.0.0.1
는 루프백 주소 (자신을 가리키는 IP 주소)입니다. default.conf proxy_pass http://jenkins;
의 jenkins를 여기서 정의.upstream jenkins {
server 127.0.0.1:8080 fail_timeout=0;
}
(3) 재부팅
# jenkins再起動
systemctl restart jenkins
# nginx再起動
systemctl restart nginx
http://{IP}/jenkins
로 이동하여 jenkins가 성공적으로 표시되면 완료되었습니다.jenkins에서
"リバースプロキシの設定がおかしいようです"
오류가 발생했지만 jenkins 관리 → 시스템 설정 → Jenkins URL을 변경하면 사라졌습니다.참고
Reference
이 문제에 관하여(Jenkins 배포 및 Nginx에서 역방향 프록시 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/keyy/items/3b4131ef3e857295c5b0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)