阿里云(ubuntu14.04),Java、Git、Jenkins、MySql、Nginx安装与配置

309 阅读6分钟

需求:从零搭建一个可以自动部署github推送代码,并进行https转发的服务器。记录一下踩的各种坑

服务器操作系统:ubuntu14.04

需求实现:

  1. 基础环境:Java+MySql;
  2. 工具:Git+MySql+Nginx;
  3. Jenkins实现自动部署github推送代码;
  4. Nginx实现https转发。

基础环境搭建

系统环境配置文件

vim .bashrc     //编辑
source ~/.bashrc  //保存并生效

一、Java安装

1. jdk包下载

官网下载相应的jdk包,我这里linux服务器为64位,下载了jdk-8u251-linux-x64.tar.gz www.oracle.com/java/techno…

2. 将jdk传到服务器

建议在/usr下创建一个文件夹java mkdir java

scp localfile root@remotehost:/usr/java

将localfile传输到服务器的java文件夹中(直接使用xftp等工具方式也可以)

3. 解压

tar -zxvf jdk-8u251-linux-x64.tar.gz -C /usr/java

4. 配置环境变量

打开系统环境配置文件vim .bashrc 在文件下方添加

#set Java environment
export JAVA_HOME=/usr/java/jdk1.8.0_251
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

保存并生效source ~/.bashrc

5. 测试

在命令行输入java -version 正确则出现java相应版本信息

二、Git安装与配置

1. 使用apt的方式安装Git

sudo apt-get install git

测试是否安装成功git --version

2. git配置邮箱用户名与密码

git config --global user.name "xxx"

git config --global user.email "xxx@xx" user.name为github用户名,email为github对应的email

3. 添加ssh-key到github

生成密匙ssh-keygen -t rsa

查看公匙cat ~/.ssh/id_rsa.pub

登录github后,在setting-SSH and GPG keys-new SSH key,在key中复制粘贴上方得到的公匙,title可以随意取,保存即可。

三、Jenkins安装配置

在Jenkins的官方网站上,给出了两种在Linux服务器上安装配置Jenkins的方法。一种是直接编译运行jar包,另一种是在服务器上下载并安装。此处介绍第二种。

1. 使用apt的方式安装jenkins

依次键入以下四行命令。以下为jenkins官方给出的apt安装方式,详见 www.jenkins.io/zh/doc/book…

wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins

我在sudo apt-get install jenkins的时候,下载速度非常慢,work那边一直显示为0,我用了配置阿里云镜像等方法,仍然没能加快下载速度,其中几次等了半天还下载失败了,但最终还是下载成功。另外,我尝试了直接在jenkins下载安装包的方法,也没能成功安装,可能是我安装方式有问题。

apt配置阿里云镜像

sudo vim /etc/apt/sources.list

deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

2. 为jenkins配置正确的java路径

由于我们的java是自己下载安装的,所以需要为jenkins配置java路径。

sudo vim /etc/init.d/jenkins

修改PATH=/bin:/usr/bin:/sbin:/usr/sbin在后面添加:/usr/java/jdk1.8.0_251/bin

3. 运行jenkins

sudo service jenkins start

正确运行情况为:

Correct java version found
 * Starting Jenkins Automation Server jenkins                                                       [ OK ]

测试:

curl http://localhost:8080

假如jenkins正确运行,会出现一个html信息。 如有问题,请按相应的问题进行查找修复。

4. 修改jenkins运行端口

jenkins默认运行端口为8080,可以选择修改。

sudo vim /etc/default/jenkins

修改 ----HTTP_PORT=8080--------HTTP_PORT=8081---- 在这里,“8081”也可被换为其他可用端口。

5. 配置阿里云安全组与防火墙

安全组

进入阿里云ECS控制台,打开网络与安全--安全组,点击安全组右侧的配置规则

此处采用旧版安全组的配置方法。

点击右上角的快速创建规则,勾选http、https、mysql,授权对象为0.0.0.0/0,意思是全授权,任意ip都可以访问。

点击添加安全组规则,端口范围为8080/8080(此处为你jenkins修改的端口或默认端口8080),授权对象仍为0.0.0.0/0,为8080放行。

至此,安全组配置完毕。

防火墙

ubuntu14.04采用的防火墙是ufw。

输入sudo ufw allow 8080,防火墙允许8080端口通过。

6. 远程打开jenkins并创建新账号

在浏览器中输入ip:8080,打开jenkins,首次打开需要输入密匙。按照网页上显示的输入cat /var/lib/jenkins/secrets/initialAdminPasssword,将显示的密匙复制黏贴到网页上,即可打开Jenkins。

打开System Manager,其中可以管理插件、管理用户,可以添加汉化插件,方便后续操作,此处不做介绍。

打开管理用户,在左侧点击新建用户,输入用户名,密码,就可以了,后续可以用这个账号登录Jenkins。

四、MySql

1. 下载MySql安装包

downloads.mysql.com/archives/co…

在MySql官网,选择你所需要的MySql版本与相应的操作系统版本,下载安装包xxx.tar。

2. 上传并解压

将下载好的安装包上传到服务器,与上文中的Java安装包上传方式相同,此处不再做介绍。

解压安装包 tar -xvf xxx.tar此时会出现多个deb包,参考 blog.csdn.net/qq_27985509… 依次安装相应的包,最后一个包需要先安装依赖,按参考文中所说进行安装即可。 中间会出现一个界面,需要输入mysql的密码,记得别忘了这个密码,忘了密码重置还是要一番功夫的!

3. 启动MySql服务

sudo service mysql start

4. 为外网访问添加权限

打开mysql命令行

mysql -u root -p

依次输入:

use mysql;
update user set host = '%' where user='root';
select host, user from user;

出现了

+----------------+---------------+
| host           | user          |
+----------------+---------------+
| %              | root          |

代表所有ip都可以通过root进行连接。最后输入flush privileges;刷新权限就可以了。

5. 防火墙放行

sudo ufw allow 3306

阿里云安全组中,已在上方添加3306入端口。

6. 配置访问端口并重启MySql

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address=127.0.0.1修改为bind-address=0.0.0.0

重启mysql服务,sudo service mysql restart

此时,远程ip已经可以连接服务器数据库了,使用navicat进行连接即可。

五、Nginx转发工具安装

nginx的安装最简单

sudo apt-get install nginx
sudo service nginx start

在本地浏览器中输入服务器ip,可以看到welcome to nginx的画面,说明nginx安装完成。

在本文中,安装并配置了各个工具,下一篇文章介绍Jenkins自动部署与Nginx代理转发https的功能实现。