前言
运行环境:Ubuntu14 server 64位
准备离线安装包:jdk7u79linuxx64.tar.gz、apache-tomcat-7.0.63.tar.gz、redis-3.2.12.tar.gz
Jdk安装
1、 上传jdk7u79linuxx64.tar.gz包到/usr/local/installPackage(installPackage是自定义目录,可随意上传到一个目录下)
2、 在/usr/local目录下创建Java目录:sudo mkdir java
3、 解压jdk安装包到Java目录下:sudo tar -xzvf jdk7u79linuxx64.tar.gz -C /usr/local/java/
4、 在/usr/local/java目录下修改解压缩文件名:sudo mv jdk1.7.0_79 jdk
5、 配置Java环境变量:sudo vi /etc/profile ,在末尾加入:
export JAVA_HOME=/usr/local/java/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jat:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre
保存并退出
6、 让环境变量立即生效:source profile
验证环境变量是否正确:java –version ,出现下图表示配置成功
Tomcat安装
1、 上传apache-tomcat-7.0.63.tar.gz包到/usr/local/installPackage
2、 解压安装包到/usr/local目录下:sudo tar -xzvf apache-tomcat-7.0.63.tar.gz -C /usr/local/
3、 在/usr/local目录下修改解压缩文件名:sudo mv apache-tomcat-7.0.63 tomcat
4、 启动tomcat:/usr/local/tomcat/bin/.startup.sh
若出现以上打印,表示tomcat下的logs日志文件夹没有写入的权限导致启动失败,需要给logs文件赋权:在tomcat目录下执行:sudo chmod 777 logs/
然后进入/usr/local/tomcat/conf/目录下,给目录中所有的配置文件赋权:
sudo chmod 777 *
再次启动tomcat:killall -9 java;/usr/local/tomcat/bin/.startup.sh
查看tomcat是否已启动:ps –ef | grep java
通过网页访问tomcat主页:http://ip:8080
若网页访问出现错误,查看tomcat日志:tail –f /usr/local/tomcat/logs/catalina.out(-f表示查询当前实时日志打印,若查询之前日志可替换成-500(行数))
若出现上述错误,意思是tomcat在work目录创建缓存的文件失败,这时需要给work目录赋权:移动到tomcat目录下:sudo chmod 777 work/
再次重启tomcat:killall -9 java;/usr/local/tomcat/bin/startup.sh
直到网页可以正常访问tomcat主页,如下图:
注:tomcat启动一半卡住,如图:
需修改jdk配置,进入jdk安装目录后执行:vi jre/lib/security/java.security
修改securerandom.source=file:/dev/urandom
Redis安装
1、 上传redis-3.2.12.tar.gz包到/usr/local/installPackage
2、 在/usr/local/目下创建Redis_src目录:sudo mkdir Redis_src
同时创建redis目录:sudo mkdir redis
在redis目录下创建配置目录conf
3、 加压缩安装包:sudo tar -xzvf redis-3.2.12.tar.gz -C /usr/local/Redis_src
4、 进入/usr/local/Redis_src/redis-3.2.12/目下进行编译:sudo make
5、 执行安装到/usr/local/redis/目下:sudo make PREFIX=/usr/local/redis install
(直接执行sudo make install会默认安装在/usr/local/bin目录下)
6、 /usr/local/redis目录下会创建一个bin目录,且bin目录下会生成redis的执行文件
7、 拷贝配置文件:sudo cp /usr/local/Redis_src/redis-3.2.12/redis.conf /usr/local/redis/conf
8、 修改配置:sudo vi /usr/local/redis/conf/redis.conf
找到bind 127.0.0.1 改为:bind 0.0.0.0(开启redis远程连接访问的功能)
找到 daemonize no 改为:daemonize yes(开启redis后台运行的功能)
找到 requirepass 取消前面的#号(取消注释)改为:requirepass 123456(开启redis密码,123456为自定义的密码)
9、 启动redis:/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
10、 连接redis验证是否启动成功:
/usr/local/redis/bin/redis-cli –a 123456(123456为密码)
如下图表示启动成功(也可通过客户端软件直接连接验证)
11、 redis持久化配置(若只安装redis,可不用做以下配置,修改redis.conf)
11.1、介绍
RDB:在一个时间间隔保存某个时间点的一个数据快照
AOF:记录每一次redis服务收到的写操作。数据回复时,这些记录的操作会逐条执行从而重建出原来的数据。写操作命令记录的格式和redis协议一致,以追加的方式进行保存。
11.2、RDB配置:
dbfilename:RDB文件名,默认为dump.rdb
dir:文件保存路径,默认为./(RDB和AOF共用此路径配置)
save:保存点,举例save 900 1:每900秒,若数据发生了1次以上的变动,则redis会自动保存快照文件。
若要禁用快照保存功能,可以注释掉所有的save配置或者在最后一个save后添加一条save “”的配置。
11.3、AOF配置:
appendonly:把no改为yes,则开启AOF
appendfilename:AOF文件名
always:每当有新命令追加到AOF时调用fsync。速度最慢,但最安全。
everysec:每秒fsync一次。速度快,安全性不错(最大丢失1秒数据)。
no:从不fsync,交由redis系统自行处理,速度最快,但安全性没保障。
12、 redis的一个错误记录
(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.
原因:Redis配置为保存RDB快照,由于强制关闭了redis服务目前无法在磁盘上持久保存,导致修改数据集的写入命令被禁用。
解决:在redis安装目录执行:./redis-cli -a 123456(登录密码)后输入:
config set stop-writes-on-bgsave-error no
意思为:忽略此异常,让redis服务继续正常运行。
但这样做redis还是无法把数据写入磁盘进行持久化保存
修改sudo vi /etc/sysctl.conf配置文件,新增一条配置:
vm.overcommit_memory=1
Mysql配置
1、 修改mysql配置文件,开启远程访问
vi /etc/mysql/mysql.conf.d/mysqld.cnf
找到bind-address注释此行或者改为bind-address = 0.0.0.0
2、 执行:mysql -u root -p
进入mysql命令行,选择mysql数据库:use mysql;
update user set host='%' where user='root';
flush privileges;
3、 查看mysql服务认证插件:select user,plugin from mysql. user;
若root对应的plugin不是mysql_native_password,则执行:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
修改root密码的同时使用mysql_native_password对密码进行编码
4、 MySQL5.7及以上版本mysql.user表没有password字段改成authentication_string
4.1、创建用户:
CREATE USER 'unimat'@'%' IDENTIFIED BY 'password';
4.2、授权:
GRANT ALL privileges on mq.* to 'unimat'@'%';
flush privileges;
4.3、查询权限:
show grants for 'unimat'@'%';
PS:GRANT USAGE:mysql usage权限就是空权限,默认create user的权限,只能连库,啥也不能干
4.4、关闭mysql严格模式
修改配置文件:vi /etc/mysql/mysql.conf.d/mysql.cnf
加入此行:sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIO