nexus 是java开发中maven组件的私有库,对于团队开发是必不可少的支撑服务html
咱们先上NEXUS 官网查找最新的NEXUS安装包。nexus-repository-oss下载java
[thinktik@host nexus3]$ wget https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.16.1-02-unix.tar.gz [thinktik@host nexus3]$ tar -zxvf nexus-3.16.1-02-unix.tar.gz [thinktik@host nexus3]$ ls nexus-3.16.1-02 nexus-3.16.1-02-unix.tar.gz sonatype-work # nexus 须要java环境,建议JDK1.8 [thinktik@host nexus3]$ java -version java version "1.8.0_201" Java(TM) SE Runtime Environment (build 1.8.0_201-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode) [thinktik@host nexus3]$ cd /home/thinktik/nexus3/nexus-3.16.1-02/bin [thinktik@host bin]$ ls contrib nexus nexus.rc nexus.vmoptions # 第一次启动,建议这样看启动过程,及时发现问题 [thinktik@host bin]$ ./nexus run # 没有问题的话,使用这个启动nexus服务,这样nexus会在后台启动服务 [thinktik@host bin]$ ./nexus start
nexus下降内存占用nginx
通常nexus默认的配置对机器的内存要求比较高,对于我的开发者学习用的低价云服务器来说是没有必要给这么多资源的,要么形成无谓的浪费要么因为机器内存有限致使nexus没法启动。我建议通常我的开发和学习按照我这个配置来,尽可能下降机器硬件要求。安全
-Xms100M -Xmx330M -XX:MaxDirectMemorySize=220M -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass -XX:+LogVMOutput -XX:LogFile=../sonatype-work/nexus3/log/jvm.log -XX:-OmitStackTraceInFastThrow -Djava.net.preferIPv4Stack=true -Dkaraf.home=. -Dkaraf.base=. -Dkaraf.etc=etc/karaf -Djava.util.logging.config.file=etc/karaf/java.util.logging.properties -Dkaraf.data=../sonatype-work/nexus3 -Djava.io.tmpdir=../sonatype-work/nexus3/tmp -Dkaraf.startLocalConsole=false
neuxs 启动后默认监听的是计算机的8081端口,你能够使用ip:端口的方式直接访问neuxs。不过不建议你们在服务器上暴露过多的端口,以避免引发安全问题。使用nginx代理转发neuxs服务的方式会更安全也更方便一些。这里我使用域名转发的方式实现对nexus的服务代理。服务器
server { listen 80; server_name nexus.missioncenter.online; rewrite ^(.*)$ https://$host$1 permanent; } server { listen 443; server_name nexus.missioncenter.online; ssl on; root html; index index.html index.htm; ssl_certificate /home/thinktik/env/nginx/cert/nexus_cert.pem; ssl_certificate_key /home/thinktik/env/nginx/cert/nexus_cert.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { proxy_pass http://127.0.0.1:8081; proxy_redirect off; 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"; } }
本文原创连接: Linux Nexus 安装session