JAVA下载
https://www.oracle.com/java/technologies/downloads/archive/
https://login.oracle.com/mysso/signon.jsp
QQq951699.
[root@vm1 ~]# mkdir -p /data
[root@vm1 ~]# mv jdk-8u221-linux-i586.tar.gz /data
[root@vm1 ~]# cd /data;tar xf jdk-8u221-linux-i586.tar.gz;ls
jdk1.8.0_221
[root@vm jdk1.8.0_221]# cd jdk1.8.0_221;pwd
/data/jdk1.8.0_221
检查是否已安装并卸载
[root@vm1 data]# java -version
[root@vm1 data]# rpm -qa|grep jdk
[root@vm1 data]# rpm -e jdk全名
配置JDK
vim /etc/profile
#追加
export JAVA_HOME=/data/jdk1.8.0_221
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
java -version
-bash: /data/jdk1.8.0_221/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
yum provides ld-linux.so.2
yum -y install glibc-2.17-317.el7.i686
java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
下载Maven
官网下载Maven的Linux版的压缩包,这里以Maven3.6.1为
下载地址:https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/
tar xf apache-maven-3.6.1-bin.tar.gz
cd apache-maven-3.6.1/ ;pwd
/data/apache-maven-3.6.1
vi /etc/profile
export MAVEN_HOME=/data/apache-maven-3.6.1
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
source /etc/profile
mvn -version
搭建Nexus
节省外网带宽,加速Maven构建 , 提高效率。部署第三方组件。提高稳定性,增强安全控制。降低中央仓库的负荷。
建立本地内部公用仓库,课用作docker镜像仓库,npm仓库
Nexus预定义了3个本地仓库,分别是Releases, Snapshots, 3rd Party.
Releases:
这里存放我们自己项目中发布的组件, 通常是Release版本的, 比如我们自己做了一个Web Server的项目, 生成的
构件为server.war, 我们就可以把这个构建发布到Nexus的Releases本地仓库.
Snapshots:
这个仓库非常的有用, 它的目的是让我们可以发布那些非release版本, 非稳定版本, 比如我们在开发一个项目,在正式release之前你可能需要临时发布一个版本给你的同伴使用, 因为你的同伴正在依赖你的模块开发, 那么这个时候我们就可以发布Snapshot版本到这个仓库, 你的同伴就可以通过简单的命令来获取和使用这个临时版本.
3rd Party:
顾名思义, 第三方库, 指的是可以让你添加自己的第三方库, 比如有些组件在中央仓库是不存在的. 比如你在中央仓库找不到Oracle 的JDBC驱动, 这个时候我们就需要自己添加到3rdparty仓库。
下载地址:https://www.sonatype.com/download-nexus-repo-oss,oss版是免费的
tar xf nexus-3.20.1-01-unix.tar.gz
cd nexus-3.20.1-01/
pwd
/data/nexus-3.20.1-01
vim bin/nexus
run_as_user='root'
run_as_root=false
Nexus安装目录下nexus-3.20.1-01/etc/nexus-default.properties配置表中可以修改以下属性:
application-port=8081 # Nexus服务监听的端口;
application-host=0.0.0.0 # Nexus服务监听的主机
nexus-context-path=/ # Nexus服务的上下文路径,暂时不会用
bin/nexus start # 启动Nexus admin123
cat /data//sonatype-work/nexus3/admin.password #sonatype-work这个路径的修改暂时未找到
192.168.1.11:8081 启动比较慢
maven-central:maven中央库,默认从https://repo1.maven.org/maven2/拉取jar
maven-releases:私库发行版jar
maven-snapshots:私库快照(调试版本)jar
maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用。
使用Nexus
- 在Maven的 setting.xml中配置nexus访问权限
cat apache-maven-3.6.1/conf/settings.xml #默认注释的
<servers>
<server>
<id>releases</id> #id,服务器的ID,Maven在连接一个库或者镜像的时候,通过id匹配要连接的服务器;
<username>admin</username>
<password>123456</password>
</server>
<server>
<id>snapshots</id>
<privateKey>/path/to/private/key</privateKey>
<passphrase>optional; leave empty if not used.</passphrase>
</server>
</servers>
- 在项目的pom.xml中配置nexus仓库位置 :
<!-- 使用分发管理将本项目打成jar包,直接上传到 指定服务器 -->
<distributionManagement> <!--正式版本-->
<repository>
<id>releases</id>
<url>http://192.168.1.11:8081/repository/maven-releases/</url>
</repository> <!--快照-->
<snapshotRepository>
<id>snapshots</id>
<url>http://192.168.1.11:8081/repository/maven-snapshots/</url> </snapshotRepository>
</distributionManagement>
docker仓库
创建一个Hosted的仓库作为private仓库
[root@vm data]# curl -o /etc/yum.repos.d/docker.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@vm data]# yum -y install docker
[root@vm data]# systemctl start docker
[root@vm data]# cat /etc/docker/daemon.json
{
"insecure-registries":["192.168.1.11:8888"]
}
[root@vm data]# systemctl restart docker
[root@vm data]# docker login http://192.168.1.11:8888
Username: admin
Password:
Login Succeeded
[root@vm data]# docker pull busybox
[root@vm data]# docker tag docker.io/busybox:latest 192.168.1.11:8888/busybox:latest
[root@vm data]# docker push 192.168.1.11:8888/busybox:latest
The push refers to a repository [192.168.1.11:8888/busybox]
40cf597a9181: Pushed
maven
Version pollcy:版本策略;有三种版本策略,分别是:
Release:发行版
Snapshot:快照版
Mixed:混合模式
Layout pollcy:布局策略;有两种布局策略 , 分别是 :
Strict:严格
Permissive:宽松
Deployment pollcy:部署策略;有三种部署策略 , 分别是 :
Allow redeploy:允许重新部署
Disable redeploy:禁止重新部署
Read-only:只读
proxy
npm仓库
https://nodejs.org/download/release/latest-v14.x/
[root@vm data]# tar xf node-v14.21.1-linux-x64.tar.gz
[root@vm data]# ln -s /data/node-v14.21.1-linux-x64/bin/* /usr/local/bin/
[root@vm data]# ls /usr/local/bin/
corepack node npm npx
[root@vm data]# npm -v
6.14.17
http://192.168.1.11:8081/repository/npm-package/
[root@vm data]# npm config set registry http://192.168.1.11:8081/repository/npm-package/
[root@vm data]# npm login -registry=http://192.168.1.11:8081/repository/npm-package/
Username: admin
Password:
Email: (this IS public) (345243656qq.com) 345243656@qq.com
Logged in as admin on http://192.168.1.11:8081/repository/npm-package/.
[root@vm data]# npm publish -registry=http://192.168.1.11:8081/repository/npm-package/
#要发布的模块,必须保证在目录下有package.json文件
创建自定义角色以及用户
角色roles
用户
登录验证