热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

海欢服务器环境安装手册

海欢服务器环境安装手册1、jdk安装目录:usrlocaljdk1.7.0_792、tomcat安装目录:usrlocaltomcat73、maven安装目录:usrlocalapa
海欢服务器环境安装手册


1、jdk安装目录:/usr/local/jdk1.7.0_79
2、tomcat安装目录:/usr/local/tomcat7
3、maven安装目录:/usr/local/apache-maven-3.3.9
4、nexus安装目录:/home/nexus/nexus-2.13.0-01
5、rocketMq安装目录:/usr/share/alibaba-rocketmq
6、zookeeper安装目录:/usr/local/zookeeper.3.4.6
7、用git上传本地项目到github上



一、 Centos下安装jdk的方法
环境:Linux版本:CentOS 6.5、JDK版本:JDK 1.7
1.下载,然后解压
[root@localhost java]# curl -O http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz  
[root@localhost java]# tar -zxvf jdk-7u79-linux-x64.tar.gz
2.设置环境变量
[root@localhost java]# vi /etc/profile
添加如下内容:
 #set java environment 
JAVA_HOME=/usr/local/jdk1.7.0_79 
JRE_HOME=/usr/local/jdk1.7.0_79/jre 
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib 
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin 
export JAVA_HOME JRE_HOME CLASS_PATH PATH
让修改生效:
[root@localhost java]# source /etc/profile
4.验证
[root@localhost java]# java -version 
java version "1.7.0_79" 
Java(TM) SE Runtime Environment (build 1.7.0_79-b15) 
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)




二、 mysql的下载安装


环境:centos 6.5 x64
先下载mysql安装包
打开 http://dev.mysql.com/downloads/mysql/ 
选择 linux - Generic
 
再选择
 
下载完毕后,得到安装包 mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
此包不再需要make编译源代码(真是扛扛的),之前的mysql-5.6.4.tar.gz包是源码包,需要先cmake,再make & make install
上传到centos6.5的/software目录下(可以改为你需要的目录,这里只是演示)
ssh登录到centos6.5,开始执行以下命令


1.解压tar包
________________________________________
cd /software
tar -xzvf mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.21-linux-glibc2.5-x86_64 mysql-5.6.21


2.添加用户与组
________________________________________
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql mysql-5.6.21


3.安装数据库
________________________________________
su mysql
cd mysql-5.6.21/scripts
./mysql_install_db --user=mysql --basedir=/software/mysql-5.6.21 --datadir=/software/mysql-5.6.21/data
exit


4.配置文件
________________________________________
cd /software/mysql-5.6.21/support-files
cp my-default.cnf /etc/my.cnf
cp mysql.server /etc/init.d/mysql
vim /etc/init.d/mysql          #若mysql的安装目录是/usr/local/mysql,则可省略此步
修改文件中的两个变更值
basedir=/software/mysql-5.6.21
datadir=/software/mysql-5.6.21/data


5.配置环境变量
________________________________________
vim /etc/profile
export MYSQL_HOME="/software/mysql-5.6.21"
export PATH="$PATH:$MYSQL_HOME/bin"
保存退出
source /etc/profile


6.添加自启动服务
________________________________________
chkconfig --add mysql
chkconfig mysql on


7.启动mysql
________________________________________
service mysql start


8.登录mysql及改密码与配置远程访问
________________________________________
mysqladmin -u root password 'your_password'     #修改root用户密码
mysql -u root -p     #登录mysql,需要输入密码
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;     #允许root用户远程访问
mysql>FLUSH PRIVILEGES;     #刷新权::限
mysql>exit


9.彻底解决mysql中文乱码的办法(5.5以上)
#vim /etc /my.cnf 
[client]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
:wq


10.创建mysql新用户并未新用户授权
//给host用户设置任何机器都可以访问(user_db为database名称)
grant all on user_db.* to 'host'@'%' identified by '123456';  
//刷新mysql权限            
flush privileges;


