簡介
Sonatype Nexus是一個Maven倉庫管理器,可以節省網絡帶寬並加速項目搭建的進程。它可以管理jar包的倉庫,包括上傳和下載jar包。此外,Sonatype Nexus還可以配置其他遠程maven倉庫站點,作爲公共maven倉庫的專用代理服務器,爲maven項目部署提供存儲庫。它可以搭建局域網maven私服倉庫,實現局域網用戶共享,並且支持代理廣域網上的遠程倉庫。
官網:https://help.sonatype.com/en/sonatype-nexus-repository.html
安裝
Windows
輸入命令 nexus.exe run
或 nexus.exe install
,前者是命令行式啓動,後者是安裝Nexus服務
Linux
#!/bin/bash
#需要java環境
#創建nexus源碼目錄
mkdir /usr/local/src/nexus
#進入nexus源碼目錄
cd /usr/local/src/nexus
#下載nexus壓縮包
wget https://sonatype-download.global.ssl.fastly.net/repository/downloads-prod-group/3/nexus-3.30.0-01-unix.tar.gz
#創建nexus安裝目錄
mkdir -p /usr/local/package/
#解壓nexus
tar -zxvf nexus-3.30.0-01-unix.tar.gz -C /usr/local/package
#進入包路徑
cd /usr/local/package
#重命名
mv nexus-3.30.0-01 nexus
#配置環境變量
echo "#nexus config.">>/etc/profile
echo "export NEXUS_HOME=/usr/local/package/nexus">>/etc/profile
echo 'export PATH=$PATH:${NEXUS_HOME}/bin'>>/etc/profile
#立即生效
source /etc/profile
#vim /usr/local/package/nexus/bin/nexus.rc #修改啓動用戶
#run_as_user="" #內容就這一行,放開註釋,填寫用戶即可
#vim /usr/local/package/nexus/etc/nexus-default.properties #默認是8081
#訪問http://ip:8081,登陸用戶admin 密碼存放在:/usr/local/nexus/sonatype-work/nexus3/admin.password 目錄
#配置nexus啓動用戶
useradd -d "/home/nexus" -m -s "/sbin/nologin" nexus
chown -R nexus:nexus /usr/local/package/nexus
chown -R nexus:nexus /usr/local/package/sonatype-work
echo run_as_user='"nexus"' >>/usr/local/nexus/bin/nexus.rc
#配置 nexus.service
#https://www.cnblogs.com/vitoboy/p/12657581.html init.d
#啓動nexus需要依賴rpcbind
# 否則提示錯誤:Cannot add dependency job for unit rpcbind.socket, ignoring: Unit not found.
yum install -y rpcbind
systemctl start rpcbind.service
cat >/etc/systemd/system/nexus.service<<EOF
[Unit]
Description=nexus
After=network.target
[Service]
Type=forking
LimitNOFILE=65536
ExecStart=/usr/local/package/nexus/bin/nexus start
ExecStop=/usr/local/package/nexus/bin/nexus stop
User=nexus
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
#啓動nexus
systemctl start nexus
#設置開啓自啓動
systemctl enable nexus
Nexus相關命令
- 啓動命令:nexus start
- 停止命令:nexus stop
- 重啓命令:nexus restart
- 安裝爲服務:nexus install
- 卸載服務:nexus uninstall
此外,還有顯示設備軟件版本和硬件信息的命令:show version;顯示設備硬件清單的命令:show inventory;顯示所有接口的狀態和連接情況的命令:show interfaces status等。
命令 | 說明 |
---|---|
install | 安裝爲服務 |
uninstall | 卸載服務 |
start | 後臺啓動 |
stop | 停止 |
status | 狀態 |
run | 運行 |
run-redirect | 運行重定向 |
Nginx反向代理Nexus
server {
listen 80;
server_name nuget.vmcode.cn;
client_max_body_size 1G;
#proxy_max_temp_file_size 2G;
location / {
# Use IPv4 upstream address instead of DNS name to avoid attempts by nginx to use IPv6 DNS lookup
proxy_pass http://127.0.0.1:8081/;
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_max_temp_file_size 0;
client_max_body_size 20m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_temp_file_write_size 64k;
proxy_http_version 1.1;
proxy_request_buffering off;
}
}