1. 程式人生 > >Linux伺服器搭建概要(二)

Linux伺服器搭建概要(二)

環境資訊

centos7.2

安裝目錄

maven下載與安裝

1. 安裝前工作

下載與安裝

下載
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
解壓
tar -zxvf apache-maven-3.5.4-bin.tar.gz
移動並且改名
mv apache-maven-3.5.4 ./../apache-maven-3.5.4
檢視位置
[[email protected] apache-maven-3.5
.4]# pwd /usr/local/java/apache-maven-3.5.4

編輯配置

vim /etc/profile
增加以下配置
export MAVEN_HOME=/usr/local/java/apache-maven-3.5.4
export PATH=${PATH}:${MAVEN_HOME}/bin
檔案生效
source /etc/profile

檢視是否安裝成功

[[email protected] apache-maven-3.5.4]# mvn -v
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018
-06-18T02:33:14+08:00) Maven home: /usr/local/java/apache-maven-3.5.4 Java version: 1.8.0_151, vendor: Oracle Corporation, runtime: /usr/java/jdk1.8.0_151/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-862.9.1.el7.x86_64", arch: "amd64", family: "unix"

GIT下載與安裝

1. 安裝前工作

下載

下載
wget https://www.kernel.org/pub/software/scm/git/git-2.9.2.tar.gz
解壓
tar   -xzvf   git-2.9.2.tar.gz
移動並且改名
mv git-2.9.2 ./../git-2.9.2
檢視位置
[[email protected] git-2.9.2]# pwd
/usr/local/java/git-2.9.2

安裝

#進入解壓後的git目錄後,執行:
./configure
#執行編譯
make all prefix=/usr/local/git 
#編譯完成後, 安裝到 /usr/local/git 目錄下
make install prefix=/usr/local/git

安裝常見依賴問題
如果想省事請直接安裝一下依賴包

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
[[email protected] git-2.9.2]# make install
GIT_VERSION = 2.9.2
    * new build flags
    CC credential-store.o
In file included from credential-store.c:1:0:
cache.h:40:18: fatal error: zlib.h: No such file or directory
 #include <zlib.h>
                  ^
compilation terminated.
make: *** [credential-store.o] Error 1
#出現錯誤,增加zlib依賴
rpm -qa | grep zlib檢視是否安裝zlib
#沒有安裝
yum install zlib
#下面的這個需要安裝
yum install zlib-devel


[[email protected] git-2.9.2]# make install
/usr/bin/perl Makefile.PL PREFIX='/usr/local' INSTALL_BASE='' --localedir='/usr/local/share/locale'
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 3.
BEGIN failed--compilation aborted at Makefile.PL line 3.
make[1]: *** [perl.mak] Error 2
make: *** [perl/perl.mak] Error 2
需要安裝perl的一個模組:perl-ExtUtils-Embed
 yum install perl-ExtUtils-Embed -y

檢視結果

git --version

建立賬號

#為我們剛剛搭建好的 git 建立一個賬號
useradd -m gituser(自己的賬號)
#然後會讓你輸入密碼(密碼應該需要特殊符號+資料+大小寫字母)
passwd gituser(剛剛建立的使用者名稱) 

建立 git 倉庫並初始化

mkdir -p /data/repositories
cd /data/repositories/ 
git init --bare testGit.git

配置使用者許可權

#給 git 倉庫目錄設定使用者和使用者組並設定許可權:
chown -R gituser:gituser /data/repositories
chmod 755 /data/repositories
#查詢 git-shell 所在目錄
(預設在/usr/local/git/bin/git-shell,如果不在用: which git-shell指令查詢)
# 編輯 /etc/passwd 檔案,將最後一行關於 gituser 的登入 shell 配置改為 g
gituser:x:1000:1000::/home/gituser:/usr/local/bin/git-shell

使用搭建好的 Git 服務

#克隆 test repo 到本地:
git clone gituser@ip:/data/repositories/test.git

jenkins下載與安裝

Jenkins是一個Master-Slave的架構,它可以把任務釋出到不同的節點上執行,典型的應用場景是你有2個執行環境,一個是測試環境,一個是生產環境,你可以指定工作流中,哪些任務在測試環境中執行,哪些任務在生產環境中執行。當然,如果你沒有這樣的需求,也可以不配置Slave.

安裝說明

