1. 程式人生 > >服務器集成環境搭建

服務器集成環境搭建

編輯 metadata war包 data- shel del 當前 ln -s 部署

從零開始模擬搭建項目的服務器環境及運行環境,所有操作在本地VMware虛擬機上完成,系統使用RedHatEnterpriseLinux6的ISO。

1、安裝yum源

由於redhat6.5的yum功能是需要註冊費用的,所以自帶的yum並不可用,想要使用免費的yum,可以用Centos6的yum源,配置自己的yum源。(可以先用yum list檢查yum源是否可用,如果出現很多安裝包,說明可用,則可以跳過這一步,如果報錯說明不可以)

① 查看已安裝的yum包:rpm -qa|grep yum

② 卸載yum軟件包:rpm -qa|grep yum|xargs rpm -e --nodeps

③ 下載yum安裝文件(註意機器是32位還是64位的):

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/python-urlgrabber-3.9.1-11.el6.noarch.rpm
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-3.2.29-81.el6.centos.noarch.rpm
wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm

④ 安裝yum:

rpm -ivh python-urlgrabber-3.9.1-11.el6.noarch.rpm
rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm
rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
rpm -ivh yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm yum-3.2.29-81.el6.centos.noarch.rpm (這兩個要一起安裝,有依賴關系)

⑤ 更改成163的yum源:

進入源目錄:cd /etc/yum.repos.d/

下載163源:wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

把文件裏面的$releasever全部替換為版本號6:sed -i ‘s#$releasever#6#g‘ CentOS6-Base-163.repo

⑥ 清除原有緩存:yum clean all

⑦ 重建緩存,以提高搜索安裝軟件的速度:yum makecache

⑧ 更新系統:yum update

⑨ gcc等環境安裝,後續有些軟件安裝需要這些基礎環境

gcc安裝:yum install gcc-c++
PCRE pcre-devel 安裝:yum install -y pcre pcre-devel
zlib 安裝:yum install -y zlib zlib-devel
OpenSSL 安裝:yum install -y openssl openssl-devel

2、JDK安裝

① 由於jdk下載需要接受條款的原因,所以下載後使用FlashFXP從本地上傳到服務器。

② 進入/usr/local/src,解壓jdk:tar -zxvf jdk-8u172-linux-x64.tar.gz

③ 將解壓的jdk移動到/usr/local/:mv jdk1.8.0_172 /usr/local/

④ 配置環境變量:

$ vim /etc/profile

在最後添加如下環境變量:

export JAVA_HOME=/usr/local/jdk1.8.0_172
export JRE_HOME=/usr/local/jdk1.8.0_172/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

保存退出後輸入命令使配置生效:source /etc/profile

⑤ 驗證jdk:java –version

3、Tomcat安裝

① 準備tomcat:

下載:wget  http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.30/bin/apache-tomcat-8.5.30.tar.gz

解壓:tar –zxvf apache-tomcat-8.5.30.tar.gz

將tomcat復制一份到/local/src/下,作為項目的服務器:cp -r apache-tomcat-8.5.30 /usr/src/tomcat-ljz

② 修改配置:

修改/conf/server.xml,在8080端口Connector增加兩項。

技術分享圖片

修改/conf/context.xml,增加數據源

技術分享圖片

修改/bin/catalina.sh,在開頭增加如下配置

技術分享圖片

③ 進入/usr/src/tomcal-ljz/bin

啟動Tomcat:./startup.sh

關閉Tomcat:./shutdown.sh

④ Linxu防火墻設置:

在/etc/sysconfig/iptables中設置允許端口:vim /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT 

重啟防火墻:service iptables restart;
之後就可以從虛擬機外部訪問80/8080端口了

4、Nginx安裝

① 準備nginx:

下載:wget http://nginx.org/download/nginx-1.8.1.tar.gz

解壓:tar -zxvf nginx-1.8.1.tar.gz

進入目錄:cd nginx-1.8.1

② 配置nginx:

./configure --prefix=/usr/src/nginx --with-http_stub_status_module --with-http_ssl_module

