centos7.0服务器常用程序安装。mysql、nginx、tomcat、redis、zookeeper

    每次新服务器(包括阿里云)来了以后都要配置很多东西。这里写一下备份。

    

Rz sz命令安装

1:先执行rz –y命令看看服务器是否支持,不支持,直接安装

2:上传lrzsz-0.12.20.tar.gz文件

         1)alt+p 打开sftp窗口

2)进入目录/root/download/

         3)命令:cd/root/download

         4)进入本地机器lrzsz-0.12.20.tar.gz文件所在目录

         5)命令:lcd d:/

    6)上传文件:putd:/lrzsz-0.12.20.tar.gz ./

3:安装

1)     进入目录/root/download/

2)     执行命令tar -zxvf lrzsz-0.12.20.tar.gz

3)     执行命令cd lrzsz-0.12.20/进入解压目录

4)     执行命令./configure

5)     执行命令 make & make install

4:创建软连接

1) 上面的命令默认安装到了/usr/local/bin/目录下,准备创建软连接

2) 进入目录 cd/usr/bin

3) 创建软连接     ln -s /usr/local/bin/lrz rz 和  ln -s /usr/local/bin/lsz sz



JDK安装

安装说明

 

系统环境:centos7

安装方式:rpm安装

软件:jdk-8u25-linux-x64.rpm

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html


检验系统原版本

[[email protected] ~]# java -version

java version "1.7.0_"

OpenJDK Runtime Environment (IcedTea61.11.1) (rhel-1.45.1.11.1.el6-x86_64)

OpenJDK 64-Bit Server VM (build 20.0-b12,mixed mode)


进一步查看JDK信息:

[[email protected] ~]#  rpm -qa | grep java

javapackages-tools-3.4.1-6.el7_0.noarch

tzdata-java-2014i-1.el7.noarch

java-1.7.0-openjdk-headless-1.7.0.71-2.5.3.1.el7_0.x86_64

java-1.7.0-openjdk-1.7.0.71-2.5.3.1.el7_0.x86_64

python-javapackages-3.4.1-6.el7_0.noarch

 

 

 

 

卸载OpenJDK,执行以下操作:

[[email protected] ~]# rpm -e --nodepstzdata-java-2014i-1.el7.noarch

[[email protected] ~]# rpm -e --nodepsjava-1.7.0-openjdk-headless-1.7.0.71-2.5.3.1.el7_0.x86_64

[[email protected] ~]# rpm -e --nodepsjava-1.7.0-openjdk-1.7.0.71-2.5.3.1.el7_0.x86_64


安装JDK

 上传新的jdk-8u25-linux-x64.rpm软件到/usr/local/执行以下操作:

[[email protected] local]# rpm -ivh jdk-8u25-linux-x64.rpm

 JDK默认安装在/usr/java中。


验证安装

执行以下操作,查看信息是否正常:

[[email protected] ~]# java

[[email protected] ~]# javac

[[email protected] ~]# java -version

java version "1.8.0_25"

Java(TM) SE Runtime Environment (build1.8.0_25-b17)

Java HotSpot(TM) 64-Bit Server VM (build25.25-b02, mixed mode)

配置环境变量

我的机器安装完jdk-7-linux-x64.rpm后不用配置环境变量也可以正常执行javac、java –version操作,因此我没有进行JDK环境变量的配置。但是为了以后的不适之需,这里还是记录一下怎么进行配置,操作如下:

修改系统环境变量文件

vi + /etc/profile


向文件里面追加以下内容:

JAVA_HOME=/usr/java/jdk1.8.0_91

JRE_HOME=/usr/java/jdk1.8.0_91/jre

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

export JAVA_HOME JRE_HOME PATH CLASSPATH


使修改生效

[[email protected] ~]# source/etc/profile   //使修改立即生效

[[email protected] ~]#        echo $PATH   //查看PATH值


查看系统环境状态

