zoukankan      html  css  js  c++  java
  • tomcat+java+redis环境linux安装

    最近要加一个环境测试,自力更生,丰衣足食,记下来下次安装环境速度快点

    java jdk-1.80_131 64位  

    这个jdk 对于初次下载的人要注意,oracel现在不登录不让下载,而注册用户时页面无反应,应该是关闭了接口.可以在百度上搜个别人共享的账号使用.

     
    输入:javac –version 查看服务器上,当前默认的jdk 版本
    
    [root@sxora01 ~]# java -version
    java version "1.7.0_45"
    OpenJDK Runtime Environment (rhel-2.4.3.3.el6-x86_64 u45-b15)
    OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
    

      再输入:rpm -qa|grep java       卸载

    [root@sxora01 ~]# rpm -qa|grep java
    java-1.6.0-openjdk-devel-1.6.0.0-1.66.1.13.0.el6.x86_64
    java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
    tzdata-java-2013g-1.el6.noarch
    java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
    libvirt-java-devel-0.4.9-1.el6.noarch
    java-1.7.0-openjdk-devel-1.7.0.45-2.4.3.3.el6.x86_64
    libvirt-java-0.4.9-1.el6.noarch
    

     这个时候,我们可以看到linux 默认java 版本,但是现在我们想使用jdk 1.8 那么我们就要去卸载默认的版本

    2 安装jdk
    在usr下面新建一个Java目录 然后在Java下面新建一个jdk文件夹和tomcat文件夹

    [root@iZj1fkye8uu7o0Z ~]# cd /usr
    [root@iZj1fkye8uu7o0Z usr]# ls
    bin etc games include java lib lib64 libexec local sbin share src tmp
    [root@iZj1fkye8uu7o0Z usr]# cd java
    [root@iZj1fkye8uu7o0Z java]# ls
    jdk tomcat
    创建目录的命令mkdir java 和mkdir tomcat 分别用于解压jdk 和tomcat
    [root@localhost ~]# cd /usr/
    [root@localhost usr]# mkdir java
    [root@localhost usr]# cd java/
    [root@localhost java]# mkdir jdk
    [root@localhost java]# cd jdk
    然后将刚刚下载的jdk解压到dk目录下面

    执行解压命令(如果不是此版,不要忘记根据文件名更改)注意这里的-C为大写


    [root@iZj1fkye8uu7o0Z ~]# tar -xvf jdk-8u131-linux-x64.tar.gz -C /usr/java/jdk
    解压完后 进入到/usr/java/jdk下面可以查看到 刚刚解压的文件

    [root@iZj1fkye8uu7o0Z ~]# cd /usr/java/jdk
    [root@iZj1fkye8uu7o0Z jdk]# ls
    jdk1.8.0_131
    [root@iZj1fkye8uu7o0Z jdk]#
    配置环境变量
    在etc 的profile里面配置环境变量


    [root@iZj1fkye8uu7o0Z ~]# vi /etc/profile
    #set java enviroment
    export JAVA_HOME=/usr/java/jdk/jdk1.8.0_131
    export JRE_HOME=/usr/java/jdk/jdk1.8.0_131/jre
    export CLASSPATH=.:$JAVA_HOME/lib$:JRE_HOME/lib:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin/$JAVA_HOME:$PATH

    注意:这里的jdk名称和自己下载的jdk名称版本一致 我是用的是jdk1.8.0_131

    保存退出。

    source /etc/profile

    到目前为止安装jdk的工作都已经完成,那么就来测试一下是否安装成功了吧

    [root@iZj1fkye8uu7o0Z ~]# java -version
    java version "1.8.0_131"
    Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
    [root@iZj1fkye8uu7o0Z ~]#

    现在,我们再来安装tomcat

    cd /usr 进入 usr 目录

    mkdir tomcat 创建tomcat 文件夹

    mv apache-tomcat-8.0.39.tar.gz  /usr/tomcat 将tomcat 包移动到tomcat里面

    tar -xvzf apache-tomcat-8.0.39.tar.gz 进行解压

    [root@sxweb tomcat]# mv apache-tomcat-8.0.39/* /usr/tomcat
    [root@sxweb tomcat]# ll
    total 9204
    drwxr-xr-x 2 root root 4096 Jan 5 10:24 apache-tomcat-8.0.39
    -rw-r--r-- 1 root root 9304967 Dec 27 17:16 apache-tomcat-8.0.39.tar.gz
    drwxr-xr-x 2 root root 4096 Jan 5 10:24 bin
    drwxr-xr-x 2 root root 4096 Nov 9 16:53 conf
    drwxr-xr-x 2 root root 4096 Jan 5 10:24 lib
    -rw-r--r-- 1 root root 57011 Nov 9 16:53 LICENSE
    drwxr-xr-x 2 root root 4096 Nov 9 16:48 logs
    -rw-r--r-- 1 root root 1444 Nov 9 16:53 NOTICE
    -rw-r--r-- 1 root root 6741 Nov 9 16:53 RELEASE-NOTES
    -rw-r--r-- 1 root root 16195 Nov 9 16:53 RUNNING.txt
    drwxr-xr-x 2 root root 4096 Jan 5 10:24 temp
    drwxr-xr-x 7 root root 4096 Nov 9 16:50 webapps
    drwxr-xr-x 2 root root 4096 Nov 9 16:48 work
    [root@sxweb tomcat]# cd apache-tomcat-8.0.39
    [root@sxweb apache-tomcat-8.0.39]# ll
    total 0
     

    执行后,在将解压文件夹内容移出到tomcat 目录下

    删除空文件夹

    [root@sxweb tomcat]# rm -rf apache-tomcat-8.0.39
     cp /usr/tomcat/bin/catalina.sh /etc/init.d/tomcat

     将catalina.sh 复制成/etc/init.d/tomcat

    在对该文件进行编辑

    [root@sxweb ~]# cd /etc/init.d
    [root@sxweb init.d]# vim tomcat
     在文件中加入,我下段全部内容

    # chkconfig: 2345 63 37
    # description: tomcat server init script
    # Source Function Library
    . /etc/init.d/functions
    JAVA_HOME=/usr/java/jdk1.8.0_111
    CATALINA_HOME=/usr/tomcat
     

    注释掉的也要加上,不要漏掉

    完整:

    #!/bin/sh
    # chkconfig: 2345 63 37
    # description: tomcat server init script
    # Source Function Library
    . /etc/init.d/functions
    JAVA_HOME=/usr/java/jdk1.8.0_111
    CATALINA_HOME=/usr/tomcat
    # Licensed to the Apache Software Foundation (ASF) under one or more
    # contributor license agreements. See the NOTICE file distributed with
    # this work for additional information regarding copyright ownership.
    # The ASF licenses this file to You under the Apache License, Version 2.0
    # (the "License"); you may not use this file except in compliance with
    # the License. You may obtain a copy of the License at
    #
    # http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.

    # -----------------------------------------------------------------------------
    # Control Script for the CATALINA Server
    "tomcat" 619L, 22616C
     然后执行

    [root@tomcat ~]# chmod 755 /etc/init.d/tomcat 
    [root@tomcat ~]# chkconfig --add tomcat
    [root@tomcat ~]# chkconfig tomcat on
    启动tomcat
    [root@tomcat ~]# service tomcat start      
    停止tomcat
    [root@tomcat ~]# service tomcat stop
     

    3:redis

     redis下载地址:http://www.redis.cn/download.html

    $ wget http://download.redis.io/releases/redis-5.0.5.tar.gz
    $ tar xzf redis-5.0.5.tar.gz
    $ cd redis-5.0.5
    $ make  

     解压目录下

    运行

    src/redis-server 启动服务
    netstat -lnp 查看服务端口启动情况
    修改配置文件   redis.conf

    在此我只改后台运行一项

    daemonize设置为yes

    如果是用apt-get或者yum install安装的redis,可以直接通过下面的命令停止/启动/重启redis

    /etc/init.d/redis-server stop 
    /etc/init.d/redis-server start 
    /etc/init.d/redis-server restart

    如果是通过源码安装的redis,则可以通过redis的客户端程序redis-cli的shutdown命令来重启redis

    1.redis关闭 
    src/redis-cli -h 127.0.0.1 -p 6379 shutdown

    2.redis启动 
    src/redis-server

    如果上述方式都没有成功停止redis,则可以使用终极武器 kill -9

    加入开机启动

    设置redis 为开机启动,避免每次开机都要重新开启redis。
    1、编写脚本
      vim /etc/init.d/redis
    2、内容如下

    #!/bin/bash
    #
    # chkconfig: 2345 10 90  
    # description: Start and Stop redis   
    PATH=/usr/local/bin:/sbin:/usr/bin:/bin   
    REDISPORT=6379  
    EXEC=/usr/local/redis-5.0.4/src/redis-server   
    REDIS_CLI=/usr/local/redis-5.0.4/src/redis-cli   
    PIDFILE=/var/run/redis.pid   
    CONF="/usr/local/redis-5.0.4/redis.conf"  
    AUTH="1234"  
    case "$1" in   
            start)   
                    if [ -f $PIDFILE ]   
                    then   
                            echo "$PIDFILE exists, process is already running or crashed."  
                    else  
                            echo "Starting Redis server..."  
                            $EXEC $CONF   
                    fi   
                    if [ "$?"="0" ]   
                    then   
                            echo "Redis is running..."  
                    fi   
                    ;;   
            stop)   
                    if [ ! -f $PIDFILE ]   
                    then   
                            echo "$PIDFILE exists, process is not running."  
                    else  
                            PID=$(cat $PIDFILE)   
                            echo "Stopping..."  
                           $REDIS_CLI -p $REDISPORT  SHUTDOWN    
                            sleep 2  
                           while [ -x $PIDFILE ]   
                           do  
                                    echo "Waiting for Redis to shutdown..."  
                                   sleep 1  
                            done   
                            echo "Redis stopped"  
                    fi   
                    ;;   
            restart|force-reload)   
                    ${0} stop   
                    ${0} start   
                    ;;   
            *)   
                   echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2  
                    exit 1  
    esac

    3、设置redis 权限
      chmod 755 /etc/init.d/redis
    4、启动redis
      /etc/init.d/redis start
    5、设置开机启动
      cd /etc/init.d/
      chkconfig redis on 

         chkconfig --list named

    6出现问题

    make[1]: *** [adlist.o] Error 1   make出错

    提示缺少cc,执行:yum -y install gcc gcc-c++ libstdc++-devel

    make继续报错:

    cd src && make all
    make[1]: Entering directory `/home/liuchaofan/redis-3.0.7/src‘
        CC adlist.o
    adlist.c:1: error: CPU you selected does not support x86-64 instruction set
    make[1]: *** [adlist.o] Error 1
    make[1]: Leaving directory `/home/liuchaofan/redis-3.0.7/src‘
    make: *** [all] Error 2 

    运行 make CFLAGS="-march=x86-64"

    完美安装


    注意:
    如果无法通过http协议访问虚拟,需要关闭防火墙,防火墙相关命令
      service iptables stop 暂停
      chkconfig iptables off 永久关闭
      service iptables status 检查状态

    附录开启远程debug

    在tomcat/bin 下vim catlina.sh 加入下行

    CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"

    MySQL密码太简单让网上黑客给扫描了....要比特币, 尽管操作了一番,基本功能正常, 搭建hib时 存在问题,干脆卸载了重装一下.

    yum remove mysql-community-server  yum安装就yum卸载

     rpm -qa|grep -i mysql  查看rpm mysql安装目录

    rpm -ev mysql-community-libs-8.0.11-1.el7.x86_64 

    如果有依赖

    rpm -ev mysql-community-libs-compat-8.0.11-1.el7.x86_64 --nodeps

    查找之前mysql的目录,都删掉

    find / -name mysql

    把该删的都删掉

     rm -rf  xxx/mysql

    记得删除/etc/my.cnf文件

    rm -rf /etc/my.cnf

     

    yum 安装mysql 

    第一要改变到中国镜像,我用 的阿里云,速度提升1000倍

    1、首先备份系统自带yum源配置文件/etc/yum.repos.d/CentOS-Base.repo

    [root@localhost ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

    2、查看CentOS系统版本

    [root@localhost ~]lsb_release -a

    3、下载ailiyun的yum源配置文件到/etc/yum.repos.d/
    CentOS7

    [root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

    CentOS6

    [root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

    CentOS5

    [root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo



    4、运行yum makecache生成缓存

    [root@localhost ~]# yum makecache

    1 下载并安装MySQL官方的 Yum Repository

    [root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

      使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。

    [root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm

      之后就开始安装MySQL服务器。

    [root@localhost ~]# yum -y install mysql-community-server

     但此时还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

    [root@localhost ~]# yum -y remove mysql57-community-release-el7-10.noarch

      此时才算真的完成了。

    //查看mysql服务状态 [root@mytestlnx02 ~]# ps -ef | grep -i mysql

    systemctl stop  mysqld.service

    systemctl start  mysqld.service

    grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

    yum 安装jdk 1.8  建议不这么装,安装完之后文件分散到各处

    yum list java-1.8*   

    安装1.8.0的所有文件

    yum install java-1.8.0-openjdk* -y      

    [root@instance-zcwqwjf3 ~]# java -version
    openjdk version "1.8.0_222"
    OpenJDK Runtime Environment (build 1.8.0_222-b10)
    OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode

    tomcat  shutdown 总是连不上8005的原因

    原来是启动tomcat时 中间阻断了,导致8005端口一直起不来,或中断超时后才能运行到8005端口,启动缓慢.......真坑

    通过netstat -lnp 就能看到,而shutdown.sh是需要连接8005接口才能关闭

    于CentOS中tomcat的8005端口启动不起来的解决办法
    在阿里云CentOS环境中配置tomcat服务器,结果tomcat的8005端口半天都起不来(tomcat的关闭端口),这个端口起不来就无法访问tomcat和关闭tomcat。杀进程或者shutdown.sh永远失败,重启服务器也不行
    (ps:最新发现,不是tomcat不能用了,是启动太慢了,我误认为不能用了)
    最后找到原因:

    tomcat在启动时会使用如下几个端口

    其中8005端口使用的比较晚,也就是说,我们刚startup.sh的时候,使用netstat -tlpn查看,是没有8005端口的,过一段时间tomcat完全启动

    之后,才会出现8005端口占用。

    而出现我那种情况的原因是,在tomcat启动后,8005端口占用前,我就shutdown.sh了,就报错8005云云。。。

    所以以后shutdown.sh的时候确保8005已占用就好了
    在8005端口启动前就shutdown.sh,导致了异常,为什么别人没有遇到?原来别人的tomcat在1s内就启动8005端口了,而我的tomcat启动为什么这么慢?
    查看tomcat log

    大红框为一次完整启动tomcat打印的log,图中可以看出耗时在小红框标记的地方,经搜索,终于找到启动慢的根源了,原来是计算随机数的时候阻塞了。。
    解决方法:
    方式一:
    直接配置jdk securerandom.source为urandom解决:
    1.打开$JAVA_HOME/jre/lib/security/java.security这个文件,找到securerandom.source配置项

    修改为:
    securerandom.source=file:/dev/./urandom

    2.保存退出后,使用killall杀掉java进程:
    killall java

    3.启动tomcat,8005端口就起来了:
    好了好了,tomcat启动快了,800ms搞定,不会异常了

    方拾二:
    yum install rng-tools # 安装rngd服务(熵服务,增大熵池)
    systemctl start rngd # 启动服务

    最好的mysql rpm安装,在yum 总是出现异常的情况下

    下载rpm

    首先到mysql官网下载页面,根据你自己的需求,选择适合自己的版本下载。这里我下载的是64位的mysql@5.7

    wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-1.el6.x86_64.rpm-bundle.tar

    解压

    在上述压缩包所在目录执行:

    tar -xvf mysql-5.7.19-1.el6.x86_64.rpm-bundle.tar

    mysql-server安装

    直接使用下面的命令进行安装。

    rpm -ivh mysql-community-server-5.7.19-1.el6.x86_64.rpm

    所以,你可能会遇到下面的error

    图片描述

    先看一下最后一条错误提示,很明显,就是说我们没有安装mysql-client。所以,先把这个小东西给安装了。同样执行上述的命令。

    rpm -ivh mysql-community-client-5.7.19-1.el6.x86_64.rpm

    对于上面的三条错误,是因为系统中缺少numactl。所以,先使用yum进行安装。

    yum install -y numactl

    安装成功之后,再执行上述的mysql-server安装命令。bingo:

    图片描述

    当你看到这些输出,说明你已经成功的安装了mysql-servermysql-client在你的系统中。

    登录

    执行以下命令登录mysql

    mysql -uroot -p

    呃呃呃呃呃呃呃,什么鬼,报错了:

    图片描述

    提示告诉我们说,访问被拒绝了。什么,以前不都是这样登录的吗,为啥会被拒绝。哈哈哈?,其实啊,不同的mysql版本,对待首次登录的操作是不一样的。对于mysql@5.7来说,可以通过下面的方式看看有什么玄机。

    打开mysql的配置文件

    vim /etc/my.conf

    在第26行的位置,有如下配置。

    26 log-error=/var/log/mysqld.log

    这行配置指定了mysql的标准错误输出日志文件,打开这个文件(内容可能有点多,使用如下命令打开)。

    head -100 /var/log/mysqld.log

    找到这么一句话:

    A temporary password is generated for root@localhost: oggcq!hnq6Ek

    这句话就是说,我们在安装mysql-server的时候,mysql给我们生成了一个临时的密码,这个密码就是我们首次登录的时候需要输入的密码(你的可能和这个不一样)。所以,带上这个密码登录。

    mysql -uroot -p'oggcq!hnq6Ek'

    铛铛铛铛铛,登录成功,bingo。
    既然登录成功了,来,简单的操作一下。

    show databases;

    什么鬼,怎么又错了。

    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

    但是这个错误很好理解,就是说,我们首次登录成功之后,mysql会强制我们修改登录密码的。好吧,那就修改吧。

    alter user 'root'@'localhost' identified by '123456';

    修改成功之后,退出客户端,用新密码重新登录mysql

    mysql -uroot -p123456

    如果以上方法查不到日志可以通过常用的忘记密码更改密码的方式进行

    修改mysql的配置文件my.cnf

    my.cnf配置文件的位置,一般在/etc/my.cnf,有些版本在/etc/mysql/my.cnf

    在配置文件中,增加

    skip-grant-tables
    [mysqld]
    
    skip-grant-tables
    注意修改完之后再注释掉
    [root@mytestlnx02 ~]# service mysqld start
    [root@mytestlnx02 ~]#
    [root@mytestlnx02 ~]# mysql -u root 
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
     
    mysql>
    

     

    mysql> use mysql;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    mysql> alter user 'root'@'localhost' identified by 'yourpass';
    ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
    

      报错不能通过这种方式更改,需要用更新的方式修改密码.....呵呵呵

    update user set password=password("你的新密码") where user="root";

    mysql> update user set password=password("xxxx") where user="root";
    ERROR 1054 (42S22): Unknown column 'password' in 'field list
    

      以上是版本低的mysql表内的密码字段,5.7是下边的

    update user set authentication_string=password('xxxxxxxx') where User='root'; 

    mysql> update user set authentication_string=password(xxxxx') where User='root';  
    Query OK, 1 row affected, 1 warning (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 1

      ok修改成功,密码不要太简单,这个mysql要智能检测

    flush privileges; 更新

     

     
  • 相关阅读:
    POJ 1611
    [Erlang24]使用zotonic搭建网站记录
    [Erlang23]怎么有效的遍历ETS表?
    [Erlang22]如何按规则位数输出数字
    [Git00] Pro Git 一二章读书笔记
    十分钟用HTML&CSS让博客园变得高大上
    [Erlang21]Erlang性能分析工具eprof fporf的应用
    [Erlang20]一起攻克Binary
    [Erlang19]Erlang的config文件读取效率问题
    [Erlang18]教练!又发现Erlang Shell里面的神奇函数一只
  • 原文地址:https://www.cnblogs.com/zuochanzi/p/11584198.html
Copyright © 2011-2022 走看看