CentOS 服务器环境搭建 (包括mysql5.7+jdk1.8+maven3.6+git+docker+docker-compose+jenkins) tomcat部署项目的时候没用到先不装了 后续添加negix和tomcat
去 MySQL 官网下载 YUM 的 RPM 安装包,http://dev.mysql.com/downloads/repo/yum/
下载 mysql 源安装包
$ curl -LO http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm安装 mysql 源
$ sudo yum localinstall mysql57-community-release-el7-11.noarch.rpm检查 yum 源是否安装成功
$ sudo yum repolist enabled | grep "mysql.*-community.*" mysql-connectors-community MySQL Connectors Community 21 mysql-tools-community MySQL Tools Community 38 mysql57-community MySQL 5.7 Community Server 130如上所示,找到了 mysql 的安装包
安装服务
$ sudo systemctl enable mysqld启动服务
$ sudo systemctl start mysqld查看服务状态
$ sudo systemctl status mysqldMySQL 5.7 启动后,在 /var/log/mysqld.log 文件中给 root 生成了一个默认密码。通过下面的方式找到 root 默认密码,然后登录 mysql 进行修改:
$ grep 'temporary password' /var/log/mysqld.log $ root@localhost: **********登录 MySQL 并修改密码
$ mysql -u root -p Enter password: mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';**ps: **默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于 8 位。
这样的密码太难记,接下来修改密码检查策略:
首先关闭mysql服务
service mysqld stop然后打开mysql 配置文件,在/etc/my.cnf文件中加入下面两句。
# 修改密码强度,添加如下键值对, 0=LOW, 1=MEDIUM, 2=STRONG validate_password_policy=0 # 禁用密码校验策略 validate_password = off保存退出,并重启mysql服务:
service mysqld restart登录mysql并修改为简单的密码
$ mysql -u root -p Enter password: mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';MySQL 默认只允许 root 帐户在本地登录,如果要在其它机器上连接 MySQL,必须修改 root 允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,本例添加一个新的帐户:
mysql> SET PASSWORD = PASSWORD('password'); mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; mysql> flush privileges;下载地址: http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz
进入home 目录下:
[root@centos home]# wget http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz可以看到home目录下多出一个jdk1.8.0_181文件
现在可以删除压缩包了
[root@centos home]# rm jdk-8u181-linux-x64.tar.gz打开/etc/profile 文件末尾添加:
# set jdk Environmental variable export JAVA_HOME=/home/jdk1.8.0_181 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar保存文件并执行
source /etc/profile测试安装结果
[root@centos home]# java -version java version "1.8.0_181" Java(TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)下载地址: http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
进入home 目录下:
[root@centos home]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz可以看到home目录下多出一个apache-maven-3.6.1文件
删除压缩包
[root@centos home]# rm apache-maven-3.6.1-bin.tar.gz打开/etc/profile 文件末尾添加
# set maven Environmental variable export MAVEN_HOME=/home/maven-3.3.9 export PATH=${PATH}:${MAVEN_HOME}/bin测试安装结果
[root@centos home]# mvn -v Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00) Maven home: /home/maven-3.3.9 Java version: 1.8.0_181, vendor: Oracle Corporation Java home: /home/jdk1.8.0_181/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-957.el7.x86_64", arch: "amd64", family: "unix"执行命令
yum install git安装最新的docker:
$ curl -fsSL get.docker.com -o get-docker.sh $ sudo sh get-docker.sh (或者使用: $ curl -sSL https://get.docker.com/ | sh )启动docker
$ service docker start确认Docker成功最新的docker:
$ sudo docker run hello-world1.从github上下载docker-compose二进制文件安装
下载最新版的docker-compose文件
$ sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose添加可执行权限
$ sudo chmod +x /usr/local/bin/docker-compose测试安装结果
$ docker-compose --version docker-compose version 1.16.1, build 1719ceb2.pip安装
$ sudo pip install docker-compose#如出现以下情况
[root@izwz91quxhnlk9mqhy9p75z run]# docker-compose version /usr/lib/python2.7/site-packages/requests/init.py:80: RequestsDependencyWarning: urllib3 (1.22) or chardet (2.2.1) doesn’t match a supported version! RequestsDependencyWarning) docker-compose version 1.23.1, build b02f130 docker-py version: 3.5.1 CPython version: 2.7.5 OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
原因:python库中urllib3 (1.22) or chardet (2.2.1) 的版本不兼容
解决如下:
$ pip uninstall urllib3 $ pip uninstall chardet $ pip install requests添加Jenkins库到yum库,Jenkins将从这里下载安装。
$ wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo $ pm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key $ yum install -y jenkins如果不能安装就到官网下载jenkis的rmp包,官网地址(http://pkg.jenkins-ci.org/redhat-stable/)
wget http://pkg.jenkins-ci.org/redhat-stable/jenkins-2.7.3-1.1.noarch.rpm rpm -ivh jenkins-2.7.3-1.1.noarch.rpm配置jenkis的端口
vim /etc/sysconfig/jenkins找到修改端口号:
#此端口不冲突可以不修改 JENKINS_PORT="8080"部署项目时,Jenkins提示文件操作权限异常
Building in workspace /var/lib/jenkins/workspace/facade java.nio.file.AccessDeniedException: /home/project/privateblog at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:384) at java.nio.file.Files.createDirectory(Files.java:674) at java.nio.file.Files.createAndCheckIsDirectory(Files.java:781) at java.nio.file.Files.createDirectories(Files.java:767) at hudson.FilePath.mkdirs(FilePath.java:3229) at hudson.FilePath.access$1300(FilePath.java:210) at hudson.FilePath$Mkdirs.invoke(FilePath.java:1251) at hudson.FilePath$Mkdirs.invoke(FilePath.java:1247) at hudson.FilePath.act(FilePath.java:1075) at hudson.FilePath.act(FilePath.java:1058) at hudson.FilePath.mkdirs(FilePath.java:1243) at hudson.plugins.git.GitSCM.createClient(GitSCM.java:811) at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1186) at hudson.scm.SCM.checkout(SCM.java:504) at hudson.model.AbstractProject.checkout(AbstractProject.java:1208) at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:574) at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499) at hudson.model.Run.execute(Run.java:1816) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:97) at hudson.model.Executor.run(Executor.java:429) Finished: FAILUREJenkins默认以jenkins用户运行,jenkins在删除文件、创建文件、覆盖文件可能发送没有权限的问题。
将Jenkins账户分别加入到root组中
gpasswd -a jenkins root修改/etc/sysconfig/jenkins文件
JENKINS_USER="root"重启jenkins 服务项目部署成功