服务器ip:192.168.0.221和192.168.0.222 软件版本:
此处使用apt命令安装:
bashapt install haproxy keepalived
bashroot@ha1:~# cp /usr/share/doc/keepalived/samples/keepalived.conf.vrrp /etc/keepalived/keepalived.conf
root@ha1:~# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
acassen
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER
interface eth0
garp_master_delay 10
smtp_alert
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.0.227 dev eth0 label eth0:1
}
}
bashroot@ha2:~# systemctl restart keepalived
root@ha2:~# systemctl enable keepalived
bashroot@ha2:~# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
acassen
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state BACKUP #设置为backup
interface eth0
garp_master_delay 10
smtp_alert
virtual_router_id 51
priority 80 #调低优先级
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.0.227 dev eth0 label eth0:1
}
}
bashvim /etc/haproxy/haproxy.cfg
listen mykerenl-web-80
bind 192.168.0.227:80
mode http
server 192.168.0.223 192.168.0.223:80 check inter 2s fall 3 rise 5
server 192.168.0.224 192.168.0.224:80 check inter 2s fall 3 rise 5
bash# 查看内核参数是否修改:
root@ha2:~# sysctl -a |grep nonlocal
net.ipv4.ip_nonlocal_bind = 1 # 为1 ok
sysctl: reading key "net.ipv6.conf.all.stable_secret"
sysctl: reading key "net.ipv6.conf.default.stable_secret"
sysctl: reading key "net.ipv6.conf.eth0.stable_secret"
sysctl: reading key "net.ipv6.conf.lo.stable_secret"
net.ipv6.ip_nonlocal_bind = 0
# 如果为开启,需要修改
root@ha2:~# vim /etc/sysctl.conf
#开启
net.ipv4.ip_nonlocal_bind = 1
#关闭
net.ipv4.tcp_timestamps = 0
# 配置生效
root@ha2:~# sysctl -p
bashroot@ha2:~# systemctl restart haproxy
root@ha2:~# systemctl enable haproxy
安装的版本为:jdk-8u141-linux-x64.tar 服务器ip:192.168.0.223和92.168.0.224
bash
# 解压
root@tomcat1:/usr/local/src# tar xvf jdk-8u141-linux-x64.tar.gz
# 设置软连接
root@tomcat1:/usr/local/src# ln -sv /usr/local/src/jdk1.8.0_141 /usr/local/jdk
'/usr/local/jdk' -> '/usr/local/src/jdk1.8.0_141'
# 配置环境变量
root@tomcat1:/usr/local/src# vim /etc/profile
# 添加
export HISTTIMEFORMAT="%F %T `whoami` "
export export LANG="en_US.utf-8"
export JAVA_HOME=/usr/local/jdk export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
说明:192.168.0.223和92.168.0.224操作一样。
bash# 下载apache-tomcat-8.5.59.tar.gz
root@tomcat2:/apps# wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.59/bin/apache-tomcat-8.5.59.tar.gz
# 解压
root@tomcat2:/apps# tar xvf apache-tomcat-8.5.59.tar.gz
# 软连接
root@tomcat2:/apps# ln -sv /apps/apache-tomcat-8.5.59 /apps/tomcat
bash# 创建用户
root@tomcat1:/apps# useradd -m www -u 2020 -s /bin/bash
root@tomcat1:/apps# chown www.www /apps/ -R
# 配置tomcat脚本
#!/bin/bash
# #########################################################
# Tomcat init script for "中企动力科技股份有限公司"####
###########################################################
# chkconfig: 2345 96 14 ###################################
# description: 2016/11/1. 张士杰##########################
# #########################################################
JDK_HOME=/apps/jdk1.7.0_79
CATALINA_HOME=/apps/tomcat
export JDK_HOME CATALINA_HOME
source /etc/profile
#PID=`ps -ef | grep -v grep | grep java | awk '{print $2}'`
#NUM=`ps -ef | grep -v grep | grep java | awk '{print $2}' | wc -l`
#case $1 in
start() {
echo "正在判断服务状态,请稍等!"
echo "请稍等3秒钟"
echo "3";sleep 1;echo "2";sleep 1;echo "1";sleep 1
if netstat -an | grep 8080 | grep LISTEN >/dev/null
then
echo "Tomcat已经正在运行了!"
else
echo "Tomcat没有运行,1秒后启动!"
echo 1;sleep 1
$CATALINA_HOME/bin/catalina.sh start
echo "Tomcat 已经成功启动完成,5秒后判断是否启动成功"
echo "5";sleep 1;echo "4";sleep 1
echo "3";sleep 1;echo "2";sleep 1;echo "1";sleep 1
if netstat -an | grep 8080 | grep LISTEN >/dev/null
then
PID=`ps -ef | grep tomcat | grep jdk | awk '{print $2}'`
NUM=`ps -ef | grep tomcat | grep jdk | awk '{print $2}' | wc -l`
echo "Tomcat 已经成功启动${NUM} 个Tomcat进程!,PID为${PID}"
else
echo "Tomcat启动失败,请重新启动!"
echo 1
fi
fi
}
stop() {
PID=`ps -ef | grep -v grep | grep java | awk '{print $2}'`
NUM=`ps -ef | grep -v "color" | grep tomcat | awk '{print $2}' | wc -l`
echo "正在判断服务状态,请稍等3秒钟!"
echo "3";sleep 1;echo "2";sleep 1;echo "1";sleep 1
if netstat -an | grep 8080 | grep LISTEN >/dev/null
then
echo "Tomcat运行中,1秒后关闭!"
echo 1;sleep 1
echo "即将关闭Tomcat服务,请稍等!"
$CATALINA_HOME/bin/catalina.sh stop ;echo "已经执行关闭命令,正在检查关闭了多少Tomcat进程,请稍等30秒钟!"
sleep 27
echo "3";sleep 1;echo "2";sleep 1;echo "1";sleep 1
pkill java && pkill tomcat
if netstat -an | grep 8080 | grep LISTEN >/dev/null;then
PID=`ps -ef | grep -v grep | grep java | awk '{print $2}'`
NUM=`ps -ef | grep -v "color" | grep tomcat | awk '{print $2}' | wc -l`
kill -9 $PID ;echo "已成功关闭${NUM} 个tomcat进程"
else
echo "Tomcat 已经关闭完成!"
echo "3";sleep 1;echo "2";sleep 1;echo "1";sleep 1
fi
else
echo "Tomcat 没有运行"
echo 1
fi
if netstat -an | grep 8080 | grep LISTEN >/dev/null;then
PID=`ps -ef | grep -v grep | grep java | awk '{print $2}'`
#NUM=`ps -ef | grep -v "color" | grep tomcat | awk '{print $2}' | wc -l`
echo "关闭失败,即将强制删除tomcat进程!"
sleep 2
pkill tomcat ;sleep 2
if netstat -an | grep 8080 | grep LISTEN >/dev/null;then
echo "强制关闭失败,即将再次强制删除tomcat进程!"
pkill java; sleep 2
fi
fi
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
esac
# 运行tomcat:
root@tomcat1:/# bash /etc/init.d/tomcat start
# 查看端口是否监听
ss -ntlp|grep 8080
bashroot@tomcat1:/apps/tomcat/conf# vim /apps/tomcat/conf/server.xml
<Host name="localhost" appBase="/data/tomcat/tomcat_webapps" unpackWARs="true" autoDeploy="true">
/data/tomcat/tomcat_webapps/myapp --> /data/tomcat/tomcat_webdir/myapp_xxx_1
jenkins版本:jenkins_2.204 ip:192.168.0.220和192.168.0.221
bash# 安装openjdk,jenkins是java程序
root@ha1:~# apt install openjdk-8-jdk
# 安装daemon,jenkins启动需要的服务
root@ha1:~# apt install daemon -y
# 下载jenkins root@ha1:~# wget https://mirror.tuna.tsinghua.edu.cn/jenkins/debian/jenkins_2.204_all.deb # 安装jenkins root@ha1:~# dpkg -i jenkins_2.204_all.deb # 修改配置文件 root@ha1:~# grep "^[a-Z]" /etc/default/jenkins NAME=jenkins JAVA_ARGS="-Djava.awt.headless=true" PIDFILE=/var/run/$NAME/$NAME.pid JENKINS_USER=$NAME JENKINS_GROUP=$NAME JENKINS_WAR=/usr/share/$NAME/$NAME.war JENKINS_HOME=/var/lib/$NAME RUN_STANDALONE=true JENKINS_LOG=/var/log/$NAME/$NAME.log JENKINS_ENABLE_ACCESS_LOG="no" MAXOPENFILES=65536 #修改 HTTP_PORT=8080 PREFIX=/$NAME JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=$HTTP_PORT"
centos安装长期支持版本
bashwget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum upgrade
yum install jenkins java-1.8.0-openjdk-devel
systemctl daemon-reload
# 配置文件位置
vim /etc/sysconfig/jenkins
root@ha1:~# systemctl restart jenkins root@ha1:~# systemctl enable jenkins
页面访问 http://192.168.0.220:8080/
输入“管理员密码”
查看“管理员密码” root@ha1:~# cat /var/lib/jenkins/secrets/initialAdminPassword 9514c1feef0243a7a2d8bef072be4a60
问题1:jenkins离线
bash
root@ha1:~# cat /var/lib/jenkins/hudson.model.UpdateCenter.xml
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
## 如果还是失败,可以使用http
</site>
</sites>
bashroot@ha1:~# systemctl restart jenkins
安装插件,推荐使用“安装推荐的插件”
提速: 配置插件代理服务器,此处使用192.168.0.223配置一个nginx,做一个rewrite操作。在主配置文件加入一个location:
bash location /download/plugins
{
proxy_set_header Host mirrors.tuna.tsinghua.edu.cn;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
rewrite /download/plugins(.*) /jenkins/plugins/$1 break;
proxy_pass http://mirrors.tuna.tsinghua.edu.cn;
}
# jenkins服务器修改host指向该服务器地址
root@ha1:~# cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 ubuntu-template.magedu.local ubuntu-template
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
192.168.0.223 updates.jenkins-ci.org #添加
插件安装界面:
#创建用户
安装完成:
登陆成功的界面:
本文作者:mykernel
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!