最近要加一个环境测试,自力更生,丰衣足食,记下来下次安装环境速度快点
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@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-server
和mysql-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; 更新