--prefix=PATH :指定 nginx 的安裝目錄

--with-http_ssl_module :使用https協議模塊

--with-http_stub_status_module :用來監控 Nginx 的當前狀態

③ 編譯安裝:make && make install

④ 查看nginx版本:

進入安裝目錄:cd /usr/src/nginx/sbin

查看版本:./nginx -v

⑤ 配置nginx.conf,進入conf目錄:cd /usr/src/nginx/conf

將原始nginx.conf備份:cp  nginx.conf  nginx.conf.bak

使用nginx.conf替換/usr/src/nginx/conf/nginx.conf

創建門戶網站目錄:mkdir /usr/src/ljzsg_mt

檢測配置文件的正確性:./nginx –t

⑥ 設置開機啟動

編輯/etc/rc.local:vim /etc/rc.local

添加一行:/usr/src/nginx/sbin/nginx

之後,開機會自動啟動nginx

⑦ nginx 命令

進入nginx目錄:cd /usr/src/nginx/sbin

啟動服務:./nginx

停止服務:./nginx –s stop

重啟服務:./nginx –s reopen

重新載入配置文件:./nginx –s reload

5、Node安裝

① 準備node

下載:wget  https://nodejs.org/dist/v8.9.4/node-v8.9.4-linux-x64.tar.gz

解壓:tar  –zxvf  node-v8.9.4-linux-x64.tar.gz

移動到/usr/local/:mv node-v8.9.4-linux-x64 /usr/local/node-v8.9.4

② 創建軟鏈接:

ln -s /usr/local/node-v8.9.4/bin/node /usr/local/bin/node
ln -s /usr/local/node-v8.9.4/bin/npm /usr/local/bin/npm

驗證:
    node -v
    npm -v

6、Redis安裝

① 準備Redis

下載:wget http://download.redis.io/releases/redis-4.0.6.tar.gz

解壓:tar -zxvf redis-4.0.6.tar.gz

移動到/usr/local/下:mv redis-4.0.6 /usr/local/ redis

進入目錄:cd /usr/local/redis

② 編譯:make

③ 修改配置文件:vim redis.conf

將redis設置為守護進程,不然啟動時會一直占著終端
daemonize  yes

關閉守護模式,否則外部訪問不了redis,正式環境可不改.
protected-mode  no

註釋掉bind,否則其它地址無法訪問redis

④ 設置開機啟動

編輯/etc/rc.local:vim /etc/rc.local

添加一行:/usr/local/redis/src/redis-server  /usr/local/redis/redis.conf

之後,開機會自動啟動redis

⑤ 啟動/停止服務:

進入redis目錄:cd /usr/local/redis/src

啟動服務:./redis-server ../redis.conf

停止服務:./redis-cli shutdown

7、Git安裝

① 準備Git

下載:wget https://www.kernel.org/pub/software/scm/git/git-2.9.4.tar.gz

解壓:tar -zxvf git-2.9.4.tar.gz

② 安裝編譯Git時需要的包

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

yum install gcc perl-ExtUtils-MakeMaker

③ 刪除已有的git:yum remove git

④ 編譯安裝

cd /usr/local/src/git-2.9.4

安裝到/usr/local/git目錄:./configure --prefix=/usr/local/git

編譯安裝:make && make install

⑤ 創建軟鏈並測試

