Nexo de implementación de configuración de Linux

Nexus es un poderoso administrador de almacenes experto que simplifica enormemente el mantenimiento de los almacenes internos locales y el acceso a los almacenes externos. , y también se puede usar para crear varios almacenes privados como yum, pypi, npm, docker, nuget, rubygems, etc.

Instalar

Instalar el entorno JDK

# tar -xzf jdk-8u211-linux-x64.tar.gz -C /usr/local/
# vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_211/
export JRE_HOME=/usr/loca/jdk1.8.0_211/jre
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
# source /etc/profile

Descargar el paquete de instalación de nexus

# wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz
# mkdir /opt/nexus
# tar -xzf nexus-3.16.1-02-unix.tar.gz -C /opt/nexus
# useradd nexus #以nexus用户运行
# chown -R nexus.nexus /opt/nexus

nexus解压后的两个文件
nexus-xxx nexus运行需要的文件,如运行脚本、依赖jar包
sonatype-work 该目录包含nexus生成的配置文件、日志文件、仓库文件等

### 优化配置

1) 配置运行用户
# cd /nexus/nexus.x.x.x/bin/
# vim nexus.rc
run_as_user="nexus" ----取消注释

2)可以手动配置jdk的路径
如果不配置的话,会使用默认的JAVA_HOME的环境变量
# cd /nexus/nexus.x.x.x/bin/
# vim nexus
INSTALL4J_JAVA_HOME_OVERRIDE=/usr/local/jdk1.8.0_144 #第14行

3)修改端口
一般使用默认的端口
# cd /nexus/nexusx.x.x.x/bin
# vim nexus-default.properties

4)配置存储及日志位置
一般不做修改,使用默认
# cd /nexus/nexusx.x.x.x/bin/
# vim nexus.vmoptions

Después de modificar el archivo de configuración, ejecute

# sudo su - nexus
# cd /opt/nexus/nexus.x.x.x/bin
# ./nexus run & #后台运行
# 使用web页面进行设置代理仓库
http://localhost:8081

bin目录下执行执行 ./nexux start 命令启动。
脚本涵盖:./nexus {
    
    console | start | stop | restart | status | dump}
(3.X启动 nohup ./bin/nexus run > logs/nexus.log 2>&1 &)

后http://ip:port访问成功即可。

若启动成功,访问失败大概率是防火墙拦截导致,详见配置项四。

默认账号和密码:admin/admin123(3.X密码在data/admin.password)

Uso de servidor privado

Algunas palabras profesionales para servidores privados

hosted,本地仓库(也叫宿主仓库),通常我们会部署自己的构件到这一类型的仓库或者是第三方的包(如:oracel的)。
proxy,代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库。
group,仓库组,用来合并多个hosted/proxy仓库,通常我们配置maven依赖仓库组
maven-central:maven中央库,默认从https://repo1.maven.org/maven2/拉取jar
maven-releases:私库发行版jar
maven-snapshots:私库快照(调试版本)jar
maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用。
Hosted有三种方式:Releases、Snapshot、Mixed
Releases: 一般是已经发布的Jar包
Snapshot: 未发布的版本
Mixed:混合的

Crear un almacén de proxy de repositorio proxy
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
Crear un nuevo almacén personalizado
Haga clic en Crear repositorio y luego seleccione el tipo de
inserte la descripción de la imagen aquíinserte la descripción de la imagen aquíinserte la descripción de la imagen aquí
biblioteca de recursos de grupo personalizado maven2 (alojado)inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

Tres usan el servidor privado Nexus en el proyecto Maven

3.1 Crear un rol

Hay varios usuarios bajo un rol, solo con el rol se pueden asignar los permisos de usuarioinserte la descripción de la imagen aquíinserte la descripción de la imagen aquí

3.2 Crear usuario

inserte la descripción de la imagen aquí
creado con éxitoinserte la descripción de la imagen aquí

3.3 configuración del archivo maven setting.xml

: defina el almacén de Maven para la descarga del paquete jar y defina el servidor de implementación.
Pero algunas configuraciones, como el nombre de usuario y la contraseña, se guardan en settings.xml en el servidor de compilación.

id: la identificación del servidor, que se utiliza para coincidir con la identificación de la biblioteca de administración de distribución, es más importante.
nombre de usuario, contraseña: el nombre de usuario y la contraseña utilizados para iniciar sesión en este servidor
privateKey, passphrase: establezca la clave privada y la contraseña
filePermissions, directoryPermissions: después de crear el archivo o directorio de la biblioteca, necesita usar permisos para acceder Consulte la licencia de archivo de Unix, como 664 y 775
: indique la biblioteca espejo, especifique la imagen espejo de la biblioteca y utilícela para agregar otras bibliotecas. El espejo es equivalente a un interceptor, que interceptará las solicitudes relacionadas de maven al repositorio remoto y redirigirá la dirección del repositorio remoto en la solicitud a la dirección configurada en el espejo.
id, nombre: el único signo utilizado para distinguir el espejo
url: la url del espejo
mirrorOf: la identificación del servicio apuntada por este espejo

