2023/08/18

Ubuntu 22.04 LTS Install Nexus Repository Manager

sudo apt-get update
sudo apt upgrade -y
sudo apt install openjdk-8-jre-headless vim -y
cd /opt
sudo wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz
sudo tar -zxvf latest-unix.tar.gz
sudo mv nexus-3.59.0-01 nexus
sudo adduser nexus
sudo chown -R nexus:nexus /opt/nexus
sudo mkdir /opt/sonatype-work
sudo chown -R nexus:nexus /opt/sonatype-work
# 添加運行使用者
sudo vim /opt/nexus/bin/nexus.rc
run_as_user="nexus"

# 編輯Nexus Service
sudo vim /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

# 啟動Nexus服務
sudo systemctl enable --now nexus

Nginx配置:
upstream backend {
    server 10.10.10.52:8081;
}

server {
    listen 80;
    listen [::]:80;
    http2 on;
    server_name xx.com;
    rewrite ^(.*) https://xx.com$1 permanent;
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    http2 on;
    server_name xx.com;
    ssl_certificate fullchain.pem;
    ssl_certificate_key privkey.pem;
    access_log /var/log/nginx/nexus.access.log;
    error_log /var/log/nginx/nexus.error.log;

    location / {
        proxy_pass  http://backend;
        proxy_max_temp_file_size 0;
        client_max_body_size 1G;
        client_body_buffer_size 128k;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto "https";
    }
}