안녕하세요. 오늘은 nexus repository를 설치하는 방법을 정리해보려고 합니다.
먼저 ec2사양은 아래와 같습니다.
AMI: Amazon Linux release 2023.6.20241031 (Amazon Linux)
인스턴스 유형: t2.small
1. jdk 설치
yum search jdk
위 명령어를 실행하여, 설치 가능한 jdk 버전을 확인합니다.
sudo yum install java-17-amazon-corretto-devel.x86_64
저는 17버전으로 설치하겠습니다.
2. Nexus 설치
https://help.sonatype.com/en/download.html
위 경로는 nexus download 경로입니다. 위 사이트에서 최신 버전의 nexus를 확인합니다.
저의 경우, 3.74.0버전을 다운로드 하겠습니다.
wget https://download.sonatype.com/nexus/3/nexus-3.74.0-05-unix.tar.gz
다운로드 받은 파일의 압축을 해제합니다.
tar -zxvf nexus-3.74.0-05-unix.tar.gz
해제를 하고 난 후에는 아래 사진처럼 nexus-3.74.0-05 폴더와 sonatype-work라는 폴더가 생성됩니다.
공식 문서에서는 home경로에서 실행하는 것을 권장하지 않기 때문에 두 폴더를 /opt 경로로 옮겨줍니다.
sudo mv nexus-3.74.0-05 /opt/nexus
sudo mv sonatype-work /opt/
3. nexus 사용자 생성 및 권한 부여
nexus를 root 사용자로 실행시키는 것을 권장하지 않기 때문에, nexus 사용자를 생성해줍니다.
sudo useradd nexus
visudo명령어를 실행하여 두번째 라인 내용을 추가합니다.
visudo
nexus ALL=(ALL) NOPASSWD:ALL
생성한 사용자에게 권한을 부여합시다.
sudo chown -R nexus:nexus /opt/nexus
sudo chown -R nexus:nexus /opt/sonatype-work
nexus 사용자로 실행시키기 위해서 nexus.rc파일도 수정해줍니다.
vi /opt/nexus/bin/nexus.rc
run_as_user="nexus"
4. nexus 실행하기
su nexus # 사용자 변경
./opt/nexus/bin/nexus start # nexus 시작
./opt/nexus/bin/nexus status # 프로그램 동작 상태 확인
./opt/nexus/bin/nexus stop # 중지
참고! 인스턴스 유형을 t2.micro로 프로그램을 실행하였을 때는, 아예 실행이 안되었음. t2.small로 변경 후 실행하였을 때는 실행은 되었으나 서버가 뜰 때까지 시간이 꽤 소요되었음.
프로그램을 시작하고 난 후 http://ip:8081로 접속하면 아래와 같은 화면이 뜹니다. (8081이 기본 port로 해당 포트를 변경하고 싶다면, /opt/nexus/etc/nexus-default.properties 파일을 확인하면 됩니다)
우측 상단을 보면 로그인하는 곳이 있는데, 먼저 로그인부터 해줍니다. (password는 /opt/sonatype-work/nexus3/admin.password 파일에 적혀있습니다. id는 admin입니다.)
로그인을 하고 나면 위처럼 셋업화면이 뜹니다. 안내사항에 맞춰서 설정해주시면 됩니다.
5. 서비스 등록
마지막으로 nexus 서비스 등록을 해보겠습니다. 서비스 등록을 하여 프로그램이 예기치 않은 오류에 죽더라도 다시 동작되도록 하겠습니다.
먼저 서비스 파일을 작성합니다.
sudo vi /etc/systemd/system/nexus.service
[Unit]
Description=nexus service
After=network.target
[Service]
Type=forking
LimitNOFILE=65536
ExecStart=/opt/nexus/bin/nexus start
ExecStop=/opt/nexus/bin/nexus stop
User=nexus
Restart=on-abort
[Install]
WantedBy=multi-user.target
서비스를 등록하고 실행합니다.
sudo systemctl daemon-reload
sudo systemctl enable nexus.service
sudo systemctl restart nexus.service
sudo systemctl status nexus.service
위 사진처럼 nexus 서비스가 정상적으로 동작하는 것을 확인할 수 있습니다.
이렇게 모든 nexus 설치를 완료하였습니다.
다음 글은 nexus 사용법을 정리하여 가지고 와보겠습니다.
'데브옵스' 카테고리의 다른 글
Fluentd로 S3에 로그 저장하기 (0) | 2024.11.01 |
---|---|
AWS EC2에 Fluentd 설치하기 (1) | 2024.11.01 |
Node Exporter + Prometheus + grafana로 모니터링 (3) | 2024.10.30 |
EC2 세부 모니터링 설정하기 (0) | 2024.05.18 |
VisualVM Remote로 연결하여 모니터링하기 (feat. EC2, Docker) (0) | 2024.05.18 |