Configure el servidor privado en maven, edite setting.xml
  La dirección predeterminada del almacén central de Maven es: https://repo.maven.apache.org/maven2/, puede modificar la dirección predeterminada del almacén central modificando el archivo settings.xml:

<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <!--本地仓库-->
  	<localRepository>D:/maven/repository</localRepository>
	<interactiveMode>true</interactiveMode>
    <offline>false</offline>
	<!--配置权限,使用默认用户-->
	<servers>
		<server>
		    <!--这是server的id(注意不是用户登陆的id),该id与repository元素的id相匹配。 -->
         <id>maven-releases</id>
         <username>admin</username>
         <password>2321035705Ma</password>
     </server>

     <server>
         <id>maven-snapshots</id>
         <username>admin</username>
         <password>2321035705Ma</password>
     </server>

     <server>
         <id>myself_group</id>
         <username>admin</username>
         <password>2321035705Ma</password>
     </server>
	</servers>
	
	<mirrors>
		<!--阿里云镜像-->
		<mirror>  
	      <id>alimaven</id>  
	      <name>aliyun maven</name>  
	      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
	      <mirrorOf>central</mirrorOf>          
	    </mirror>
    </mirrors>

	
	<profiles>
		<profile>
		   <id>nexus</id>
			    <activation>
			     <activeByDefault>true</activeByDefault>
				 <jdk>1.8</jdk>
			    </activation>
			    <repositories>
					<!-- 私有库地址-->
				    <repository>
						<id>nexus-group</id>
						<url>http://localhost:8081/repository/nexus-group/</url>
						<!-- <releases><enabled>true</enabled></releases>告诉Maven可以从这个仓库下载releases版本的构件-->
						<releases>
							<enabled>true</enabled>
						</releases>
						<snapshots>
							<enabled>true</enabled>
						</snapshots>
					</repository>
					
					
					
				</repositories>      
				<pluginRepositories>
					<!--插件库地址-->
					<!-- 如果是配置了repositories,那么你会发现在mvn在下载依赖的时候,一部分从阿里云下载,一部分还是从默认的仓库(https://repo.maven.apache.org )下载-->
					<pluginRepository>
						<id>nexus-group</id>
						<url>http://localhost:8081/repository/nexus-group/</url>
					
						<releases>
							<enabled>true</enabled>
						</releases>
						<snapshots>
							<enabled>true</enabled>
					   </snapshots>
					</pluginRepository>
				</pluginRepositories>
			</profile>

			<profile>
		     <id>jdk-1.8</id>
			 <activation>
			     <activeByDefault>true</activeByDefault>
				 <jdk>1.8</jdk>
			 </activation>
			 <properties>
			     <maven.compiler.source>1.8</maven.compiler.source>
				 <maven.compiler.target>1.8</maven.compiler.target>
				 <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
			 </properties>
		</profile>
	</profiles>
	
	<!--激活profile-->
	<activeProfiles>
	<!--将所有repositories以及pluginRepositories元素放到这个profile中,然后,使用<activeProfiles>元素自动激活该profile。这样,你就不用再为每个POM重复配置仓库-->
		<activeProfile>nexus</activeProfile>
		<activeProfile>jdk-1.8</activeProfile>  
	</activeProfiles>
</settings>

3.4 El almacén implementado está definido por el elemento distributionManagement en el POM.

El jar que se liberará se puede ejecutar: mvn deployment

  <distributionManagement>
    <repository>
        <id>maven-releases</id>
        <name>Nexus Release Repository</name>
        <url>http://localhost:8081/repository/maven-releases/</url>
    </repository>
    <snapshotRepository>
        <id>maven-snapshots</id>
        <name>Nexus Snapshot Repository</name>
        <url>http://localhost:8081/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>

3.5 se usa para descargar dependencias usando repositorios en POM

<repositories>
  <repository>
    <id>nexus</id>
    <url>http://121.4.207.231:8081/repository/maven-public/</url>
    <releases>
      <enabled>true</enabled>
    </releases>
    <snapshots>
    <enabled>true</enabled>
    </snapshots>
  </repository>
</repositories>

Pasos para configurar el almacén pypi:

1. Establecer un almacén oficial de agentes

2. Al completar la dirección de índice remoto, dirección: pypi.python.org/, mirrors.aliyun.com, # Configure múltiples recursos domésticos

3. Cree un almacén alojado para uso interno de myptpi-hosted

4. Cree un almacén de grupo y agréguele la configuración de proxy oficial
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
1. Cuando utilice pip, utilice -i para especificar la dirección del almacén y, al mismo tiempo, utilice el parámetro –trusted-host para especificar el host de confianza

pip install -i http://localhost:8081/repository/pypigroup/simple/ --no-cache-dir -r requirements.txt --trusted-host

2. Configure la dirección del servidor privado en el archivo de configuración, la dirección del archivo de configuración es ~/.pip/pip.conf, si no existe, agregue este archivo. El contenido del archivo de configuración es el siguiente

[global]
index-url=nexus.menghuanhua.com:8081/repository/df-pipy-public/simple/
[install]
trusted-host=nexus.menghuanhua.com

Supongo que te gusta

Origin blog.csdn.net/weixin_45720992/article/details/131520400
Recomendado
Clasificación