从零开始模拟搭建项目的服务器环境及运行环境,所有操作在本地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增加两项。
③ 进入/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版本:
⑤ 配置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
⑥ 设置开机启动
⑦ 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
将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、其它
以后有的时候再添加
---