先干两件大事!先干两件大事!先干两件大事!
1、关闭selinux
[root@mycentos ~]# vi /etc/selinux/config
SELINUX=disabled
2、关闭防火墙和关闭开机启动
[root@mycentos ~]# systemctl stop firewalld.service
[root@mycentos ~]# systemctl disable firewalld.service
开启防火墙:
systemctl start firewalld.service
关闭开机启动:
systemctl disable firewalld.service
开启开机启动:
systemctl enable firewalld.service
1、安装JDK
1、查看Linux自带的JDK是否已安装
2、卸载openjdk
卸载命令:
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.i686
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.i686
如果出现找不到openjdk source的话,那么还可以这样卸载:
yum -y remove java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.i686
yum -y remove java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.i686
3、下载jdk(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
下载后通过SecureCRT的rz命令上传到/root/Downloads
# 解压缩安装文件
tar -xvf jdk-8u161-linux-x64.tar.gz
重命名jdk1.8.161
目录
mv jdk1.8.161 jdk1.8
# 把文件目录移到/usr/java下
mv jdk1.8 /usr/java
# 编辑/etc/profile文件
vi /etc/profile
# 在末尾添加下面两行
export JAVA_HOME=/usr/java/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin # 当前配置手动触发生效 source /etc/profile
执行java -version
2、安装Tomcat
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。
先从tomcat官网找到最新的版本下载地址,下载到本地:
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.0.26/bin/apache-tomcat-8.0.26.tar.gz
下载到本地后,我要解压缩到 /usr/java下面
tar -xvf apache-tomcat-8.0.26.tar.gz -C /usr/java/
接下来设置一下tomcat的权限,进入到apache-tomcat-8.0.26目录
启动tomcat
# ./startup.sh
========================设置防火墙========================================
修改防火墙配置文件,所在目录/etc/sysconfig/iptables,在里面增加需要开通的端口号,如下:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
注意:这两行一定要放到以下两行之上
A INPUT -j REJECT --reject-with icmp-host-prohibited
A FORWARD -j REJECT --reject-with icmp-host-prohibited
完成之后重新启动防火墙即可 service iptables restart .此端口号将可以被访问
防火墙服务命令:
service iptables start
service iptables restart
service iptables stop
永久性生效,重启后不会复原
开启:
chkconfig iptables on
关闭:
chkconfig iptables off
====================================================================
查看是否可以访问:
http://xxx.xxx.xxx.xxx:8080
如果可以看到tomcat管理界面就说明配置成功了。
停止Tomcat
3、安装Nginx 1.7.4
Nginx是一款 轻量级的 Web 服务器/ 反向代理服务器及 电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少, 并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。一、安装准备
首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以执行如下命令安装
$ yum install gcc-c++
$ yum install pcre pcre-devel
$ yum install zlib zlib-devel
$ yum install openssl openssl--devel 二、安装Nginx 安装之前,最好检查一下是否已经安装有nginx $ find -name nginx 如果系统已经安装了nginx,那么就先卸载 $ yum remove nginx 首先进入/usr/local目录 $ cd /usr/local 从官网下载最新版的nginx $ wget http://nginx.org/download/nginx-1.7.4.tar.gz 解压nginx压缩包 $ tar -zxvf nginx-1.7.4.tar.gz 会产生一个nginx-1.7.4 目录,这时进入nginx-1.7.4目录 $ cd nginx-1.7.4 接下来安装,make、make install安装 $ ./configure $默认安装在/usr/local/nginx $ make $ make install 如果没有报错,顺利完成后,最好看一下nginx的安装目录 $ whereis nginx 安装完毕后,进入安装后目录(/usr/local/nginx)便可以启动或停止它了。
4、安装mysql5.7
检测是否安装
命令:rpm -qa | grep mysql,搜索指定rpm包是否安装。
安装前先检测系统中是否安装有mysql,如果有则可以先将原有的数据库卸载。
[root@localhost /]# rpm -e mysql全名
在删除完以后可以通过 rpm -qa | grep mysql 命令来查看mysql是否已经卸载成功!!
1、下载mysql源安装包
cd /usr/local
wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
解压
tar -xvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
文件名修改为mysql:
mv mysql-5.7.17-linux-glibc2.5-x86_64/ mysql
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
进入安装mysql软件的目录,命令如下:
cd /usr/local/mysql
修改当前目录拥有者为新建的mysql用户,命令如下:
chown -R mysql:mysql ./
安装mysql,命令如下:
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
安装完成,出现如下信息,将随机生成的登录密码记录下来:
开启mysql服务,命令如下:
./support-files/mysql.server start
将mysql进程放入系统进程中,命令如下:
cp support-files/mysql.server /etc/init.d/mysqld
重新启动mysql服务,命令如下:
service mysqld restart
使用随机密码登录mysql数据库,命令如下:
mysql -u root -p
等待系统提示,输入随机密码,即可登录
进入mysql操作行,为root用户设置新密码(小编设为rootroot):
alter user 'root'@'localhost' identified by 'rootroot';
设置允许远程连接数据库,命令如下:
use mysql;
update user set user.Host='%' where user.User='root';
刷新权限,命令如下:
flush privileges;
配置启动文件
然后去到mysql的support-files目录下,复制my.cnf到 /etc/my.cnf(mysqld启动时自动读取)
[root@MiWiFi-R3-srv local]# cd mysql/support-files/
[root@MiWiFi-R3-srv support-files]# cp my-default.cnf /etc/my.cnf cp: overwrite ‘/etc/my.cnf’? yes
配置数据库编码
[root@MiWiFi-R3-srv support-files]# vim /etc/my.cnf
添加以下内容:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
新建目录
mkdir /var/lib/mysql
chmod 777 /var/lib/msyql
3、启动MySQL服务
centos6.x启动方式
shell> service mysqld startshell>
service mysqld stop
shell> service mysqld restart
centos7.x启动方式
shell>
systemctl start mysqldshell>
systemctl stop mysqldshell>
systemctl restart mysqld
查看MySQL的启动状态
shell> systemctl status mysqld
4、开机启动
centos6.x启动方式
shell>
chkconfig mysqld
on
centos7.x启动方式
shell> systemctl enable mysqld shell> systemctl daemon-reload
5、添加远程登录用户
默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'yangxin'@'%' IDENTIFIED BY 'Yangxin0917!' WITH GRANT OPTION;
默认配置文件路径:
配置文件:/etc/my.cnf
日志文件:/var/log//var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid
5、安装redis
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的API1、检查安装依赖程序
yum install gcc-c++
yum install -y tcl
2、获取安装文件
wget http://download.redis.io/releases/redis-3.2.9.tar.gz
3、解压文件
tar -xvf redis-3.2.9.tar.gz
mv redis-3.2.9 /usr/local/redis
4、进入目录
cd /usr/local/redis
5、编译安装
make
make install
6、设置配置文件路径
mkdir -p /etc/redis
cp redis.conf /etc/redis
7、修改配置文件,开启后台运行
vi /etc/redis/redis.conf
仅修改: daemonize yes (no-->yes)
8、启动
/usr/local/bin/redis-server /etc/redis/redis.conf
9、查看启动
ps -ef | grep redis
10、使用客户端
redis-cli
>set name david
OK
>get name
"david"
按ctrl + C 可退出redis 启动窗口,此时redis 并不会关闭,而是会再后台运行,可通过命令查看: ps aux | grep redis
11、关闭客户端
redis-cli shutdown
12、开机启动配置
echo "/usr/local/bin/redis-server /etc/redis/redis.conf &" >> /etc/rc.local
开机启动要配置在 rc.local 中,而 /etc/profile 文件,要有用户登录了,才会被执行。
6、MongoDB
1、下载MongoDB
wget https:
//fastdl
.mongodb.org
/linux/mongodb-linux-x86_64-rhel62-3
.4.5.tgz
2、解压MongoDB
[root@mycentos mypackages]# tar -xvf mongodb-linux-x86_64-3.2.8.tgz
[root@mycentos mypackages]# mv mongodb-linux-x86_64-3.2.8 /usr/local/mongodb
3、创建数据库和日志存放路径
[root@mycentos ~]# mkdir -p /data/mongodb_data
[root@mycentos ~]# mkdir -p /data/mongodb_log
6、启动MongoDB
[root@mycentos ~]# /usr/local/mongodb/bin/mongod --port 27017 --fork --dbpath=/data/mongodb_data/ --logpath=/data/mongodb_log/mongodb.log --logappend
[root@mycentos mongodb_log]# netstat -lanp | grep 27017 #查看MongoDB是否启动成功
7、进行MongoDB控制台
[root@mycentos ~]# cd /usr/local/mongodb/bin/
[root@mycentos bin]# ./mongo #进入MongoDB数据库控制台
> use admin #进入admin数据库 > db.shutdownServer() #关闭MongoDB数据库 > exit #退出
8、接下来做一个配置文件
[root@mycentos ~]# cd /usr/local/mongodb
[root@mycentos mongodb]# vi mongodb.conf
port=27017 #端口号 dbpath=/data/mongodb_data/ #数据库路径 logpath=/data/mongodb_log/mongodb.log #日志输出文件路径 pidfilepath=/usr/local/mongodb/mongo.pid fork=true #设置后台运行 logappend=true #日志输出方式 :wq #保存退出
那么下次启动的时候:
[root@mycentos mongodb]# ./bin/mongod -f mongodb.conf #启动MongoDB
[root@mycentos mongodb]# ./bin/mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()" #关闭MongoDB
9、设置开机启动
[root@mycentos ~]# vi /etc/rc.d/init.d/mongod
ulimit -SHn 655350
#!/bin/sh
# chkconfig: - 64 36 # description:mongod case $1 in start) /usr/local/mongodb/bin/mongod --maxConns 20000 --config /usr/local/mongodb/mongodb.conf ;; stop) /usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()" ;; status) /usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.stats()" ;; esac :wq! #保存退出
[root@mycentos ~]# chmod +x /etc/rc.d/init.d/mongod #添加脚本执行权限
[root@mycentos ~]# chkconfig mongod on #设置开机启动
[root@mycentos ~]# service mongod start #启动MongoDB
10、设置环境变量
[root@mycentos ~]# vi /etc/profile #添加环境变量 export PATH=$PATH:/usr/local/mongodb/bin :wq! #保存退出 [root@mycentos ~]# source /etc/profile #使配置立即生效 [root@mycentos ~]# mongo #进入MongoDB控制台,可以直接使用mongodb命令了。
创建用户管理员:
use admin
db.createUser({user:"root",pwd:"root123456",roles:["userAdminAnyDatabase"]})
db.auth('root','root123456')
以用户管理员身份登录,并切换数据库,创建数据库用户:
切换到test数据库
use test
创建用户名、密码、角色
db.createUser({user:"username",pwd:"@user123456*",roles:[{role:"readWrite",db:"securitydata"}]})
设置mongodb配置中的auth为true(/etc/mongod.conf):
security:
authorization: enabled
验证mongodb数据库权限。
db.auth('user','@user123456*')
mongod 3.2 用户权限管理:http://www.cnblogs.com/mymelody/p/5906199.html
修改密码:
A.利用db.changeUserPassword db.changeUserPassword(
'tank2'
,
'test'
);
B.利用db.addUser
db.addUser(
'tank2'
,
'111'
)
{
"_id"
: ObjectId(
"529e6f1c8d95afd190add450"
),
"user"
:
"tank2"
,
"readOnly"
:
false
,
"pwd"
:
"6b4334d2c97c526e6a11b2f9ce1996e0"
}
有人会问,这个不是添加用户的方法吗。不错这是添加用户的方法,但是如果用户名相同,密码不同的话,就会更新密码。
7、Maven
1、首先从官网下载最新的安装包
wget http://apache.fayea.com/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
2、mv到 /usr/local/ 文件夹下。
3、将软件包解压到 /usr/local 下。
tar –xvf apache-maven-3.3.9-bin.tar.gz –C /usr/local
4、将文件夹重新命名 apache-maven-3.3.9 重命名为 maven
mv apache-maven-3.3.9 maven
5、配置环境变量
vi /etc/profile
#在最后插入如下内容:
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$MAVEN_HOME/bin
6、使环境变量生效
source /etc/profile
7、执行# mvn -v 命令,如出现如下内容表示安装配置成功
8、本地仓库的位置
默认位置: ${user.home}/.m2/repository
/root/.m2
9、配置国内的源
在usr/local/maven/conf/settings.xml,在
-
nexus-aliyun -
* -
Nexus aliyun -
http://maven.aliyun.com/nexus/content/groups/public
-
-
-
nexus-osc -
* -
Nexusosc -
http://maven.oschina.net/content/groups/public/
-
使用Maven创建项目
无论是学习语言还是框架,先来一个Hello World基本上已经是套路了,我们也通过构建一个HelloWorld项目来了解如何使用Maven。首先通过maven创建helloworld项目
$ mvn archetype:create -DgroupId= helloworld -DartifactId=helloworld
生成的项目目录如下,其中src/main/java是源码目录,src/test/java是测试文件目录。一共只有三个文件,打开这三个文件,可以看到App.java中已经写好了一个HelloWorld程序,而AppTest中是Junit单元测试的代码,至于pom.xml,则给出了项目的一些基本信息以及依赖关系。
helloworld/
├── pom.xml └── src ├── main │ └── java │ └── helloworld │ └── App.java └── test └── java └── helloworld └── AppTest.java
这里主要看一下pom.xml文件,内容如下
xmlns = "http://maven.apache.org/POM/4.0.0"xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 helloworld helloworld 1.0-SNAPSHOT jar helloworld http://maven.apache.org UTF-8 junit junit 3.8.1 test
在pom.xml文件中,首先描述了项目的定义,groupId:artifactId:packaging:version这个四元组能够唯一标记一个项目。我们不仅可以用这个四元组来标记我们的项目,也可以用来标记其它的项目,比如用来描述项目依赖关系。perperties中定义了项目的属性,也可以在这里定义变量并在其它的地方引用。至于最后的dependencies,则是描述了项目的依赖关系,Maven会根据依赖关系自动下载相应的文件并在编译时使用。
在大型项目开发中,往往会将其分成若干个子项目,每个子项目都有着自己的的pom.xml,它们与父pom.xml之间相当于继承的关系。
可以说,pom.xml文件的配置是整个Maven的核心重点,也是学习Maven过程中需要详细了解的内容。这里只给出了最简单的配置样例,详细了解可以查看官方文档。
接下来编译并运行Helloworld项目。
如果是第一次编译的话,需要联网,因为Maven会自动下载依赖包。
$ mvn package
下载的依赖包会保存在~/.m2/repository文件夹中,打开这个文件夹,我们会发现里面的包正是按前面所说的四元组目录结构进行存储的。Maven在依赖一个jar包时会先去本地库查找,如果没找到就会从网上下载。当然,并不是所有的包都能从网上下载到,比如我们自己开发的jar包,这时,我们就可以用 mvn install 命令将一个项目安装到本地仓库。 打包成功后我们会发现项目中多了一个target文件夹,目录结构如下
target/
├── classes
│ └── helloworld │ └── App.class ├── helloworld-1.0-SNAPSHOT.jar ├── maven-archiver │ └── pom.properties ├── maven-status │ └── maven-compiler-plugin │ ├── compile │ │ └── default-compile │ │ ├── createdFiles.lst │ │ └── inputFiles.lst │ └── testCompile │ └── default-testCompile │ ├── createdFiles.lst │ └── inputFiles.lst ├── surefire-reports │ ├── helloworld.AppTest.txt │ └── TEST-helloworld.AppTest.xml └── test-classes └── helloworld └── AppTest.class
可以看到,在package过程中,maven完成了编译、测试代码,生成测试报告,生成jar包等一系列工作。
最后,我们也可以手动运行jar包查看结果。
$ java - cp target/helloworld- 1.0 -SNAPSHOT.jar helloworld.App Hello World!
Maven常用命令
Maven的命令非常多,学习命令首先要了解Maven的生命周期。
Maven首先会验证并处理引用资源,之后进行项目编译,如果没有声明跳过测试,也会编译测试代码并进行测试、以成测试报告。最后,Maven会将编译好的内容进行打包,用于发布。 Maven命令与Maven的生命周期有着对应的关系,一个命令也经常会包含多个生命周期,比如 mvnpackage 会完成以上所有步骤。
这里列举几个常用的命令
- mvn compile 编译项目
- mvn test 编译运行单元测试
- mvn package 打包(jar or war)
- mvn install 将项目安装到本地仓库
- mvn clean 清空项目
- mvn eclipse:eclipse 生成eclipse工程
8、git
1.安装编译git时需要的包
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
2.删除已有的git
# yum remove git
3.下载git源码
# cd /usr/src
# wget --no-check-certificate https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
# tar xzf git-2.9.5.tar.gz
4.编译安装
# cd git-2.9.5
# make prefix=/usr/local/git all
# make prefix=/usr/local/git install
加入环境变量
# echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
# source /etc/bashrc
5.检查一下版本号
# git --version
6、配置Git用户名及邮箱
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
此时,Home目录下会新建一个.gitconfig文件
7、查看Git配置
git config --list
user.name=Your Name
[email protected]
为GitHub账号添加SSH Keys
以公钥认证方式访问SSH协议的Git服务器时无需输入口令,而且更安全。(访问HTTP协议的Git服务器时,比如提交修改,每次都需要输入口令。)
(1)创建SSH key
# ssh-keygen -t rsa -C "[email protected]"
系统会提示key的保存位置(一般是~/.ssh目录)和指定口令,保持默认(可修改密钥保存位置),连续三次回车即可。
(2)Copy SSH Key
然后用vim打开该文件,id_rsa.pub文件内的内容,粘帖到github帐号管理的添加SSH key界面中。
# vim ~/.ssh/id_rsa.pub
(3)添加到GitHub
登录github-> Accounting settings图标-> SSH key-> Add SSH key-> 填写SSH key的名称(可以起一个自己容易区分的),然后将拷贝的~/.ssh/id_rsa.pub文件内容粘帖-> add key”按钮添加。
(4)测试
# ssh -T [email protected]
自定义Git
比如,让Git显示颜色,会让命令输出看起来更醒目:
$ git config --global color.ui true
9
、Jenkins
Jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译、打包、分发部署。
Jenkins可以很好的支持各种语言(比如:java, c#, php等)的项目构建,也完全兼容ant、maven、gradle等多种第三方构建工具,同时跟svn、git能无缝集成。
也支持直接与知名源代码托管网站,比如github、bitbucket直接集成。
Jenkins其实就是一个框架集,可以整合任何你想整合的内容,实现公司的整个持续集成体系!
如:自动化,性能,打包,部署,发布&发布结果自动化验证,接口测试,单元测试,每日构建,等等
前置条件
- 安装jdk1.7或以上版本
- 安装git
- 安装maven
1、注意下载的版本要与jdk的版本对应
到官网下载jenkis的rmp包,官网地址(http://pkg.jenkins-ci.org/redhat-stable/)
[root
@centos03
home]# rpm -ivh jenkins-
2.7
.
3
-
1.1
.noarch.rpm
2.启动jenkins服务:
service jenkins start/stop/restart
到网页端输入 http://本机ip:8080 回车
配置Jenkins
通过客户端访问Jenkins,打开浏览器访问http://172.30.10.179:8080
查看初始化安装密码,并填写:
安装插件:
插件安装完后需要创建第一个用户:
如果不主动创建默认使用admin
到这里我们就完成了Jenkins的安装与配置。
常见问题
Jenkins首次安装一直停在向导界面问题:
根据提示的初始化密码文件存放位置,输入文件内容,跳到下一步我们就发现一直停在那个获取网络界面,无法刷新显示了。这是因为需要联网获取插件更新文件,但是由于网络的原因可能会比较慢,那个文件也就1M左右的样子,主要是服务器在国外所以下载的比较慢。下载的地址是写在/var/lib/jenkins/hudson.model.UpdateCenter.xml文件中的,默认内容如下:
可以直接修改上面那一步的文件,将url 改为http://mirror.xmission.com/jenkins/updates/update-center.json
就好了。