本文是在linux伺服器上安裝的,使用時在windows上安裝即可,他是在windos上安裝好jenkins之後,然後再把本地jenkins打好的war包釋出到linux伺服器上,然後執行自定義的操作(如啟動Tomcat[在jenkins上可以指定把本地的war包上傳到linux伺服器上的某個資料夾的位置,然後你可以移到到tomcat的webapp中然後再發布,這些都可以使用shell命令完成]

1. 安裝前工作

安裝方式(四種)
1. 離線安裝

## http://pkg.jenkins-ci.org/redhat/
wget http://pkg.jenkins-ci.org/redhat/jenkins-2.39-1.1.noarch.rpm ## 下載(也可以Windows下載再轉過來)
sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins.io.key ## 公鑰
sudo yum -y install jenkins-*.noarch.rpm
  1. 線上安裝
## http://pkg.jenkins-ci.org/redhat/
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
sudo yum -y install jenkins 
  1. 基於 Tomcat 安裝
安裝並啟動 Tomcat;
從官網下載 jenkins.war 至 $CATALINA_BASE/webapps,Tomcat 會自動部署;
瀏覽器訪問:http://centos:8080/jenkins/
  1. 免安裝方式
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
sudo java -jar jenkens.war ## 啟動服務,直至看到日誌 `Jenkins is fully up and running`
curl http://localhost:8080/ ## Jenkins 已就緒

密碼破解

cd /var/lib/jenkins/users/admin #此為admin使用者的目錄,也可以對應自己建立的使用者 
vim config.xml //定位到<passwordHash>那一行 
刪除改行,改為 
<passwordHash>#jbcrypt:$2a$10$pDQks0ytOkCfmpdgpLygrOC3uY7i/XnZHBKRQDhrBPwKoN2f5Kz8C</passwordHash> 
重啟一下jenkins 
新密碼為admin

啟動與關閉

#關閉
service jenkins stop
#狀態
service jenkins status
#啟動
service jenkins start
#設定為自動啟動
chkconfig jenkins on

jenkins安裝中文顯示

前提:先安裝外掛:Locale plugin

配置如下:

 jienkins->【系統管理】->【系統設定】->【Locale】,輸入:zh_CN,這裡還有很多語言,比如:en_US等都是國際化標誌。

訪問埠登入

#檢視密碼
cat /var/lib/jenkins/secrets/initialAdminPassword

配置maven,jdk,git(如果沒有git外掛配置項,去安裝git的相關外掛)

針對之前手動安裝的maven需要在web介面配置進行結合。

系統管理—全域性工具配置(Maven Configuration)配置:

對應的英文配置目錄為

jenkins

——Manage Jenkins

———-Global Tool Configuration
然後配置Maven Configuration(配置maven的setting.xml位置)和JDK(java_home的位置)和Maven三項(maven_home的位置)

配置系統的一些屬性
https://img-blog.csdn.net/2018081515194543?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2E2NTY2Nzg4Nzk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70

自動部署方式

使用jenkins搜尋外掛Publish Over SSH安裝重啟

jenkins建立專案的時候沒有“建立一個maven專案的解決方案”

 點選“可選外掛”  然後在右邊的過濾輸入框中輸入搜尋關鍵字: Maven Integration Plugin  或者 Pipeline Maven Integration Plugin ,搜尋到了以後,點選直接安裝,
 安裝完成後重啟就好了。

配置Publish over SSH

在系統管理-》系統設定裡找到Publish over SSH

配置如下
https://img-blog.csdn.net/20180815173638756?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2E2NTY2Nzg4Nzk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70

接著配置我們的專案
https://img-blog.csdn.net/20180816174734873?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2E2NTY2Nzg4Nzk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70
講解:

Transfer SetSource files:表示要上傳的本地的war包及路徑(注意:相對於工作區的路徑。看後面的配置可以填寫多個,預設用,分隔)

Remove prefix:表示要上傳時要去除的資料夾,移除目錄(只能指定Transfer Set Source files中的目錄,這裡移除了target目錄表示只將FinServer.war傳到目標伺服器,否則會在目標伺服器建立target目錄)

remote driectory:即表示執行時的路徑,相當於把war包上傳到這裡了。遠端目錄(根據你的需求填寫,這裡沒有填寫預設會繼承系統配置,即/mnt)

exec commad:要執行的命令;把你要執行的命令寫在裡面(這裡的命令是在目標伺服器上執行的)

構建ssh自動釋出的注意點

Jenkins搭建過程中,使用 Publish Over SSH 外掛。發生 SSH: Transferred 0 file(s)。

配置如下:

Source files      **/* 表示{projectName}這個job的工作目錄下所有的檔案和目錄(這個是你本地生成的war專案,將要上傳發布的war包我寫的是target/*.war)。
Remove prefix   該操作是針對上面的source files目錄,會移除匹配的目錄。通常留空(我寫的是target/)。
Remote directory 該操作是基於設定的伺服器目錄進行(這個將source files的war上傳到伺服器上的位置,我寫的是/usr/local/java/apache-tomcat-8.0.47-jenkins/projectTemp)。
Exec command 遠端伺服器執行的命令。例如可以輸出 service jenkins restart 或者 /home/xx. sh 均可(這個是上傳成功之後執行的遠端伺服器命令我寫的是(sh /usr/local/java/apache-tomcat-8.0.47-jenkins/bin/restart.sh web-test)其中web-test是我寫的shell命令傳遞的引數)。
總結

      原始檔 不要填絕對路徑,要寫相對路徑。 舉個栗子: 我的jar包路徑是: /var/lib/jenkins/workspace/erp/target/erp.jar    這裡要填 target/*。

自動執行指令碼
restart.sh

#!/bin/sh  
#defined
path=$(cd `dirname $0`; pwd)
echo curr path:${path}
projectName=$1
if [ ! -n "$1" ] ;then
 echo THE ONE PARAMTER IS NULL!
 exit
else
 echo The One Paramter IS TRUE AND THE SERVICE PROJECT IS :${projectName}
fi
echo ===stop service===
sh /usr/local/java/apache-tomcat-8.0.47-jenkins/bin/shutdown.sh
echo ===waiting===
for ((i=10;i>=5;i--))
   do
    echo "wait:$i"
    sleep 1s
   done
echo "*****************"
echo CHECK PATH IS EXISTS:/usr/local/java/apache-tomcat-8.0.47-jenkins/webapps/${projectName}.war
if [ -f "/usr/local/java/apache-tomcat-8.0.47-jenkins/webapps/${projectName}.war" ]; then
    echo "TRUE"
    echo "THE PATH IS EXISTS SERVICE PROJECT IS ${projectName}.war ,WILL REMOVE THE SERVICE PROJECT!"
    rm -rf ${projectName}
    rm -rf ${projectName}.war
else
    echo "FALSE"
fi
echo ===cp the Project===
cp /usr/local/java/apache-tomcat-8.0.47-jenkins/projectTemp/${projectName}.war /usr/local/java/apache-tomcat-8.0.47-jenkins/webapps/${projectName}.war
echo ===waiting===
for ((i=4;i>=0;i--))
   do
    echo "wait:$i"
    sleep 1s
   done
echo "*****************"
#sleep 1s 表示延遲一秒  
#sleep 1m 表示延遲一分鐘  
#sleep 1h 表示延遲一小時  
#sleep 1d 表示延遲一天  
echo ===start Service===
sh /usr/local/java/apache-tomcat-8.0.47-jenkins/bin/startup.sh

講解:

步驟:
先停掉tomcat
刪除webapp下對應的war包
複製war到webapps
重啟tomcat

構建

點選構建-就會運行了

相關推薦

Linux伺服器搭建概要()

環境資訊 centos7.2 安裝目錄 maven下載與安裝 1. 安裝前工作 下載與安裝 下載 wget http://mirrors.tuna.tsing

Linux伺服器搭建概要(四)

環境資訊 centos7.2 安裝目錄 zookeeper下載與安裝 zookeeper下載與安裝 1. 安裝前工作 下載zookeeper傳送門 基本介紹 1 zookeeper是一個類似hdfs的樹形檔案結構,zookeeper可以用來保

Linux伺服器搭建概要(三)

環境資訊 centos7.2 安裝目錄 Nexus下載與安裝 Nexus下載與安裝 1. 安裝前工作 下載nexus傳送門 下載與安裝 下載 wget "https://sonatype-download.global.ssl.fastly.

linux伺服器搭建之路4-開機自動掛載ntfs硬碟

我們都知道,linux本身是不支援nfts硬碟掛載的,不過在工具ntfs-3g的支援下,可以實現這個功能。 1. 安裝ntfs-3g 第一種方式:yum install ntfs-3g 如果安裝失敗,則

linux伺服器搭建之路6-centos7安裝matlab2017b

因為要用到SPM12,所以不得不安裝matlab,選擇版本2017b,下載地址:(如果下載連結失效,評論後我發新的地址) 下載地址:連結:https://pan.baidu.com/s/1d5EVuJ5

Linux伺服器搭建redis

Linux下安裝redis redis介紹: 安裝檔案目錄:usr/local/redis $ wget http://download.redis.io/releases/redis-2.8.17.tar.gz $ tar xzf redis-2.8.17.tar.gz $ cd

linux伺服器搭建之路11-關聯github使用

git的好處不用說,也確實對工作有很大的幫助。 1. 安裝git並關聯github 2. 本地倉庫初始化步驟 git init git add 'file" git commit -m 'firs

Linux伺服器搭建wordpress

1.首先從https://cn.wordpress.org下載最新的wordpres安裝包 2.將安裝的檔案傳到伺服器 scp -r wordpress-4.9.4-zh_CN.tar.gz [email protected]**.**.**:/opt/ 3.解壓安

騰訊雲Linux伺服器搭建(八) 伺服器硬碟容量的監視指令碼實現

     昨天發生一件事兒,騰訊雲主機登入後,有一些命令執行失敗,提示硬碟容量不足。df -h 一看,硬碟容量用了100%。還好df/du能使用。用du 查了一下大檔案,發現時tomcat的日誌檔案有兩個異常,兩個都是十幾個G,把殘留的三十多個G的容量都佔了。每個留了1000

騰訊雲Linux伺服器搭建(九) Linux上DB2的客戶端實現資料的備份和恢復

問題:DB2伺服器裝在AIX上,不允許直接利用伺服器做資料的匯出匯入。但是由於專案需要,需要頻繁的對一些表進行資料的備份和恢復。所以只能在一個其他伺服器上安裝DB2客戶端,通過客戶端來實現資料的備份和恢復。 思路:先從IBM官網下載客戶端;然後安裝到一個應用伺服器上(Cen

Linux伺服器搭建Java開發環境(jdk+mysql+tomcat+maven)

1、安裝mysql服務 (1)、更新軟體源,命令:apt-get update (2)、依次使用命令: sudo apt-get install mysql-server sudo apt install mysql-client sudo apt install libm

騰訊雲Linux伺服器搭建(七) Apache+Tomcat+HTTPS加密的配置

       前面已經在一個主機上安裝了apache+git+openssl,實現了git伺服器的https驗證。還安裝了tomcat,在tomcat上架起了tomcat manager,Jenkins,和微信小程式的後臺程式。由於微信小程式必須走https,而且必須用預設埠

騰訊雲Linux伺服器搭建(四) Git伺服器搭建(通過https驗證)

先安裝git: 下載 #wget https://github.com/git/git/archive/v2.9.2.tar.gz 解壓 # tar zxvf v2.9.2.tar.gz # cd git-2.9.2 編譯安裝 # make configure # ./co

Redis學習筆記()— 在linux搭建redis伺服器

搭建環境:linux是centos7.4(請注意centos7以下版本的防火牆跟centos7以上的會有所區別,使用redis客戶端連線redis時會有區別,建議使用centos7以上版本)一、下載linux版本的redis二、安裝1、使用SecureCRT工具將redis壓

Linux伺服器使用Gitblit搭建Git伺服器之使用war包部署在Tomcat下(

上次介紹了使用安裝的方式使用GitBilit搭建git伺服器,這次介紹一個更簡單的方式:使用gitblit 的war包 1、安裝git這裡不是重點,請自行baidu。 4、部署war包,想必大家應該不陌生吧,這裡就不做贅述了(還是說一句吧,把wa

Linux搭建DNS 多域名解析

linux搭建dns二 多域名解析Linux搭建DNS二 多域名解析繼續上一篇文章svr5 服務端 Centtos6 192.168.4.5pc205 客戶端 Centos6 192.168.4.405域名hellc.cnhellc.com.cn--------------------------------

[原創]基於Zynq Linux環境搭建()

alt boa per inux class arch can 解壓 arc 在此篇,我們編譯UBOOT 解壓: [#17#17:26:56 FPGADeveloper@ubuntu ~/Zybo_Demo]$tar zxvf *.tar.gz    在

Linux—CentOS7.4-DNS搭建主、從域名同步服務器)

roc 查看 update try gre 服務器驗證 .com entos centos7.4 環境:兩臺Linux服務器主服務器IP地址:192.168.80.10從服務器IP地址:192.168.80.20 第一步:主服務器配置[root@localhost ~]#

Linux—CentOS7.4-DNS搭建分離解析的DNS服務器)

host ems med 顯示 ces win7 域名 firewall dns服務 環境:Linux服務器一臺(雙網卡)內網IP:192.168.80.180 外網IP:192.168.90.180 Linux客戶端一臺,IP地址:192.16

Docker for Windows安裝與Linux+PHP開發環境搭建

Docker for Windows安裝與Linux+PHP開發環境搭建(二) 上一篇講了docker安裝與環境搭建的步驟,這一次主要是介紹過程中遇到的錯誤情形及其錯誤處理方法: 1).執行docker pull local.registry.com:5000/php 或其他連線本地