Maven学习—Nexus3私服搭建
一、Nexus搭建環境
環境:CentOS 7.4、JDK8、Sonatype Nenux、Maven
二、搭建步驟
1、配置JDK環境變量
解壓JDK安裝包,修改?vi /etc/profile配置文件,增加環境變量配置。修改完,保存后執行source /etc/profile命令,讓新修改的環境變量生效。
JAVA_HOME=/usr/local/java/jdk1.8.0_181; PATH=$JAVA_HOME/bin:/bin:$PATH; CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar;二、安裝私服Nexus
1、Nexus資源包下載
Nexus官方下載地址:https://www.sonatype.com/download-oss-sonatype Nexus官方文檔地址:https://www.sonatype.com/oss-thank-you-tar.gz 參考鏈接地址:https://cloud.tencent.com/developer/article/1336556上面第3個參考鏈接,對?為項目分配獨立的倉庫?有誤,權限類型選擇錯誤。
參考這部分權限類型:本地私服倉庫nexus3.3.1使用手冊 - 云+社區 - 騰訊云
2、Nexus 資源包解壓
2.1、在?/usr/local目錄中創建子目錄?nexus
mdkir /usr/local/nexus2.2、解壓Nexus到指定目錄
tar -zxvf nexus-3.13.0-01-unix.tar.gz -C /usr/local/nexus- Nexus 目錄結構
- Nexus 各個目錄結構說明
| bin | 包含nexus的啟動腳本以及啟動相關的配置文件,例如通過bin/nexus.vmoptions文件,你可以配置一些JVM參數和日志存放位置等配置 |
| etc | 包含應用級別的配置文件 |
| lib | 包含 Apache Karaf 相關的jar包 |
| public | 包含應用相關的公共資源 |
| system | 包含應用相關的構件和插件 |
2.3、檢查私服端口和工作目錄
在nexus-3.13.0-01?目錄中有子目錄?etc,其中保存私服應用的配置信息。查看nexus-default.properties?文件,確定私服訪問端口和工作目錄。如果沒有端口相關沖突,該配置文件不做任何內容修改。配置文件內容如下:
## DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties ## # Jetty section application-port=8081 application-host=0.0.0.0 nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml nexus-context-path=/# Nexus section nexus-edition=nexus-pro-edition nexus-features=\nexus-pro-featureNexus 運行配置文件?nexus-3.13.0-01/bin/nexus.vmoptions
特別注意,nexus3 解壓出來沒有?sonatype-work,運行后創建。如果沒有創建,手動nexus-3.13.0-01?平級創一個目錄?sonatype-work
-Xms1200M -Xmx1200M -XX:MaxDirectMemorySize=2G -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=false2.4、修改Nexus運行用戶
Nexus私服啟動后,私服應用需要訪問Linux的文件系統,所以需要有足夠的權限。Nexus的啟動腳本文件中,可以指定應用的訪問用戶,此信息在nexus-3.13.0-01/bin/nexus.rc配置文件中定義。需修改如下信息:
run_as_user="nexus" # 修改后的內容,代表Nexus私服使用nexus用戶權限一般不建議使用root用戶權限啟動,可以新建一個nexus用戶,啟動Nexus。
2.5、修改防火墻,開放Nexus私服端口訪問
修改防火墻配置文件,開放Nexus私服的訪問端口?8081
vi /etc/sysconfig/iptables # 注意centOS系統環境 增加如下配置: -A INPUT -p tcp -m state --state NEW -m tcp --dport 8081 -j ACCEPTiptables status # 查看端口狀態
service iptables restart # 重啟防火墻
阿里云服務器,需要在阿里云管理后臺,設置服務器的端口規則。不在iptables中限制端口的訪問
2.6、啟動并測試訪問
啟動Nexus私服 `/usr/local/nexus-3.13.0-01/bin/nexus start`- 啟動成功日志
- 常用的命令
啟動成功訪問:http://[你的IP]:8081
2.7、問題匯總
- 可以指定JDK的版本
- nexus - nofile 65536 文件警告
官方參考鏈接:https://help.sonatype.com/repomanager3/system-requirements#filehandles
修改生效參考鏈接:重新登錄,vim /etc/security/limits.conf 生效_王樹民的博客-CSDN博客_/etc/security/limits.conf 生效
修改?/etc/security/limits.conf,在文件中增加下面語句,重新登錄用戶,重啟Nexus生效。
nexus - nofile 65536三、阿里云服務外網域名訪問
阿里云服務器配置外網域名可以訪問,配置域名解析,通過Nginx配置訪問nexus服務。
1、添加阿里云域名解析,如?nexus.[你的域名]?為例。
2、配置阿里云服務器的Nginx配置文件
server {listen 80;server_name nexus.[你的域名];charset utf-8;access_log logs/nexus_access.log main;include proxy.conf;location / {proxy_pass http://127.0.0.1:8081;}location ~ ^/(WEB-INF)/ {deny all;}location ~ \.(php|asp|aspx) {deny all;}}其中?proxy.conf?的內容為
proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header RealIP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size 100m; proxy_connect_timeout 3s; proxy_send_timeout 1m; proxy_read_timeout 1m; proxy_temp_file_write_size 1024m; proxy_buffer_size 32k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_ignore_client_abort on; proxy_next_upstream error timeout invalid_header http_503;2、配置好,Nginx重新reload下,使配置生效。
3、通過域名測試訪問是否生效。
特別注意:nexus3 的訪問域名為:http://nexus.[你的域名]
總結
以上是生活随笔為你收集整理的Maven学习—Nexus3私服搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数学二高数公式总结
- 下一篇: 云服务器如何发送邮件