ln -s /usr/local/git/bin/*  /usr/local/bin/

測試git:git --version

8、Maven安裝

① 準備maven

下載:wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz

解壓:tar -zxvf apache-maven-3.3.9-bin.tar.gz

移動到/usr/local:mv apache-maven-3.3.9 /usr/local/maven3

② 添加環境變量

vim /etc/profile

在最後添加如下兩行:
export MAVEN_HOME=/usr/local/maven3
export PATH=$MAVEN_HOME/bin:$PATH

使環境變量生效:source /etc/profile

③ 檢驗maven:mvn -v

9、Jenkins安裝

將jenkins war包放入Tomcat中托管運行,可在https://jenkins.io/download/下載war包。

① 準備Jenkins Tomcat容器

復制一份tomcat:mv /usr/local/src/apache-tomcat-8.5.30 /usr/src/tomcat-jenkins-8090

設置端口為8090:
         cd tomcat-jenkins-8090/conf/
         vim server.xml

技術分享圖片

修改端口,避免和ljzsg服務器的端口沖突

技術分享圖片

技術分享圖片

開放8090端口

vim /etc/sysconfig/iptables

添加:-A INPUT -m state --state NEW -m tcp -p tcp --dport 8090 -j ACCEPT

重啟防火墻:service iptables restart

② 將jenkins war包放入webapps目錄下

③ 啟動tomcat:

cd tomcat-jenkins-8090/bin/

./startup.sh

10、部署服務

① 訪問jenkins網站做一些配置:http://192.168.0.0:8090/jenkins/

顯示解鎖jenkins頁面:第一次運行Jenkins時,會在~目錄下創建一個.jenkins的隱藏文件夾來存儲Jenkins的配置文件和插件庫,初始化的用戶名和密碼也在裏邊,登錄時需要用到。從/root/.jenkins/secrets/initialAdminPassword復制密碼並填入繼續。

技術分享圖片

② 登錄成功之後跳轉到插件選擇頁面。Jenkins作為一個框架,裏邊很多功能的集成是基於插件的,比如git插件可以從git獲取源碼,maven插件可以執行maven命令等等。我們選擇左邊的,自動安裝可支持的插件。重要插件安裝失敗可以重試幾次,或者手動安裝。

技術分享圖片

技術分享圖片

③ 創建管理員賬戶

技術分享圖片

④ 創建任務

選擇創建一個新任務,輸入項目名稱,勾選“構建一個自由風格的軟件項目”然後點擊確定,進入詳細配置頁面。

技術分享圖片

⑤ General配置

技術分享圖片

⑥ 選擇git進行源碼管理,輸入遠程倉庫地址,點擊Add添加git賬號。

技術分享圖片

技術分享圖片

⑦ 構建觸發器

構建觸發器是指在什麽條件下自動觸發構建,這裏我們不配置,手動觸發構建。

⑧ 構建配置

選擇Excecute shell

技術分享圖片

添加如下命令,打包項目:

LJZSG_HOME="/root/.jenkins/workspace/ljzsg_mt"
cd $LJZSG_HOME
mvn clean package

技術分享圖片

構建完成之後,將war包復制到tomcat下,並重啟項目

# LJZSG根目錄
LJZSG_HOME="/root/.jenkins/workspace/ljzsg_mt"
#Tomcat根目錄
TOMCAT_HOME="/usr/src/tomcat-ljz"
#端口
TOMCAT_PORT=8080
#TOMCAT_PID用於檢測Tomcat是否在運行
TOMCAT_PID=`lsof -n -P -t -i :${TOMCAT_PORT}`

#如果Tomcat還在運行
warRootPath="${TOMCAT_HOME}/webapps/ROOT/"
warPath="${TOMCAT_HOME}/webapps/core/"
warFile="${TOMCAT_HOME}/webapps/core.war"

#如果文件或者文件夾存在則刪除
deleteWhenExist(){
 if [ -e $1 ]; then
  rm -rf $1
 fi
}

#如果Tomcat在運行,幹掉服務
if [ -n $TOMCAT_PID ]; then
 kill -9 $TOMCAT_PID
fi

deleteWhenExist ${warRootPath}
deleteWhenExist ${warPath}
deleteWhenExist ${warFile}

#拷貝新編譯的包到Tomcat
cp $LJZSG_HOME/core/target/core.war ${TOMCAT_HOME}/webapps/
#啟動Tomcat
${TOMCAT_HOME}/bin/startup.sh

技術分享圖片

⑨ 構建項目

第一次會下載maven插件和項目依賴的包,會比較慢,可手動上傳jar包到maven倉庫。

11、其它

以後有的時候再添加

---

服務器集成環境搭建