11. 修改mysql root密码
# mysql -u root  ← 用root用户登录MySQL服务器
select user,host,password from mysql.user;  ← 查看用户信息
set password for root@localhost=password('在这里填入root密码');  ← 设置root密码
select user,host,password from mysql.user;  ← 查看用户信息
exit  ← 退出MySQL服务器


12. 删除mysql匿名用户
select user,host from mysql.user;  ← 查看用户信息
delete from mysql.user where user='';  ← 删除匿名用户
select user,host from mysql.user;  ← 查看用户信息


13.查看数据库
show databases;  ← 查看系统已存在的数据库
drop database test;  ← 删除名为test的空数据库
show databases;  ← 查看系统已存在的数据库
show tables;  ← 查看数据库中已存在的表
drop database name 直接删除数据库,不提醒
mysqladmin drop databasename 删除数据库前,有提示。
show tables; 显示表
describe tablename; 表的详细描述
重命名表: mysql > alter table t1 rename t2;


14. 提示”Access denied for user ‘root’@’localhost’ (using password: YES)”;
mysql -u root -p xxxx -h 127.0.0.1
grant all on *.* to 'root'@'localhost' identified by '123456';  


15. mysql max_allowed_packet 查询和修改
可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。
max_allowed_packet = 20M
如果找不到my.cnf可以通过
mysql --help | grep my.cnf
去寻找my.cnf文件。


16. service mysql start出错,mysql启动不了,解决mysql: unrecognized service错误
[root@ctohome.com ~]# service mysql start
mysql: unrecognized service
[root@ctohome.com ~]# service mysql restart
mysql: unrecognized service
 
[root@ctohome.com ~]# rpm -q mysql   查询发现mysql已经正常安装
mysql-5.1.52-jason.1


[root@ctohome.com ~]# /etc/rc.d/init.d/mysqld start  直接启动没问题
Starting mysqld:  [  OK  ]


 
[root@ctohome.com ~]# ls  /etc/rc.d/init.d/mysqld  -l
-rwxr-xr-x 1 root root 5509 Dec 18 02:31 /etc/rc.d/init.d/mysqld


[root@ctohome.com ~]# chkconfig mysqld on 设置mysql开机启动


[root@ctohome.com ~]# chmod 755 /etc/rc.d/init.d/mysqld  修改mysqld执行权限


[root@ctohome.com ~]# service mysqld start  搞定


三、 solr 的安装配置
1. 去http://apache.opencas.org/lucene/solr/5.5.0/下载Solr安装文件solr-5.5.0.tgz。
2. 将solr-5.5.0.tgz文件放到/tmp目录下,执行如下脚本:    
  # cd /tmp    
# tar -zxvf solr-5.5.0.tgz // 解压压缩包
3. 创建应用程序和数据目录
  # mkdir -p /data/solr /usr/local/solr
4. 创建运行solr的用户并赋权
# groupadd solr    
# useradd -g solr solr    
# chown -R solr.solr /data/solr /usr/local/solr
5. 安装solr服务
  # solr-5.5.0/bin/install_solr_service.sh solr-5.5.0.tgz -d /data/solr -i /usr/local/solr
6. 检查服务状态   
  # service solr status
7. 将会看到如下输出:   


Solr process 3359 running on port 8983
{
  "solr_home":"/data/solr/data",
  "version":"5.5.0 2a228b3920a07f930f7afb6a42d0d20e184a943c - mike - 2016-02-16 15:22:52",
  "startTime":"2016-03-22T02:35:52.306Z",
  "uptime":"0 days, 0 hours, 23 minutes, 38 seconds",
  "memory":"32.2 MB (%6.6) of 490.7 MB"}
  
 