[[email protected] ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/java/jdk1.8.0_25/bin:/usr/java/jdk1.8.0_25/jre/bin


MySql安装

正确的安装方法:

众所周知,Linux系统自带的repo是不会自动更新每个软件的最新版本(基本都是比较靠后的稳定版),所以无法通过yum方式安装MySQL的高级版本。所以我们需要先安装带有当前可用的mysql5系列社区版资源的rpm包。

#######安装rpm

[[email protected] ~]# rpm -Uvhhttp://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

Retrieving http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

Preparing...                          ################################# [100%]

Updating / installing...

   1:mysql-community-release-el7-5    ################################# [100%]


这时查看当前可用的mysql安装资源:

[root@typecodes ~]# yum repolist enabled | grep "mysql.*-community.*"

mysql-connectors-community/x86_64MySQL Connectors Community                14

mysql-tools-community/x86_64      MySQL Tools Community                      17

mysql56-community/x86_64          MySQL 5.6 Community Server                139


从上面的列表可以看出, mysql56-community/x86_64  MySQL 5.6 Community Server 可以使用。

因此,我们就可以直接用yum方式安装了MySQL5.6版本了。

yum -y install mysql-community-server


MySQL安装完成后,进行相关配置

安装完MySQL后,需要进行一些基础配置工作:


systemctl enable mysqld

启动mysql服务进程    systemctl start mysqld

配置mysql(设置密码等) mysql_secure_installation

Enter current password for root (enter fornone):


OK, successfully usedpassword, moving on...


Set root password? [Y/n]y                  [设置root用户密码]


New password:


Re-enter new password:


Password updatedsuccessfully!


...


Remove anonymous users?[Y/n] y                 [删除匿名用户]


Disallow root loginremotely? [Y/n] y       [禁止root远程登录]


Remove test database andaccess to it? [Y/n] y          [删除test数据库]

Reload privilegetables now? [Y/n] y            [刷新权限]



Mysql的一些问题

字段不能输入中文问题:

在数据库没有表的时候执行ALTER DATABASE bugzero_db CHARACTER SET utf8; 即可


MySql命令以及权限等

登录金融编辑mysql -u root –p

centos7.0服务器常用程序安装。mysql、nginx、tomcat、redis、zookeeper


用户创建

CREATE USER '用户名'@'%' IDENTIFIED BY"密码";             //创建用户

权限授予

grant all on *.* to 用户名@"%"Identified by '密码';        //授予权限

MySql备份功能添加

1.创建备份文件夹

mkdir    /home/bak

mkdir     /home/bak/bakmysql

mkdir     /home/bak/bakmysqlold

2.创建脚本文件

                  Vim/bak/bakmysql/backup.sh

            Chomd 755 backup.sh

 

                  脚本内容如下:

 

#!/bin/sh 
cd /home/bak/bakmysql
echo "You are in bakmysql directory"
mv /home/bak/bakmysql/* /home/bak/bakmysqlold
echo "Old databases are moved tobakmysqlold folder"
Now=$(date +"%d-%m-%Y") 

File=bakmysql-$Now.sql 
mysqldump -uroot -p'密码' 要备份的数据库 > $File 
echo "Your database backup successfully completed"
SevenDays=$(date -d -7day +"%d-%m-%Y") 

if [ -f /home/bak/bakmysqlold/bakmysql-$SevenDays.sql] 
then
rm -rf /home/bak/bakmysqlold/bakmysql-$SevenDays.sql 
echo "You have delete 7days ago bak file"
else
echo "7days ago bak file not exist "
fi

 

说明:

mysqldump -uroot -p'password' db_bbs> $File 这句中的红色字体请分别换为你自己的mysql数据库用户、密码和database名。脚本先将/home/bak/bakmysql文件夹下bakmysql为文件名开头的备份文件移至/home /bak/bakmysqlold,再生成最新的备份文件,最后再判断/home /bak/bakmysqlold文件夹中七天前的文件是否存在,存在则删除,最后结束。这样就能自动备份最近七天的数据库脚本。

3.运行一下看看是否可以备份成功

                  ./backup.sh

4.创建crontab

         第一步:vi /etc/crontab

      第二步:在文本中添加如下内容:0 0 * * * root /bak/bakmysql/backup.sh

      第三步:重启crontab/sbin/service crond restart 

      注释:果没有设置crontab为开机自启动可以如下设置其开机自启动:chkconfig –level 35 crond on


zookeeper安装

第一步:在Linux上安装Zookeeper

       Zookeeper作为Dubbo服务的注册中心,Dubbo原先基于数据库的注册中心,没采用ZookeeperZookeeper一个分布式的服务框架,是树型的目录服务的数据存储,能做到集群管理数据 ,这里能很好的作为Dubbo服务的注册中心,Dubbo能与Zookeeper做到集群部署,当提供者出现断电等异常停机时,Zookeeper注册中心能自动删除提供者信息,当提供者重启时,能自动恢复注册数据,以及订阅请求。我们先在linux上安装Zookeeper,我们安装最简单的单点,集群比较麻烦。

    1)下载Zookeeper-3.4.6.tar.gz  地址http://www.apache.org/dist/zookeeper/

    2我们放到Linux下的一个文件夹,然后解压: 

      #tar -zxvf zookeeper-3.4.6.tar.gz

 (3)然后在对应的zookeeper-3.4.6/conf 下有一个文件zoo_sample.cfg的这个文件里面配置了监听客户端连接的端口等一些信息,Zookeeper 在启动时会找zoo.cfg这个文件作为默认配置文件,所以我们复制一个名称为zoo.cfg的文件,如图所示:


centos7.0服务器常用程序安装。mysql、nginx、tomcat、redis、zookeeper

我们查看一下这个文件的里面的一些配置信息,如图所示:

centos7.0服务器常用程序安装。mysql、nginx、tomcat、redis、zookeeper

说明:

 clientPort:监听客户端连接的端口。

 tickTime:基本事件单元,以毫秒为单位。它用来控制心跳和超时,默认情况下最小的会话超时时间为两倍的 tickTime

 我们可以对配置文件的端口等或者进行高级配置和集群配置例如:maxClientCnxns:限制连接到 ZooKeeper 的客户端的数量等

 (4)启动Zookeeper 的服务,如图所示:

centos7.0服务器常用程序安装。mysql、nginx、tomcat、redis、zookeeper

到这边Zookeeper的安装和配置完成


Nginx安装

linux系统为Centos 64

第一步:从http://nginx.org/download/上下载相应的版本(或者wgethttp://nginx.org/download/nginx-1.5.9.tar.gz直接在Linux上用命令下载)

第二步:解压 tar -zxvf nginx-1.5.9.tar.gz 

第三步:设置一下配置信息 ./configure --prefix=/usr/local/nginx,或者不执行此步,直接默认配置

注意:出现错误如下图情况,则运行yum -y installpcre-devel添加依赖

centos7.0服务器常用程序安装。mysql、nginx、tomcat、redis、zookeeper

如果出现下图,则运行yum install -yzlib-devel

centos7.0服务器常用程序安装。mysql、nginx、tomcat、redis、zookeeper

第四步:

make 编译make的过程是把各种语言写的源码文件,变成可执行文件和各种库文件)

makeinstall 安装make install是把这些编译出来的可执行文件和库文件复制到合适的地方)

 

在配置信息的时候,也就是在第三步,出现了一下错误:

centos7.0服务器常用程序安装。mysql、nginx、tomcat、redis、zookeeper

错误为:./configure: error: the HTTP rewrite module requires thePCRE library.

安装pcre-devel解决问题
yum -y install pcre-devel

还有可能出现:

错误提示:./configure: error: the HTTP cache module requires md5functions
from OpenSSL library.   You can either disable the module by using
--without-http-cache option, or install the OpenSSL library into the system,
or build the OpenSSL library statically from the source with nginx by using
--with-http_ssl_module --with-openssl=<path> options.

解决办法:

yum -yinstall openssl openssl-devel

安装后在linux下启动和关闭nginx

启动操作

/usr/nginx/sbin/nginx (/usr/nginx/sbin/nginx -t 查看配置信息是否正确)

停止操作
停止操作是通过向nginx进程发送信号(什么是信号请参阅linux 章)来进行的
步骤1:查询nginx主进程号
ps -ef | grep nginx
在进程列表里 面找master进程,它的编号就是主进程号了。
步骤2:发送信号
从容停止Nginx
kill -QUIT 主进程号
快速停止Nginx
kill -TERM 主进程号
强制停止Nginx

pkill -9 nginx

另外, 若在nginx.conf配置了pid文件存放路径则该文件存放的就是Nginx主进程号,如果没指定则放在nginxlogs目录下。有了pid 件,我们就不用先查询Nginx的主进程号,而直接向Nginx发送信号了,命令如下:

kill -信号类型 '/usr/nginx/logs/nginx.pid'

平滑重启

如果更改了配置就要重启Nginx,要先关闭Nginx再打开?不是的,可以向Nginx 发送信号,平滑重启。
平滑重启命令:
kill -HUP 住进称号或进程号文件路径

或者使用

/usr/nginx/sbin/nginx -s reload

注意,修改了配置文件后最好先检查一下修改过的配置文件是否正 确,以免重启后Nginx出现错误影响服务器稳定运行。判断Nginx配置是否正确命令如下:
nginx -t -c /usr/nginx/conf/nginx.conf

或者

/usr/nginx/sbin/nginx -t

如下图:

centos7.0服务器常用程序安装。mysql、nginx、tomcat、redis、zookeeper

Nginx命令

nginx -t 这个是测试写的配置是否存在语法错误

nginx -s reload 这个是重启命令


Tomcat安装

上传apache-tomcat-7.0.69.tar.gz

解压Tar –zxvf apache-tomcat-7.0.69.tar.gz

拷贝Cp apache-tomcat-7.0.69.tar.gz /usr/local/tomcat

/usr/local/tomcat/bin/


Redis安装

1、首先上官网下载Redis 压缩包,地址:http://redis.io/download 下载稳定版3.0.7即可。

2、通过远程管理工具,将压缩包拷贝到Linux服务器中,执行解压操作

centos7.0服务器常用程序安装。mysql、nginx、tomcat、redis、zookeeper

3、执行make 对Redis解压后文件进行编译

centos7.0服务器常用程序安装。mysql、nginx、tomcat、redis、zookeeper

编译完成之后,可以看到解压文件redis-3.0.7 中会有对应的src、conf等文件夹,这和windows下安装解压的文件一样,大部分安装包都会有对应的类文件、配置文件和一些命令文件。

centos7.0服务器常用程序安装。mysql、nginx、tomcat、redis、zookeeper

4、编译成功后,进入src文件夹,执行make install进行Redis安装

5、安装完成,界面如下

centos7.0服务器常用程序安装。mysql、nginx、tomcat、redis、zookeeper

安装成功后,下面对Redis进行部署

三、Redis的部署

1、首先为了方便管理,将Redis文件中的conf配置文件和常用命令移动到统一文件中

a)创建bin和redis.conf文件

mkdir –p /usr/local/redis/bin

mkdir –p /usr/local/redis/ect

b)执行Linux文件移动命令:

mv /lamp/redis-3.0.7/redis.conf /usr/local/redis/etc
cd /lamp/redis-3.0.7/src

mv mkreleasdhdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cliredis-server /usr/local/redis/bin


2、执行Redis-server 命令,启动Redis 服务

centos7.0服务器常用程序安装。mysql、nginx、tomcat、redis、zookeeper

注意:这里直接执行Redis-server启动的Redis服务,是在前台直接运行的(效果如上图),也就是说,执行完该命令后,如果Lunix关闭当前会话,则Redis服务也随即关闭。正常情况下,启动Redis服务需要从后台启动,并且指定启动配置文件。


后台启动redis:

Cd /root/download/redis-3.0.7

vim redis.conf

daemonize yes (修改为yes)

 

启动命令(将修改的配置文件添加上就好了)

         /root/download/redis-3.0.7/src/redis-server/root/download/redis-3.0.7/redis.conf &

设置redis密码:

步骤一:如果直接运行报错

127.0.0.1:6379> auth 123456
ERR Client sent AUTH, but no password is set

步骤二:那么运行这步

设置其密码

redis 127.0.0.1:6379> CONFIG SET requirepass "123456"
OK
redis 127.0.0.1:6379> AUTH 123456

Ok

关于本机ecs的redis导入阿里云RDS

在ecs中找到redis.config的配置文件目录

1.  ############################## APPEND ONLY MODE ###############################  

2.  是否开启AOF,默认关闭(no  

3.  appendonly yes  

4.    

5.  指定 AOF 文件名  

6.  appendfilename appendonly.aof  

7.    

8.  # Redis支持三种不同的刷写模式:  

9.  # appendfsync always #每次收到写命令就立即强制写入磁盘,是最有保证的完全的持久化,但速度也是最慢的,一般不推荐使用。  

10. appendfsync everysec #每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,是受推荐的方式。  

11. # appendfsync no     #完全依赖OS的写入,一般为30秒左右一次,性能最好但是持久化最没有保证,不被推荐。  

12.   

13. #在日志重写时,不进行命令追加操作,而只是将其放在缓冲区里,避免与命令的追加造成DISK IO上的冲突。  

14. #设置为yes表示rewrite期间对新写操作不fsync,暂时存在内存中,rewrite完成后再写入,默认为no  

15. no-appendfsync-on-rewrite no   

16.   

17. #当前AOF文件大小是上次日志重写得到AOF文件大小的二倍时,自动启动新的日志重写过程。  

18. auto-aof-rewrite-percentage 100  

19.   

20. #当前AOF文件启动新的日志重写过程的最小值,避免刚刚启动Reids时由于文件尺寸较小导致频繁的重写。  

21. auto-aof-rewrite-min-size 64mb 

用命令开启aof功能

redis-cli -h 127.0.0.1 -p 6379 config setappendonly yes

会在目录中生成一个aof文件,文件是根据conf的配置文件设置的

centos7.0服务器常用程序安装。mysql、nginx、tomcat、redis、zookeeper

将aof导入阿里云RDS

redis-cli -hr-2ze182eddaf8a934.redis.rds.aliyuncs.com -p 6379 -a RunnarNet2016 --pipe <appendonly.aof

用命令关闭aof功能

redis-cli -h 127.0.0.1 -p 6379 config setappendonly no


SVN服务搭建

安装步骤如下:

1yum install subversion

2、输入rpm -ql subversion查看安装位置,如下图:

centos7.0服务器常用程序安装。mysql、nginx、tomcat、redis、zookeeper

我们知道svnbin目录下生成了几个二进制文件。

输入 svn --help可以查看svn的使用方法,如下图。

centos7.0服务器常用程序安装。mysql、nginx、tomcat、redis、zookeeper

3、创建svn版本库目录

mkdir -p /var/svn/svnrepos

4、创建版本库

svnadmin create /var/svn/svnrepos

执行了这个命令之后会在/var/svn/svnrepos目录下生成如下这些文件

centos7.0服务器常用程序安装。mysql、nginx、tomcat、redis、zookeeper

5、进入conf目录(该svn版本库配置文件)

authz文件是权限控制文件

passwd是帐号密码文件

svnserve.conf SVN服务配置文件


6、设置帐号密码

vi passwd

[users]块中添加用户和密码,格式:帐号=密码,如user=pwd


7、设置权限

vi authz

在末尾添加如下代码:

[/]

dan=rw

w=r

意思是版本库的根目录dan对其有读写权限,w只有读权限。

8、修改svnserve.conf文件

vi svnserve.conf

打开下面的几个注释:

anon-access = read #匿名用户可读

auth-access = write #授权用户可写

password-db = passwd #使用哪个文件作为账号文件

authz-db = authz #使用哪个文件作为权限文件

realm = /var/svn/svnrepos # 认证空间名,版本库所在目录

9、启动svn版本库

svnserve -d -r /var/svn/svnrepos