CentOSインストールNexus:(一)Maven私服のインストール


一、概説
Nexusを使用して私服を構築する主な背景は、コンテンツ管理プラットフォームEMC Documentum製品の二次開発であり、多くのプラットフォーム特有のサードパーティjarパッケージを管理する必要があると同時に、Nexusを使用して内部倉庫のメンテナンスと外部倉庫のアクセスを簡素化する必要があることです.私服があれば、Mavenがコンポーネントをダウンロードする必要がある場合は、私服を直接要求し、私服が存在する場合はローカル倉庫にダウンロードします.そうでなければ、私服は外部のリモートウェアハウスを要求し、コンポーネントを私服にダウンロードし、ローカルウェアハウスにダウンロードします.
二、前期準備
オペレーティングシステム:CentOS Linux release 7.2.1511(Core)
Nexusバージョン:nexus-2.14.0-01-bundle.tar.gz
Nexusダウンロードパス:http://www.sonatype.org/nexus/archived/
JDKバージョン:jdk-8 u 101-linux-x 64.rpm
三、解凍Nexus
[root@localhost opt]# tar zxvf nexus-2.14.0-01-bundle.tar.gz

注意:nexusをインストールします.ローカルウェアハウスのデフォルトjarパッケージの格納場所は、/sonatype-work/nexus/storage/centralです.Centralウェアハウスはストレージの占有量が大きいため、ストレージの場所に注意してください.
四、適当な位置に移動する:/usr/local
[root@localhost opt]# mv nexus-2.14.0-01 /usr/local
[root@localhost opt]# mv sonatype-work/ /usr/local

五、プロファイル1:/usr/local/nexus-2.14.0-01/conf/nexusを修正する.properties
# Sonatype Nexus
# ==============
# This is the most basic configuration of Nexus.

# Jetty section
#      
application-port=8081
application-host=0.0.0.0
nexus-webapp=${bundleBasedir}/nexus
#  nexus    ,    
nexus-webapp-context-path=/nexus

# Nexus section
nexus-work=${bundleBasedir}/../sonatype-work/nexus
runtime=${bundleBasedir}/nexus/WEB-INF

# orientdb buffer size in megabytes
storage.diskCache.bufferSize=4096

六、構成ファイルの修正2:
/usr/local/nexus-2.14.0-01/bin/nexus
# Set this to the root of the Nexus installation
#        
NEXUS_HOME="/usr/local/nexus-2.14.0-01"

# If specified, the Wrapper will be run as the specified user.

# IMPORTANT - Make sure that the user has the required privileges to write into the Nexus installation directory.

# NOTE - This will set the user which is used to run the Wrapper as well as
#  the JVM and is not useful in situations where a privileged resource or
#  port needs to be allocated prior to the user being changed.
#   root    ,              ,        nexus home       
RUN_AS_USER=root

七、Nexusを起動する
[root@localhost bin]# ./nexus start  
****************************************
WARNING - NOT RECOMMENDED TO RUN AS ROOT
****************************************
Starting Nexus OSS...
Started Nexus OSS.
[root@localhost bin]#

ここではrootユーザーを使用してnexusを実行することは推奨されません.他のユーザーを使用するには、ファイルシステムの権限の問題を考慮する必要があります.そうしないと、プログラムが起動できない可能性があります.Permissiondeniedエラーを報告し、rootユーザーを使用して次のコマンドを実行します.
  chmod -R o+w {nexus-home}/ 
{nexus-home}はnexusのルートディレクトリを表します
上記のコマンドは、サブファイルとサブフォルダを含むnexusフォルダ全体を一般ユーザーにwrite権限を開放し、一般ユーザーを使用してnexusスクリプトを実行し、コマンドを実行できます./nexusstart 
八、起動ログを表示する:
[root@localhost logs]# pwd
/usr/local/nexus-2.14.0-01/logs
[root@localhost logs]# ls
wrapper.log
[root@localhost logs]# tail -f wrapper.log 
jvm 1    | 2016-10-17 06:29:45,193-0400 INFO  [jetty-main-1] *SYSTEM org.sonatype.nexus.configuration.ModelUtils - Loading model /usr/local/sonatype-work/nexus/conf/lvo-plugin.xml
jvm 1    | 2016-10-17 06:29:45,407-0400 INFO  [jetty-main-1] *SYSTEM org.sonatype.nexus.webresources.internal.WebResourceServiceImpl - Discovered 1971 resources
jvm 1    | 2016-10-17 06:29:45,408-0400 INFO  [jetty-main-1] *SYSTEM org.sonatype.nexus.webresources.internal.WebResourceServlet - Max-age: 30 days (2592000 seconds)
jvm 1    | 2016-10-17 06:29:45,430-0400 INFO  [jetty-main-1] *SYSTEM org.sonatype.nexus.bootstrap.jetty.InstrumentedSelectChannelConnector - Metrics enabled
jvm 1    | 2016-10-17 06:29:45,441-0400 INFO  [jetty-main-1] *SYSTEM org.eclipse.jetty.server.AbstractConnector - Started [email protected]:8081
jvm 1    | 2016-10-17 06:29:45,441-0400 INFO  [jetty-main-1] *SYSTEM org.sonatype.nexus.bootstrap.jetty.JettyServer - Running
jvm 1    | 2016-10-17 06:29:45,441-0400 INFO  [WrapperListener_start_runner] *SYSTEM org.sonatype.nexus.bootstrap.jetty.JettyServer - Started

ログ:*SYSTEM org.sonatype.nexus.bootstrap.jetty.JettyServer-Startedは正常に起動しました
九、サービスとして配置して起動する
[root@localhost bin]# pwd
/usr/local/nexus-2.14.0-01/bin
[root@localhost bin]# cp nexus /etc/rc.d/init.d/  
[root@localhost bin]# cd /etc/rc.d/init.d/
[root@localhost init.d]# ls
functions  jexec  netconsole  network  nexus  README
[root@localhost init.d]# chkconfig --add nexus  
[root@localhost init.d]# chkconfig --list | grep nexus 

  :         SysV   ,       systemd   。SysV           systemd     。 
             systemd   ,    'systemctl list-unit-files'。
             target         
      'systemctl list-dependencies [target]'。

nexus          	0: 	1: 	2: 	3: 	4: 	5: 	6: 
[root@localhost init.d]# chkconfig nexus on  
[root@localhost init.d]# chkconfig --list | grep nexus 

  :         SysV   ,       systemd   。SysV           systemd     。 
             systemd   ,    'systemctl list-unit-files'。
             target         
      'systemctl list-dependencies [target]'。

nexus          	0: 	1: 	2: 	3: 	4: 	5: 	6: 
[root@localhost init.d]# 

十、アクセスと起動と停止
アクセス先:http://ip:8081/nexus
起動:service nexus start
停止:service nexus stop
再起動:service nexus restart
十一、よくある問題
1.アドレスがアクセスできない場合、ファイアウォールの問題が原因となります.解決方法は以下の通りです.
/sbin/iptables -I INPUT -p tcp --dport 8081 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart

2.サービス起動時に発生したエラーを以下のように構成します.
[root@localhost init.d]# service nexus stop
Missing platform binary: /etc/rc.d/init.d/../bin/jsw/linux-x86-64/wrapper

解決方法:vi/etc/rc.d/init.d/nexus
# Set this to the root of the Nexus installation
#           
NEXUS_HOME="/usr/local/nexus-2.14.0-01"