maven nexus+nginx配置

由于项目中需要用到第三方的推送sdk,而这些sdk都是只提供jar包下载,而我们的项目中是使用maven进行jar包管理。所以只能在自己的服务器上搭建一个maven私服,将这些第三方sdk放到这个maven私服里面进行管理了。

在网上搜了一圈,发现最简单的搭建方法就是使用nexus(不是谷歌亲儿子nexus哦)这个软件进行搭建了。

Nexus官网:http://www.sonatype.org/nexus/

在linux上安装nexus也比较简单,在百度上一搜一大把。以下的步骤引用自:http://blog.163.com/sz2273_pr/blog/static/4126429620135811573231/

nexus安装步骤开始
 1, Nexus 下载

Nexus 官方下载, 最新版下载: nexus-2.4.0-09-bundle.tar.gz

Nexus war下载: nexus-2.4.0-09.war

nexus有两种安装实现方式,一种是war包的方式,将它直接放在例如tomcat下就可以启用的,还有一种源码的方式,做为一个运维还是喜欢源码方式的说哈。开始吧。。。

2, Nexus 安装

解压tar.gz文件:

#cd /home/tools

#tar zxvf nexus-2.4.0-09-bundle.tar.gz

移动目录

#mv nexus-2.4.0-09 /usr/local/nexus

3, Nexus 启动

nexus启动是在bin目录下,首先看一下启动/关闭/重启等命令, 输入命令:

#cd /usr/local/nexus/bin

#./nexus

出现如下选项:

[root@test01 bin]# ./nexus

Usage: ./nexus { console | start | stop | restart | status | dump }

启动nexus:

./nexus  start

关闭nexus:

./nexus  stop

4, Nexus 验证

启动nexus后,在本机浏览器输入地址: http://localhost:8081/nexus

出现上述页面,说明配置nexus成功!

点击右上角“Log in”, 输入用户名和密码(默认用户名:admin      密码: admin123)登录

5.设置

1.点击左侧 Repositories将所有Type 是 proxy 的 configuration配置选项中的 Download Remote Index 配置改为 True

如果需要代理将配置最下面的Override Http Proxy Setting 勾上并填写代理服务器地址和端口,最后保存设置

2.然后在列表中分别右键点击 ReIndex

3、添加自己的jar到nexus

选中 3rd party , Artifact Upload 标签

GAV Definition 选择GAV Parameters

填写 Group Artifact version packaging

然后选择jar包 上传提交即可。

nexus安装步骤结束

另外:在解压出来的nexus目录中,{nexus}/conf/ 下有个名为nexus.properties配置文件,在这里可以配置nexus的端口,仓库的文件的路径等等

其中有一项nexus-webapp-context-path=/nexus的配置,这是指定url中ip:port/XXX中的XXX的,所以如果配置成/nexus的话,你要访问nexus,则要输入ip:port/nexus。

如果要配合nginx使用,则这一项要改成nexus-webapp-context-path=/,即配制成使用ip:port就能访问到nexus。

然后就是配置,nginx了。

我的配置如下:

server {
listen 80;
server_name nexus.kainaodong.com;
location / {
expires -1;
index /;
proxy_pass http://127.0.0.1:9001;
}
include /alidata/server/nginx/conf/rewrite/default.conf;
access_log /alidata/log/nginx/access/default.log;
}

proxy_pass就是配置将对nexus.kainaodong.com子域名的访问转到http://127.0.0.1:9001,也即是我的服务器的nexus上。

一开始,我的nexus的nexus-webapp-context-path这一下没有配置成“/”,而是将nginx的proxy_pass配置成http://127.0.0.1:9001/nexus,这样虽然能访问到nexus,但是里面的仓库内容时访问不到的,也不能进行登录。

然后试着在nexus的server配置中,将base url强制为子域名,这时仓库的内容可以访问了,但是还是登录不了。

 

 

 

QQ截图20150606204706

 

最后在网上又搜了一圈,发现nexus的nexus-webapp-context-path这个属性是可以配置访问路径,所以直接将它改为”/”,nginx中的proxy_pass配置成http://127.0.0.1:9001。

这样,nexus终于能使用子域名来访问了。

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注