四、 CentOs linux 安装nginx
、安装nginx 
    1、在nginx官方网站下载一个包,下载地址是:http://nginx.org/en/download.html 
    2、WinSCP(ftp上传工具).exe FTP 上传工具上传达到CentOS中 
    3、我是先建一个目录,把要用的到的安装包放到一起. 
    #mkdir /home/ 
    #tar zxf nginx-1.4.1.tar.gz 
    #cd nginx-1.4.1 
    4、安装pcre开发包 
    #yum install -y pcre-devel 
    5、如果安装出现在下面的错误是缺少编译环境。安装编译源码所需的工具和库 
    ./configure: error: C compiler cc is not found 
    #yum install gcc gcc-c++ ncurses-devel perl 
    6、安装cmake,从http://www.cmake.org下载源码并编译安装 
    #yum -y install make gcc gcc-c++ ncurses-devel 
    #yum -y install zlib zlib-devel 
    7、如果需要ssl功能需要openssl库 
    #yum -y install openssl openssl--devel 
    8、安装nginx 
    #cd nginx-1.4.1 
    #./configure --prefix=/opt/nginx 
    #make 
    #make install 
    9、启动服务 
    #/opt/nginx/sbin/nginx  -c /opt/nginx/conf/nginx.conf 
    10、停止服务 
     #/opt/nginx/sbin/nginx -s stop 
    11、查看端口占用情况 
    #netstat -tunlp 
    12、如果其它机器无法访问,解决方法如下: 
    #/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 
    #/etc/rc.d/init.d/iptables save 
    重启防火墙 
    #/etc/init.d/iptables restart


五、 CentOS6.5下ZooKeeper集群的安装、配置、高可用测试
原文链接:http://www.open-open.com/lib/view/open1454043410245.html
  Zookeeper集群中只要有过半的节点是正常的情况下,那么整个集群对外就是可用的。正是基于这个特性,要将ZK集群的节点数量要为奇数(2n+1:如3、5、7个节点)较为合适。
ZooKeeper与Dubbo服务集群架构图
                           
   
 
服务器1:192.168.1.81  端口:2181、2881、3881
服务器2:192.168.1.82  端口:2182、2882、3882
服务器3:192.168.1.83  端口:2183、2883、3883
 1、 修改操作系统的/etc/hosts文件,添加IP与主机名映射:
# zookeeper clusterservers
192.168.1.81  edu-zk-01
192.168.1.82  edu-zk-02
192.168.1.83  edu-zk-03
2、  下载或上传zookeeper-3.4.6.tar.gz到/home/wusc/zookeeper目录:
$ cd /home/wusc/zookeeper
$ wget http://apache.fayea.com/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
3、  解压zookeeper安装包,并按节点号对zookeeper目录重命名:
$ tar -zxvf zookeeper-3.4.6.tar.gz
服务器1:
$ mv zookeeper-3.4.6 node-01
服务器2:
$ mv zookeeper-3.4.6 node-02
服务器3:
$ mv zookeeper-3.4.6 node-03
4、  在各zookeeper节点目录下创建以下目录:
$ cd /home/wusc/zookeeper/node-0X  (X代表节点号1、2、3,以下同解)
$ mkdir data
$ mkdir logs
5、  将zookeeper/node-0X/conf目录下的zoo_sample.cfg文件拷贝一份,命名为zoo.cfg:
$ cp zoo_sample.cfg zoo.cfg
6、  修改zoo.cfg配置文件:
zookeeper/node-01:的配置(/home/wusc/zookeeper/node-01/conf/zoo.cfg)如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/wusc/zookeeper/node-01/data
dataLogDir=/home/wusc/zookeeper/node-01/logs
clientPort=2181
server.1=edu-zk-01:2881:3881
server.2=edu-zk-02:2882:3882
server.3=edu-zk-03:2883:3883


zookeeper/node-02的配置(/home/wusc/zookeeper/node-02/conf/zoo.cfg)如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/wusc/zookeeper/node-02/data
dataLogDir=/home/wusc/zookeeper/node-02/logs
clientPort=2182
server.1=edu-zk-01:2881:3881
server.2=edu-zk-02:2882:3882
server.3=edu-zk-03:2883:3883
zookeeper/node-03的配置(/home/wusc/zookeeper/node-03/conf/zoo.cfg)如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/wusc/zookeeper/node-03/data
dataLogDir=/home/wusc/zookeeper/node-03/logs
clientPort=2183
server.1=edu-zk-01:2881:3881
server.2=edu-zk-02:2882:3882
server.3=edu-zk-03:2883:3883
 参数说明:
tickTime=2000
tickTime这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳。
initLimit=10
initLimit这个配置项是用来配置Zookeeper接受客户端(这里所说的客户端不是用户连接Zookeeper服务器的客户端,而是Zookeeper服务器集群中连接到Leader的Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过10个心跳的时间(也就是tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 10*2000=20 秒。
syncLimit=5
syncLimit这个配置项标识Leader与Follower之间发送消息,请求和应答时间长度,最长不能超过多少个tickTime的时间长度,总的时间长度就是5*2000=10秒。
dataDir=/home/wusc/zookeeper/node-01/data
dataDir顾名思义就是Zookeeper保存数据的目录,默认情况下Zookeeper将写数据的日志文件也保存在这个目录里。
clientPort=2181
clientPort这个端口就是客户端(应用程序)连接Zookeeper服务器的端口,Zookeeper会监听这个端口接受客户端的访问请求。
  server.A=B:C:D
server.1=edu-zk-01:2881:3881
server.2=edu-zk-02:2882:3882
server.3=edu-zk-03:2883:3883
A是一个数字,表示这个是第几号服务器;
B是这个服务器的IP地址(或者是与IP地址做了映射的主机名);
C第一个端口用来集群成员的信息交换,表示这个服务器与集群中的Leader服务器交换信息的端口;
D是在leader挂掉时专门用来进行选举leader所用的端口。
注意:如果是伪集群的配置方式,不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。
7、 在dataDir=/home/wusc/zookeeper/node-0X/data下创建myid文件
编辑myid文件,并在对应的IP的机器上输入对应的编号。如在node-01上,myid文件内容就是1,node-02上就是2,node-03上就是3::wq
$ vi /home/wusc/zookeeper/node-01/data/myid  ## 值为1
$ vi /home/wusc/zookeeper/node-02/data/myid  ## 值为2
$ vi /home/wusc/zookeeper/node-03/data/myid  ## 值为3
8、  启动并测试zookeeper(要用wusc用户启动,不要用root):
(1)  使用wusc用户到/home/wusc/zookeeper/node-0X/bin目录中执行:
$ /home/wusc/zookeeper/node-01/bin/zkServer.shstart
$ /home/wusc/zookeeper/node-02/bin/zkServer.shstart
$ /home/wusc/zookeeper/node-03/bin/zkServer.shstart
(2)  输入jps命令查看进程:
$ jps
1456QuorumPeerMain
其中,QuorumPeerMain是zookeeper进程,说明启动正常
(3)  查看状态:
$ /home/wusc/zookeeper/node-01/bin/zkServer.sh status
(4)  查看zookeeper服务输出信息:
由于服务信息输出文件在/home/wusc/zookeeper/node-0X/bin/zookeeper.out
$ tail-500f zookeeper.out
9、停止zookeeper进程:
$ zkServer.sh stop
10、配置zookeeper开机使用wusc用户启动:
编辑node-01、node-02、node-03中的/etc/rc.local文件,分别加入:
su - wusc -c '/home/wusc/zookeeper/node-01/bin/zkServer.shstart'
su - wusc -c '/home/wusc/zookeeper/node-02/bin/zkServer.shstart'
su - wusc -c '/home/wusc/zookeeper/node-03/bin/zkServer.shstart'
二、安装Dubbo管控台(基础篇有讲,此处重点讲管控台如何链接集群):
Dubbo管控台可以对注册到zookeeper注册中心的服务或服务消费者进行管理,但管控台是否正常对Dubbo服务没有影响,管控台也不需要高可用,因此可以单节点部署。
IP: 192.168.1.81
部署容器:Tomcat7
端口:8080
1、  下载(或上传)最新版的Tomcat7(apache-tomcat-7.0.57.tar.gz)到/home/wusc/
2、  解压:
$ tar -zxvf apache-tomcat-7.0.57.tar.gz
$ mv apache-tomcat-7.0.57dubbo-admin-tomcat
3、  移除/home/wusc/dubbo-admin-tomcat/webapps目录下的所有文件:
$ rm -rf *
4、  上传Dubbo管理控制台程序dubbo-admin-2.5.3.war
到/home/wusc/dubbo-admin-tomcat/webapps
5、  解压并把目录命名为ROOT:
$ unzip dubbo-admin-2.5.3.war -d ROOT
把dubbo-admin-2.5.3.war移到/home/wusc/tools目录备份
$ mv dubbo-admin-2.5.3.war/home/wusc/tools
6、  配置dubbo.properties:
$ vi ROOT/WEB-INF/dubbo.properties
dubbo.registry.address=zookeeper://192.168.1.81:2181?backup=192.168.1.82:2182,192.168.1.83:2183
dubbo.admin.root.password=haihuan.123
dubbo.admin.guest.password=haihuan.123
(以上密码在正式上生产前要修改)
7、  防火墙开启8080端口,用root用户修改/etc/sysconfig/iptables,
# vi /etc/sysconfig/iptables
增加:
## dubbo-admin-tomcat:8080
-A INPUT -m state --state NEW -m tcp -p tcp--dport 8080 -j ACCEPT
重启防火墙:
# service iptables restart
8、  启动Tomat7
$ /home/wusc/dubbo-admin-tomcat/bin/startup.sh
9、  浏览http://192.168.1.81:8080/
 
10、配置部署了Dubbo管控台的Tomcat开机启动:
在虚拟主机中编辑/etc/rc.local文件,加入:
su - wusc -c'/home/wusc/dubbo-admin-tomcat/bin/startup.sh'
六、 RocketMQ 单机安装部署
链接地址1:http://www.jianshu.com/p/453c6e7ff81c
链接地址2:https://help.aliyun.com/document_detail/29532.html?spm=5176.doc29546.6.102.zgYeJx
解压alibaba-rocketmq-3.2.6.tar.gz
tar xvf alibaba-rocketmq.tar.gz -C /usr/share/
配置rocketmq的环境变量,配置Java环境变量 在/etc/profile最后添加
export JAVA_HOME=/usr/lib/jvm/java export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export ROCKETMQ_HOME=/usr/share/alibaba-rocketmq export PATH=$JAVA_HOME/bin:$ROCKETMQ_HOME/bin:$PATH
使rocketmq的环境变量生效
source /etc/profile
给下列命令可执行权限
/usr/share/alibaba-rocketmq/bin/
chmod +x mqadmin mqbroker mqfiltersrv mqshutdown mqnamesrv


进入/usr/share/alibaba-rocketmq/的bin目录, 执行 nohup sh mqnamesrv,该命令会启动namesrv,并把启动日志记录
在当前目录下的nohup.out文件中
[root@databasea bin]# nohup sh mqnamesrv -n 127.0.0.1:9876 &
[1] 21523 [root@databasea bin]# nohup: 忽略输入并把输出追加到"nohup.ou"   
用cat nohup.out命令查看nohup.out中的内容
cat nohup.out  
The Name Server boot success.   
The Name Server boot success表示 namesrv已 启动成功。
  再执行命令: nohup sh mqbroker -n 127.0.0.1:9876 &
该命令会启动broker, 并把启动日志记录到nohup.out中
[root@da bin]# nohup sh mqbroker -n "127.0.0.1:9876" &  
[2] 21557   [root@databasea bin]# nohup: 忽略输入并把输出追加到"nohup.out"   
用cat nohup.out命令查看nohup.out中的内容
cat nohup.out  
The Name Server boot success.   The broker[databasea, 10.1.5.26:10911] boot success. and name server is 127.0.0.1:9876  
可用jps命令查看java进程
[root@databasea bin]# jps   
输入命令: sh mqshutdown namesrv 可用来停止namesrv
[root@databasea bin]# sh mqshutdown namesrv   
输入命令: sh mashutdown broker 可用来停止broker
[root@databasea bin]# sh mqshutdown broker  
运维指令
查看集群情况
./mqadmin clusterList -n 127.0.0.1:9876
查看broker状态
./mqadmin brokerStatus -n 127.0.0.1:9876 -b 118.178.226.222:10911
查看topic列表
:
./mqadmin topicList -n 127.0.0.1:9876
查看topic状态
./mqadmin topicStatus -n 127.0.0.1:9876 -t PushTopic
查看topic路由
./mqadmin topicRoute  -n 127.0.0.1:9876 -t PushTopic
修改内存大小:
虚拟器内存比较小,所以启动前需要调节一下,启动的虚拟内存参数配置。
vi  ./alibaba-rocketmq/bin/runserver.sh   #nameserver 内存
vi  ./alibaba-rocketmq/bin/runbroker.sh  #broke内存
JAVA_OPT="-server -Xms256m -Xmx256m -Xmn128m -XX:PermSize=64m -XX:MaxPermSize=128m"(参考你自己的机器内存)






七、 Centos下使用yum安装Git具体步骤
  Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 是用于Linux 内核开发的版本控制工具。与常用的CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。
1、下载geekery.repo文件,具体操作如下:
找到存放yum文件的目录,命令如下:
cd /etc/yum.repos.d/
打开连接地址:http://geekery.altervista.org/geekery-el6-x86_64.repo,复制连接地址显示的内容,使用命令如下:
vim geekery.repo
将复制的内容添加到该文件中,esc :wq退出保存。
2、下载rpmforge-release rpm包,地址:http://packages.sw.be/rpmforge-release,之后执行安装命令如下:
rpm -ivh rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
3、下载epel-release rpm包,地址:http://rpm.pbone.net/,搜索epel-release,下载对应系统和适应的rmp包,之后执行安装命令如下:
rpm -ivh epel-release-6-8.1.noarch.rpm
4、安装Git执行命令如下:
yum -y install git
5、验证Git是否安装成功,命令如下:
git --version
6、添加用户Git,命令如下:
sudo useradd -r -s /bin/sh -c 'git version control' -d /home/git git
7、设置权限,代码如下:
mkdir -p /home/git   chown git:git /home/git




八、 maven的安装配置
1. 将下载好的apache-maven-3.0.5-bin.tar.gz包,用FTP工具传至服务器上。
2. 解压安装包
解压命令:
 
 
移至/usr/local下: 
  
 
 
 2.2.2 配置环境变量
1. 编辑/etc/profile,在末尾添加如下: 
 
 
保存退出,让系统重新执行下/etc/profile,命令:
source /etc/profile
查验是否安装成功:
 
 
九、 nexus的安装配置
1、我下载的是  nexus-2.13.0-01-bundle.tar.gz, 安装的jdk1.7版本
安装nexus,本地仓库默认的jar包存储位置是:/sonatype-work/nexus/storage/central。由于Central仓库占用存储较大,所以要注意存储位置。
我的安装位置/home/nexus目录下的,解压nexus-2.13.0-01-bundle.tar.gz后
drwxr-xr-x. 8 1001 1001 4096 Apr 12 22:11 nexus-2.13.0-01
 
drwxr-xr-x. 3 1001 1001 4096 Apr 12 22:21 sonatype-work
 
2、修改配置文件
[root@localhost nexus]# vim nexus-2.13.0-01/conf/nexus.properties
# Jetty section
application-port=8081
application-host=0.0.0.0
nexus-webapp=${bundleBasedir}/nexus
nexus-webapp-context-path=/nexus                 #可以去掉nexus,保留/ 
# Nexus section  nexus-work是jar包存放地址,可以修改为其它地址,也可以不修改
nexus-work=${bundleBasedir}/../sonatype-work/nexus
 
runtime=${bundleBasedir}/nexus/WEB-INF
 
3、修改jetty配置
[root@localhost nexus]# vim nexus-2.13.0-01/bin/nexus
# Set this to the root of the Nexus installation
#NEXUS_HOME=".."                                  #将这行注释掉,修改为下边的,
NEXUS_HOME="/home/nexus/nexus-2.13.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.
#RUN_AS_USER=
RUN_AS_USER=root                          #添加这行
# Application
APP_NAME="nexus"
 
APP_LONG_NAME="Nexus OSS"
 
4、将nexus设置为开机启动
[root@localhost nexus]# cd nexus-2.13.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]# chkconfig --add nexus
[root@localhost init.d]# chkconfig --list | grep nexus
nexus           0:off 1:off 2:on 3:on 4:on 5:on 6:off
 
[root@localhost init.d]# chkconfig nexus on
[root@localhost init.d]# chkconfig --list | grep nexus
nexus           0:off 1:off 2:on 3:on 4:on 5:on 6:off
 
[root@localhost init.d]# 
 
 
  说明:
nexus的仓库类型分为以下四种:
     group: 仓库组,用来合并多个hosted/proxy仓库,当你的项目希望在多个repository使用资源时就不需要多次引用了,只需要引用一个group即可。
     hosted:宿主 ,通常我们会部署自己的构件到这一类型的仓库。比如公司的第二方库。
     proxy:代理,它们被用来代理远程的公共仓库,如maven中央仓库。
     virtual:虚拟  
仓库组和多个仓库:  
Public Repositories:  仓库组  
3rd party: 无法从公共仓库获得的第三方发布版本的构件仓库  
Apache Snapshots: 用了代理ApacheMaven仓库快照版本的构件仓库  
Central: 用来代理maven中央仓库中发布版本构件的仓库  
Central M1 shadow: 用于提供中央仓库中M1格式的发布版本的构件镜像仓库  
Codehaus Snapshots: 用来代理CodehausMaven 仓库的快照版本构件的仓库  
Releases: 用来部署管理内部的发布版本构件的宿主类型仓库  
 
Snapshots:用来部署管理内部的快照版本构件的宿主类型仓库 
 
5、启动nexus
[root@localhost init.d]# cd /home/nexus/nexus-2.13.0-01/bin/
[root@localhost bin]# ./nexus start                        #启动nexus
****************************************
WARNING - NOT RECOMMENDED TO RUN AS ROOT
****************************************
Starting Nexus OSS...
Started Nexus OSS.
 
6、浏览器查看是否OK!
http://172.17.123.137:8081/nexus/
 默认的用户名/密码是:admin、admin123,登录后自己修改密码;
 
7、如果想从远处中央库下jar包,则需要开启远处索引
      登录后,我这个版本点击左侧菜单 Views/Repositories 下的 Repositories 菜单;Apache Snapshots和Central,分别展示如下图:


 
 保存后,就它就会自动下载中央库的jar包了,点击configuration 菜单前的Browse Index 可以查看是否下载成功;在左边菜单栏里面有个Artifact Search, 在输入框里面输入你想要搜索的构件名字,比如:maven, 那么查询结果就出出来了。
 
8、管理本地仓库
    我们前面讲到类型为hosted的为本地仓库,Nexus预定义了3个本地仓库,分别是Releases, Snapshots, 3rd Party. 分别讲一下这三个预置的仓库都是做什么用的:
  Releases:
     这里存放我们自己项目中发布的构建, 通常是Release版本的, 比如我们自己做了一个FTP Server的项目, 生成的构件为ftpserver.war, 我们就可以把这个构建发布到Nexus的Releases本地仓库. 关于符合发布后面会有介绍.
  Snapshots:
     这个仓库非常的有用, 它的目的是让我们可以发布那些非release版本, 非稳定版本, 比如我们在trunk下开发一个项目,在正式release之前你可能需要临时发布一个版本给你的同伴使用, 因为你的同伴正在依赖你的模块开发, 那么这个时候我们就可以发布Snapshot版本到这个仓库, 你的同伴就可以通过简单的命令来获取和使用这个临时版本.
  3rd Party:
 
    顾名思义, 第三方库, 你可能会问不是有中央仓库来管理第三方库嘛,没错, 这里的是指可以让你添加自己的第三方库, 比如有些构件在中央仓库是不存在的. 比如你在中央仓库找不到Oracle 的JDBC驱动, 这个时候我们就需要自己添加到3rdparty仓库。
       首先我们可以创建本地仓库:Views/Repositories 下的 Repositories 菜单展示界面上添加仓库,如下图:


 
 出现界面如下所示:


 
 我填写:chbigdata  和 chbigdata repository  保存就OK;
 
9、创建仓库组
        Nexus 中仓库组的概念是Maven没有的,在Maven看来,不管你是hosted也好,proxy也好,或者group也好,对我都是一样的,我只管根据 groupId,artifactId,version等信息向你要构件。为了方便Maven的配置,Nexus能够将多个仓库,hosted或者 proxy合并成一个group,这样,Maven只需要依赖于一个group,便能使用所有该group包含的仓库的内容。
       Nexus 中默认自带了一个名为“Public Repositories”组,点击该组可以对他保护的仓库进行调整,把刚才建立的公司内部仓库zfy repostiory加入其中,这样就不需要再在maven中明确指定内部仓库 的地址了。
     创建仓库组还是创建仓库的地方点击,如下图:


 
 弹出相关界面,说明如下


 
 
 
10、创建代理仓库(可选)
点击菜单栏上的Add按钮后选择Proxy Repository,看到如下所示配置界面:


 
 
到此,基本上就OK了,
 
 
11、项目中如何使用私服
     maven 的setting设置;通过前面介绍可以了解到, 我们可以建立多个proxy代理仓库,hosted本地仓库, 如果没有仓库组的概念,我们如果需要引用这些仓库的是时候需要一一加入到我们的setting.xml里面去, 有了仓库的组的概念, 我们只需要做一次引用就可以了,把我们需要的仓库加入到仓库组即可。如下图:


 
 
仓库组默认包含本地仓库Releases,snapshots, 3rd party和代理仓库MavenCentral. 你可以在Configuration配置页添加仓库到这个仓库组. 如果需要你还可以创建一个仓库组,在Repositories菜单处选add-->Repository Group即可
 
12、  项目中配置Nexus仓库
  如果只有一个项目,可以配置在项目的pom文件中


 
 
如果有多个项目都使用Nexus的配置,可以将如上皮遏制放到Maven的Settings文件中:




 
 
 13、配置仓库镜像 
 默认的,如果本地仓库找不到依赖的构件,这时需要东西时先到Nexus上找,如果发现Nexus服务关闭后,会自动到中央仓库找。
  如果我们想覆盖中央仓库的默认地址,强制依赖的东西都到Nexus中去找,即使Nexus关闭也不会到中央工厂去下载:
  修改Maven的Settings文件:


 
 
注意,如果本地仓库有东西,但Nexus中没有,需要将该东西考到Nexus仓库中,然后更新仓库索引:




 
 


 
 








十、 用git上传本地项目到github上
github是一个基于git协议的代码仓库,可以用git管理自己的github,这里学习下上传本地项目到github
工具/原料
git
浏览器
方法/步骤
1. 首先确认自己已经安装了git,打开git bash,输入ssh-keygen -t rsa -C "自己的邮箱地址@XXX.com" ,生成自己的公钥与私钥
 
2. 一路默认回车,会生成公钥、私钥到以下文件夹下id_rsa是私钥,id_rsa.pub是公钥,打开公钥等下要用到
 
3. 浏览器进入自己的github,打开设置,进入ssh and GPG keys
 
 
4. 点击NEW ssh key,自己填个标题,下面内容复制前面打开的公钥,最后添加
 
 
5. 可以用ssh -T git@github.com测试自己是否可以连接成功了,中间有个输入需要输入yes,后面可以看到Hi XXXX..... access 表示成功。
 
6. 连接成功后,需要设置用户信息
 
7. 到浏览器github上创建个项目,记好创建成功后的https,下面要用
 
 
8. git bash转到本地的工程目录,输入以下命令,如果本地工程目录中已经有所要上传的文件,需要git add *添加,然后再git commit -m"XXXX"及git push上去,中间会有询问用户名及密码
 
 




推荐阅读
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
    本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
  • 本文介绍了在sqoop1.4.*版本中,如何实现自定义分隔符的方法及步骤。通过修改sqoop生成的java文件,并重新编译,可以满足实际开发中对分隔符的需求。具体步骤包括修改java文件中的一行代码,重新编译所需的hadoop包等。详细步骤和编译方法在本文中都有详细说明。 ... [详细]
  • SpringMVC工作流程概述
    SpringMVC工作流程概述 ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
author-avatar
穆羽默然
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有