1 JDK安装
1.1 环境介绍
操作系统 Centos6.9最小化安装
192.168.71.7 web01
192.168.71.8 web02
网络配置静态IP,selinux关闭 防火墙清空(生产环境开放对应端口)
1.2 编译环境准备(web01, web02上操作)
yum install vim wget gcc* make epel-release* -y
yum groupinstall “Development tools” -y
yum -y install gcc wget gcc-c++ automake autoconf libtool libxml2-devel libxslt-devel perl-devel perl-ExtUtils-Embed pcre-devel openssl-devel
1.3 JDK安装(web01, web02上操作)
#下载 JDK包
cd /app
wget http://192.168.20.55/packages/java/jdk-8u131-linux-x64.rpm(去官网下载安装包)
#安装 JDK包
rpm -ivh jdk-8u131-linux-x64.rpm
#编辑JDK环境变量
vim /etc/profile.d/jdk.sh
JAVA_HOME=/usr/java/jdk1.8.0_131
JRE_HOME=/usr/java/jdk1.8.0_131/jre
PATH=
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin:
J
R
E
H
O
M
E
/
b
i
n
C
L
A
S
S
P
A
T
H
=
:
JRE_HOME/bin CLASSPATH=:
JREHOME/binCLASSPATH=:JAVA_HOME/lib/dt.jar:
J
A
V
A
H
O
M
E
/
l
i
b
/
t
o
o
l
s
.
j
a
r
:
JAVA_HOME/lib/tools.jar:
JAVAHOME/lib/tools.jar:JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
#JDK环境变量生效
source /etc/profile.d/jdk.sh
#验证Java是否安装成功
java -version
echo $PATH
2 Tomcat 安装
2.1 Tomcat安装(web01, web02上操作)
#下载 tomcat包
cd /app
wget http://192.168.20.55/packages/tomcat/prd_tomcat/apache-tomcat-8.0.43.tar.gz(去官网下载安装包)
#解压tomcat 包到/app目录
tar xf apache-tomcat-8.0.43.tar.gz -C /app
#修改apache-tomcat-8.0.43目录为tomcat
mv /app/apache-tomcat-8.0.43 /app/tomcat
#启动tomcat 服务
/app/tomcat/bin/startup.sh
#关闭tomcat
/app/tomcat/bin/shutdown.sh
#开机自启
echo “/app/tomcat/bin/startup.sh” >> /etc/rc.d/rc.local
2.2 Tomcat创建账号(web01, web02上操作)
#创建 tomcat gid 600
groupadd -g 600 tomcat
#创建 tomcat 用户uid ,gid 600
useradd -g tomcat -u 600 tomcat
#设置 tomcat 用户密码为 tomcat
echo “tomcat” | passwd --stdin “tomcat”
#设置 /app/tomcat 目录拥者和组为tomcat
chown -R tomcat:tomcat /app/tomcat
#设置catalina.out日志轮转,一下日志为每天生成一个新日志,保留7天,进行压缩
#missingok: 在日志轮循期间,任何错误将被忽略,例如“文件无法找到”之类的错误。
vim /etc/logrotate.d/tomcat_log
/app/tomcat/tomcat-8.0.53-COMM/logs/catalina.out #指定要轮转的日志
{
copytruncate
daily
rotate 7
compress
missingok
}
3 内核升级
3.1 内核升级4.3以上版本(web01, web02上操作)
#导入public key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
#安装ELRepo到CentOS
yum install https://www.elrepo.org/elrepo-release-6-9.el6.elrepo.noarch.rpm
#安装 kernel-lt
yum --enablerepo=elrepo-kernel install kernel-lt -y
#编辑grub.conf文件,修改Grub引导顺序
vim /etc/grub.conf
#重启系统查看内核版本
3.2 升级glibc(升级到 2.17版)(web01, web02上操作)
#原先的系统glibc库的版本是2.12,需要升级到2.17版本
cd /app && wget http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz
#解压glibc
tar -xf glibc-2.17.tar.gz
#进入glibc目录
cd glibc-2.17
#创建build目录
mkdir build; cd build
#编译安装glibc
…/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make -j 8
make install
#看到下面的结果
strings /lib64/libc.so.6 | grep GLIBC
ldd --version
GLIBCXX_3.4.15版本,或是更高的版本
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
#下载 libstdc++6_4.7.2-5_amd64.deb 包(服务器IP:71.7 /app 目录已下载)
#解压libstdc++6_4.7.2-5_amd64.deb
cd /app && ar -x libstdc++6_4.7.2-5_amd64.deb && tar xvf data.tar.gz
#备份文件到/tmp目录中
mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.0.13 /tmp/
#进入目录查看文件
cd /app/usr/lib/x86_64-linux-gnu/
#解压文件拷贝到/usr/lib64目录中
mv libstdc++.so.6* /usr/lib64/
#查看版本
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
#找开发提供3个文件 libarcsoft_face.so libarcsoft_face_engine.so libarcsoft_face_engine_jni.so 拷贝到 /usr/lib64
3.3 升级GCC(升级到 4.8.2版)(web01, web02上操作)
#1.下载源码包
cd /app && wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
#解压:
tar -jxvf gcc-4.8.2.tar.bz2
#2.下载编译所需依赖库
cd gcc-4.8.2
./contrib/download_prerequisites
cd …
3.建立编译输出目录
mkdir gcc-build-4.8.2
4.进入此目录,执行以下命令,生成makefile文件
cd gcc-build-4.8.2
…/gcc-4.8.2/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
5.编译
make -j4
#j4选项是make对多核处理器的优化,如果不成功请使用 make
如果编译成功,则时间是比较长的,半个小时左右,所以如果你看它一直在输出没有立刻停下来!
6.安装
make install
7.切换GCC到新版
确定新安装的GCC的路径,一般默认在/usr/local/bin下。
添加新GCC到可选项,倒数第三个是名字,倒数第二个参数为新GCC路径,最后一个参数40为优先级,设大一些之后就自动使用新版了
update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/x86_64-unknown-linux-gnu-gcc-4.8.2 40
重启系统
reboot
8.确认当前版本已经切换为新版
gcc -v
cd /app/gcc-build-4.8.2/x86_64-unknown-linux-gnu/libstdc+±v3/src/.libs/
cp libstdc++.so.6 libstdc++.so.6.0.18 /usr/lib64/
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX