Ubuntu 14.04 搭建Nexus Maven 私服
安装Nexus
的前提是已经安装JDK,JDK的安装这里就不再赘述,安装JDK-1.7
版本,JDK版本过低在启动Nexus的时候会报错.
Nexus 下载与启动
下载链接为http://www.sonatype.org/nexus/go/最新版本为nexus-2.11.4-01
,我们下载NEXUS OSS(TGZ)
. 得到nexus-2.11.4-01-bundle.tar.gz
- 将
nexus-2.11.4-01-bundle.tar.gz
复制到/usr/local
目录下
- 解压
nexus-2.11.4-01-bundle.tar.gz
,得到nexus-2.11.4-01
和sonatype-work
两个文件夹,为了以后操作方便,我们将创建软链接nexus
指向nexus-2.11.4-01
- 启动
Nexus
输出:
根据英文即可知道每个命令的意思,现在启动Nexus
结果输出:
** WARNING - NOT RECOMMENDED TO RUN AS ROOT * If you insist running as root,then set the environment variable RUN_AS_USER=root before running this script.
重新启动bin/nexus start
输出:
打开localhost:8081/nexus
进行查看,启动成功.如果打不开怎么办? 查看日志
- 修改
nexus
的端口
nexus.properties
文件中的nexus-work
:指定构件库的存储位置
将Nexus设置为系统自启动服务
- 复制
/usr/local/nexus/bin/nexus
文件到/etc/init.d/
- 修改
/etc/init.d/nexus
- 启动
nexus
服务
启动之后,跟之前所述一样,打开http://localhost:8081/nexus
即可.
使用Nginx
Nginx是一个非常轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。
Nginx
安装
sudo apt-get install Nginx
默认Nginx
安装,所有的配置文件都在/etc/Nginx
下,并且每个虚拟主机已经安排在了/etc/Nginx/sites-available
下,启动程序文件在/usr/sbin/Nginx
,日志放在了/var/log/Nginx
中,分别是access.log
和error.log
,并已经在/etc/init.d/
下创建了启动脚本Nginx
,默认的虚拟主机的目录设置在了/usr/share/Nginx/www
安装过之后,默认已经启动.查看是否启动:
启动之后,78); padding:2px; margin:0px 3px">http://localhost/即可.如果不能访问,先不要继续,看看是什么原因,解决之后再继续。
- 配置
Nginx
cd /etc/Nginx/conf.d sudo vim nexus.conf
将下列内容复制进去
# # The default server # server { listen 80 ; server_name 127.0.0.1; #charset koi8-r; #access_log logs/host.access.log main; # Load configuration files for the default server block. location /nexus { proxy_set_header Via "Nginx"; proxy_read_timeout 120; proxy_send_timeout 120; proxy_connect_timeout 120; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://127.0.0.1:8081/nexus; } location / { root /usr/share/Nginx/html; index index.html index.htm; } error_page 404 /404.html; location = /404.html { root /Nginx/html; } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /Nginx/html; } }
重启Nginx
sudo service restart Nginx
如果你的机器同时安装了Apache
,此时Nginx
都可能启动不了,这是因为它们都是用了80
这个端口。两种方法:停止apache
或者将Nginx的端口修改为8080
,将nexus.conf
配置文件中的listen 80
改为listen 8080
启动成功之后,访问http://127.0.0.1/nexus
即可.
配置nexus
- 配置
nexus
开启远程索引 新搭建的neuxs
环境只是一个空的仓库,需要手动和远程中心库进行同步,nexus
默认是关闭远程索引下载,最重要的一件事情就是开启远程索引下载。登陆nexus
系统,默认用户名密码为admin/admin123
。
点击左侧的Views/Repositories
,下拉菜单中有Repositories
选项,点击Repositories
,找到右边仓库列表中的三个仓库Apache Snapshots
,Codehaus Snapshots
和Central
,然后在这三个仓库的configuration
下把Download Remote Indexes
修改为true
。然后在这三个仓库上分别右键,选择Repair Index
,这样nexus
就会去下载远程的索引文件。
-
建立内部仓库 新建公司的内部仓库,步骤为页面上部的
Add –> Hosted Repository
,在页面的下半部分输入框中填入Repository ID
和Repository Name
即可,比如分别填入myrepo
和my repository
,另外把Deployment Policy
设置为Allow Redeploy
,点击save
就创建完成了. -
修改
neuxs
仓库组nexus
中仓库组的概念是Maven
没有的,在Maven
看来,不管你是hosted
也好,proxy
也好,或者group
也好,对我都是一样的,我只管根据groupId
,artifactId
,version
等信息向你要构件。为了方便Maven
的配置,nexus
能够将多个仓库,hosted
或者proxy
合并成一个group
,这样,Maven
只需要依赖于一个group
,便能使用所有该group
包含的仓库的内容。
neuxs
中默认自带了一个名为Public Repositories
组,点击该组可以对他保护的仓库进行调整。同时创建一个Group ID
为public-snapshots
、Group Name
为Public Snapshots Repositories
的组,把Apache Snapshots
、Snapshots
加入其中。
到这里neuxs
的安装配置就完成了.