您的位置:首页 > 其它

Nexus 部署Maven私服仓库

2015-11-17 17:50 288 查看
约定:
系统:centos
文件安装位置:/usr/local/nexus

修正记录:
2016-01-25:修正启动服务`PIDDIR`参数配置

下载地址:http://www.sonatype.org/nexus/go/

官方文档:https://books.sonatype.com/nexus-book/reference/index.html

Nexus oss,说说我对这个软件的理解吧,据我所知,java项目在构建过程中需要使用maven构建,而在maven构建时需要用到各种依赖包,这个依赖包需要从maven在线仓库进行下载,官方的仓库地址http://repository.apache.org/snapshots/
http://repo1.maven.org/maven2/
http://nexus.codehaus.org/snapshots/

有时可能因为各种原因无法从在线仓库下载依赖包(如无法访问公网),那这时就需要将依赖包提前下载好传到项目上,而与其这种方式,不如自己部署一个maven在线仓库,将收集的各种依赖包放到这个仓库中,项目再去调用。而如果自己有开发依赖包的能力,也可将依赖包上传到仓库,供第三方使用。
Nexus oss就是构建这种仓库的开源软件,其实apache用的也是Nexus部署的仓库。下载好安装包后,参照官方文档进行安装,
$sudo cp nexus-2.11.4-01-bundle.tar.gz /usr/local
$cd /usr/local
$ sudo tar xvzf nexus-2.11.4-01-bundle.tar.gz
$ sudo ln -s nexus-2.11.4-01 nexus
配置nexus服务
$sudo cp nexus/bin/nexus /etc/init.d/nexus
编辑/etc/init.d/nexus配置
NEXUS_HOME="/usr/local/nexus" #nexus主目录
RUN_AS_USER=web                                  #运行nexus的用户,不能使用root用户
PIDDIR="/var/run"                                #pid文件目录
这样配置之后就可以使用服务启动和关闭nexus了,加入自启动
chkconfig --add nexus
chkconfig --level 345 nexus on


启动服务就可以通过web页面访问了,
默认地址端口
http://localhost:8081/nexus/,默认帐号admin admin123 

apache proxy
ProxyRequests Off
ProxyPreserveHost On

<VirtualHost *:80>
ServerName www.example.com
ServerAdmin admin@example.com
ProxyPass /nexus http://localhost:8081/nexus ProxyPassReverse /nexus http://localhost:8081/nexus ErrorLog logs/www.example.com/nexus/error.log
CustomLog logs/www.example.com/nexus/access.log common
</VirtualHost>
nginx proxy

http {

proxy_send_timeout 120;
proxy_read_timeout 300;
proxy_buffering    off;
keepalive_timeout  5 5;
tcp_nodelay        on;

server {
listen   *:80;
server_name  www.example.com;

# allow large uploads of files - refer to nginx documentation
client_max_body_size 1G

# optimize downloading files larger than 1G - refer to nginx doc before adjusting
#proxy_max_temp_file_size 2G

location /nexus {
proxy_pass http://localhost:8081/nexus; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
nginx ssl
http {

proxy_send_timeout 120;
proxy_read_timeout 300;
proxy_buffering    off;
keepalive_timeout  5 5;
tcp_nodelay        on;

server {
listen   *:443;
server_name  repo.example.com;

# allow large uploads of files - refer to nginx documentation
client_max_body_size 1G

# optimize downloading files larger than 1G - refer to nginx doc before adjusting
#proxy_max_temp_file_size 2G

ssl on
ssl_certificate      example.pem;
ssl_certificate_key  example.key;

location / {
proxy_pass http://localhost: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_set_header X-Forwarded-Proto "https";
}
}
}
有关页面的配置以及库的添加,可参考官方文档https://books.sonatype.com/nexus-book/reference/config-sect-new-repo.html

有需的可留言给我
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Nexus maven