一般产品到了一定规模内部的maven是必须要搭建的—-当然,不到一定规模也可以搭建的,关键就看整个开发流程和团队配合了。
注意,这个搭建maven在网上已经一堆实践了的,跟着做即可。当然,假如有坑的话我也会先填上去的。
分别先安装jdk及maven。
执行:
java -version
看看有没有安装java,服务器不要随便换环境。
假如没有的话就用:
yum install java
安装java。
服务器已经安装java,跳过这一步。
看看有没有安装maven,没有就安装,有就跳过。
mvn -version
安装maven:
yum install maven
刚好我没有安装,那么就安装先:
yum install maven
安装成功。
到官网下载页面看看:
这里写链接内容
可以看到:
好了忽略加入注册种种步骤,下载地址是:
https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.12.1-01-unix.tar.gz
在centos下下载:
wget https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.12.1-01-unix.tar.gz
保存成功。
解压缩
tar -zxvf nexus-3.12.1-01-unix.tar.gz -C /usr/local/
解压成功。
------重命名nexus文件夹
cd /usr/local
mv nexus-3.12.1-01 nexus3
创建软连接
sudo ln -s nexus3 nexus
创建 nexus 用户
sudo useradd nexus -M -s /sbin/nologin
授权
sudo chown -R nexus:nexus /usr/local/nexus
sudo chown -R nexus:nexus /usr/local/sonatype-work/
打开 /usr/local/nexus/bin/nexus.rc 文件, 去掉 run_as_user 变量的注释
sudo vim /usr/local/nexus/bin/nexus.rc
run_as_user="nexus"
安装nexus到系统服务
安装服务(本例以 systemd 为例)
创建服务文件
sudo vim /etc/systemd/system/nexus.service
添加如下内容
[Unit]
Description=nexus service
After=network.target
[Service]
Type=forking
LimitNOFILE=65536
ExecStart=/usr/local/nexus/bin/nexus start
ExecStop=/usr/local/nexus/bin/nexus stop
User=nexus
Restart=on-abort
[Install]
WantedBy=multi-user.target
其中LimitNOFILE=65536用于调整文件描述符数量。
安装并启动服务
sudo systemctl daemon-reload
sudo systemctl enable nexus
sudo systemctl start nexus
查看服务
sudo systemctl status nexus
服务异常。。
好,检查原因,直接用原始方式来启动看看怎么样
/usr/local/nexus/bin/nexus start
分析:
可以看到错误是当执行程序时候没办法进入家目录,而通过查资料
这里写链接内容
我们在创建账户的时候使用了 -M 压根没有给nexus这个账户创建家目录。。。66666,然后执行程序时候就说没办法进入家目录---压根都没这个目录。
好了,尝试修复:
创建目录
mkdir /home/nexus
改权限
sudo chown -R nexus:nexus /home/nexus
运行:
sudo /usr/local/nexus/bin/nexus run &
结果
当前账号不允许—总比启动失败要强一点。。
查阅资料,得到:
linux下切换用户出现This account is currently not available
。。。。坑爹哪、、
假如这个是正确的话,那么就表示我们从创建nexus账号时候就跑偏了。。
我们来试试:
vim /etc/passwd
将里面的/sbin/nologin改为:
然后执行:
sudo /usr/local/nexus/bin/nexus run &
看到:
账号总算没问题了,然而openjdk出问题了。。具体看看:
cat /usr/local/nexus3/hs_err_pid21797.log
…………..查阅资料得到:
There is insufficient memory for the Java Runtime Environment to continue问题解决
好,一步一步来:
vim /etc/security/limits.conf
在末尾:
添加
* - nofile 278528
重要—–!!!
重启服务器
然后
ulimit -n
然后再来。。不过不起作用,依然出问题。。。
好了,解决方案2:
centos6.0非root用户JRE报资源不可用错误
好了,我们来按这思路解决一下:
ls /etc/security/limits.d
打开:
vim /etc/security/limits.d/20-nproc.conf
将4096改成:278528
重启服务,结果失败。
额。。估计是内存不够。。
需要800m,而剩余肯定没那么多。。
郁闷。
立刻掏钱升级到2g,然后:
终于成功了。。感动。。用钱堆出来的成功。