首页 > 技术文章 > linux环境部署 (jdk/tomcat/mysql/redis)

Linlearn 2019-07-02 10:30 原文

1. mysql官网下载mysql编译好的二进制安装包,在下载页面Select Platform:选项选择linux-generic,然后把页面拉到底部,64位系统下载Linux - Generic (glibc 2.5) (x86, 64-bit)32位系统下载Linux - Generic (glibc 2.5) (x86, 32-bit)

 

 

 

  1.  解压32位安装包:

进入安装包所在目录,执行命令:tar mysql-5.6.17-linux-glibc2.5-i686.tar.gz

 

 

 

  1.  复制解压后的mysql目录到系统的本地软件目录:

执行命令:cp mysql-5.6.17-linux-glibc2.5-i686 /usr/local/mysql -r

注意:目录结尾不要加/

 

 

 

  1.  添加系统mysql组和mysql用户:

执行命令:groupadd mysql和useradd -r -g mysql mysql

 

 

 

 

 

  1.  安装数据库:

进入安装mysql软件目录:执行命令 cd /usr/local/mysql

修改当前目录拥有者为mysql用户:执行命令 chown -R mysql:mysql ./

安装数据库:执行命令 ./scripts/mysql_install_db --user=mysql

修改当前目录拥有者为root用户:执行命令 chown -R root:root ./

修改当前data目录拥有者为mysql用户:执行命令 chown -R mysql:mysql data

到此数据库安装完毕

 

 

 

  1.  启动mysql服务和添加开机启动mysql服务:

添加开机启动:执行命令cp support-files/mysql.serve平时r /etc/init.d/mysql,把启动脚本放到开机初始化目录

启动mysql服务:执行命令service mysql start

执行命令:ps -ef|grep mysql 看到mysql服务说明启动成功,如图

 

 

 

  1.  修改mysqlroot用户密码,root初始密码为空的:

执行命令:./bin/mysqladmin -u root password '密码'

 

 

  1. mysql客户端放到默认路径:

ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql

注意:建议使用程度mysql

 

 

以上更详细的内容地址:http://jingyan.baidu.com/article/a378c9609eb652b3282830fd.html

 

 

 

配置环境变量

 

 

 

 

 

 

 

 

mysql设置不区分大小写

1.windows下

到安装mysql的目录,修改my.ini文件

在文件最后一行加上下面一句话

lower_case_table_names=1

lower_case_table_names = 1
说明 0:区分大小写,1:不区分大小写

效果如下

 

[mysqld]  
port = 3306  
basedir=F:/mysql-5.7.21-winx64
datadir=F:/mysql-5.7.21-winx64/data
max_connections=200  
character-set-server=utf8  
default-storage-engine=INNODB  
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES  
[mysql]  
default-character-set=utf8  
lower_case_table_names=1

 

重启mysql

2.linux下

进入etc下面

cd /etc/

编辑my.cnf文件

vi my.cnf

最后一行加上下面一句

lower_case_table_names=1

效果如下

 

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
 
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
 
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
 
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
lower_case_table_names=1

 

重启mysql:

systemctl restart mysqld

 

注意问题:

自我感觉mysql 5.7这一系列的版本都很变态啊,不管是windows的还是Linux,安装的时候总会出些莫名其妙的想法。当初在windows下安装mysql的时候,年轻不懂事下了5.7版本的,结果出现了各种难以捉摸的bug,在网上查也找不到,最后发现一个同病相怜的人诉说是版本问题,装成5.6就好了。而这次装linux的,年少轻狂的我忘记了windows下的教训,装了5.7,结果一直出现各种bug,哎,还是太年轻了。希望大家能吸取教训吧。

 

9.安装完后的使用

安装完以后,大家可以输入mysql -uroot -p,然后enter password来进入mysql。

进去后可以使用mysql的各种语法,首先可以查看database:show databases。

 

Linuxmysql的卸载:

1、查找以前是否装有mysql

命令:rpm -qa|grep -i mysql

可以看到mysql的两个包:

mysql-4.1.12-3.RHEL4.1

mysqlclient10-3.23.58-4.RHEL4.1

2、删除mysql

删除命令:rpm -e --nodeps 包名

( rpm -ev mysql-4.1.12-3.RHEL4.1 )

3、删除老版本mysql的开发头文件和库

检查各个mysql文件夹是否删除干净

find / -name mysql

结果如下:

/var/lib/mysql

/usr/local/mysql

/usr/lib/mysql

/usr/include/mysql

命令:

rm -fr /usr/lib/mysql

rm -fr /usr/include/mysql

注意:卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除

rm -f /etc/my.cnf

rm -fr /var/lib/mysql

 4.删除mysql用户及用户组

 userdel mysql

groupdel mysql

 

Linux下创建和删除软链接:

1.先建立一个软连接

 

 1 [root@rekfan.com test]# ls -il

 2 总计  0

 3 1491138 -rw-r–r– 1 root root 48 07-14 14:17 file1

 4 1491139 -rw-r–r– 2  root root 0 07-14 14:17 file2

 5 1491139 -rw-r–r– 2 root root 0 07-14 14:17  file2hand

 6 #建立file1和file1soft软连接

 7 [root@rekfan.com test]# ln -s file1  file1soft

 8 [root@rekfan.com test]# ls -il

 9 总计 0

10 1491138 -rw-r–r– 1 root  root 48 07-14 14:17 file1

11 1491140 lrwxrwxrwx 1 root root 5 07-14 14:24  file1soft -> file1

12 1491139 -rw-r–r– 2 root root 0 07-14 14:17  file2

13 1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand

 

其中,ln -s file1 filesoft 中的file1就是源文件,file1soft就是目标链接文件名,其作用是当进入filesoft目录,实际上是链接进入了file1目录

2.删除上面建立的软连接

 

 1 [root@rekfan.com test]# ls -il

 2 总计  0

 3 1491138 -rw-r–r– 1 root root 0 07-14 14:17 file1

 4 1491140 lrwxrwxrwx 1  root root 5 07-14 14:24 file1soft -> file1

 5 1491139 -rw-r–r– 2 root root 0  07-14 14:17 file2

 6 1491139 -rw-r–r– 2 root root 0 07-14 14:17  file2hand

 7 #删除软连接

 8 [root@rekfan.com test]# rm -rf file1soft

 9 [root@rekfan.com test]#  ls -il

10 总计 0

11 1491138 -rw-r–r– 1 root root 0 07-14 14:17 file1

12 1491139  -rw-r–r– 2 root root 0 07-14 14:17 file2

13 1491139 -rw-r–r– 2 root root 0 07-14  14:17 file2hand

 

 

 

启动mysql时显示:/tmp/mysql.sock 不存在的解决方法

 

1 [root@localhost mysql]# bin/mysqladmin -u root password root

2 bin/mysqladmin: connect to server at 'localhost' failed

3 error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'

4 Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!

5 [root@localhost mysql]# bin/mysql -u root -p

6 Enter password:

7 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

8 分析:是/tmp/mysql.sock 不存在

 

由于搜索的mysql.sock路径是在/tmp下,而mysql安装的mysql.sock在/var/lib/mysql下,所以选择建立符号(软)连接:

 

1 # ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

2 # bin/mysql -u root

3 Welcome to the MySQL monitor. Commands end with ; or g.

4 Your MySQL connection id is 1

5 Server version: 5.0.45 MySQL Community Server (GPL)

6 Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

7 mysql>

 

 

安装mysql报错:FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:Data::Dumper

解决方法 :安装autoconf库

命令:yum-y install autoconf   //此包安装时会安装Data:Dumper模块

 

Centos 7以上启动mysql报错:Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/bj-dev2.pid).

1、可能是/usr/local/mysql/data/mysql.pid文件没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data”  然后重新启动mysqld!

2、可能进程里已经存在mysql进程
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9  进程号”杀死,然后重新启动mysqld!

3、可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。

4、mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data

5、skip-federated字段问题
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。

6、错误日志目录不存在。(本人是这个方法解决的)
解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限

7、selinux惹的祸,如果是centos系统,默认会开启selinux
解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。

 

 

 

 

linux 安卓mysql出现的问题Starting MySQLCouldn't find MySQL server (/usr/local/mysql/[失败]ysqld_safe)

2018年02月11日 14:31:26 云游遍天下 阅读数:11119

 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011410254/article/details/79310469

参照该博主的文章,发现有问题,,点击即可查看

遇到的问题启动报这个错误:Starting MySQLCouldn't find MySQL server (/usr/local/mysql/[失败]ysqld_safe)

 

在执行第一步安装的时候注意把这个改下:

把这个步骤改成

#解压

tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

#复制解压后的mysql目录

cp -r mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql

改成下面的就可以了

1.    #解压
2.    tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
3.    #重命名
4.    mv mysql-5.6.33-linux-glibc2.5-x86_64 mysql
5.    #复制解压后的mysql目录
6.    cp -r mysql /usr/local



 

 

Linux安装MySQL时候出现log-error set to '/var/log/mariadb/mariadb.log', however file don't exists.

2018年06月27日 15:09:47 BertonYip 阅读数:7300

Linux安装MySQL时候出现了问题

 

 

这个一看就是权限问题了

log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.



用WinSCP去看的时候发现并没有/var/log/mariadb/mariadb.log这个路径,那我们就创建, 并给mysql用户授权即可

 

mkdir /var/log/mariadb 
touch /var/log/mariadb/mariadb.log 

chown -R mysql:mysql  /var/log/mariadb/

再输入开启mysql服务, 搞定!

 

 

 

 

 

CentOS上搭建Tomcat环境并配置服务自启动

 

下载安装JDK

卸载原装的OpenJDK(如果有)

# 查看是否安装Java
java -version
# 查看Java的安装包信息
rpm -qa | grep java
# 卸载原装Java,<java_package>为查找到的安装包信息
rpm -e --nodeps <java_package>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

OpenJDK是JDK的开源版本,Linux使用yum源安装的JDK都是这个版本,建议使用OracleJDK代替OpenJDK。 
我这里使用的是最小化安装,所以就没有自带JDK了。

下载OracleJDK,官网下载地址:

http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-i586.tar.gz

# 创建安装目录
mkdir -p /usr/local/java
# 解压
tar -xzvf jdk-8u151-linux-i586.tar.gz -C /usr/local/java
  • 1
  • 2
  • 3
  • 4

 

配置JAVA环境变量:

vi /etc/profile
  • 1

在/etc/profile文件末尾添加以下几行配置,注意第二行的最前面的“.”指的是当前路径,不是手误。还有JAVA_HOME目录的路径尽量靠过来,避免手残,敲错了找半天。

export JAVA_HOME=/usr/local/java/jdk1.8.0_151
export CLASSPATH=.:$JAVA_HOME/lib/tool.jar:$JAVA_HOME/lib/dt.jar
export PATH=$PATH:$JAVA_HOME/bin
  • 1
  • 2
  • 3

 

使用source命令让配置生效

source /etc/profile
  • 1

 

下载并安装Tomcat

从清华大学的镜像站下载会快一点:

https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.23/bin/apache-tomcat-8.5.23.tar.gz

因为Tomcat是Java写的,所以只要有了JRE就可以“一次编译到处运行”。so,Tomcat解压即可使用。

解压

tar -xzvf apache-tomcat-8.5.23.tar.gz -C /usr/local/java
  • 1

 

配置Tomcat的环境变量

/etc/profile文件后再追加一条TOMCAT的环境变量

# 在/etc/profile文件末尾追加TOMCAT的环境变量
export CATALINA_HOME=/usr/local/java/apache-tomcat-8.5.23
  • 1
  • 2

CATALINA是Tomcat的启动程序,Tomcat的启动脚本都是使用CATALINA_HOME作为变量,所以这里我们要设置CATALINA_HOME

 

使用source命令完成是配置生效

source /etc/profile
  • 1

将Tomcat配置为服务

将Tomcat配置为系统服务后,就方便使用service命令来启动或关闭Tomcat服务

省的每次启动后还要到tomcat的bin目录下找startup脚本

# 把tomcat的脚本文件拷一份到/etc/init.d目录
cp /usr/local/java/apache-tomcat-8.5.23/bin/catalina.sh /etc/init.d/tomcat8
 
# 并把改脚本授权给所有用户执行
chmod 755 /etc/init.d/tomcat8
  • 1
  • 2
  • 3
  • 4
  • 5

拷贝的脚本并不能直接使用,还需要修改添加一些配置。

vi /etc/init.d/tomcat8
  • 1

添加chkconfigdescription两行注释。有这两行注释才能支持chkconfig命令配置服务;

同时加上JAVA_HOMECATALINA_HOME两个变量的声明。

#chkconfig: 2345 10 90
#description: tomcat8 service
 
export JAVA_HOME=/usr/local/java/jdk1.8.0_151
export CATALINA_HOME=/usr/local/java/apache-tomcat-8.5.23
  • 1
  • 2
  • 3
  • 4
  • 5

这里配置的2345指的是2345这4个运行级别会开机自启动,10是启动优先级,90是关闭优先级,优先级的值为0-99,越小优先级越高。

前面在/etc/profile文件配置中的环境变量只会在shell登录后执行,开机的过程中并不会加载/etc/profile,但是tomcat的启动脚本中需要这两个变量,所以需要在启动脚本中加入这两个变量。

 

使用chkconfig --add命令添加服务

[root@localhost ~]# chkconfig --add tomcat8
  • 1

配置完成后Tomcat服务即可开机自启动

同时还可以使用service tomcat8 startservice tomcat8 stop命令来启动和停止tomcat服务。

 

配置防火墙打开8080端口并访问测试

# 对内网网段,打开8080端口
iptables -I INPUT -s 192.168.10.0/24 -p tcp --dport 8080 -j ACCEPT
  • 1
  • 2

网络的配置由实际的环境决定

物理机访问测试:

 

作者:KeerDi —— 北方的后生 

出处:http://www.cnblogs.com/keerdi/ 

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

标签: Centos系统下配置Tomcat服务自启动

好文要顶 关注我 收藏该文  

 

Linux tomcat作为服务开机自启动

2018年03月15日 11:20:56 Cloud-Future 阅读数:5628

 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gybshen/article/details/79564613

1.tomcat 作为服务启动     

      在Linux系统启动一个服务是通过service 这个命令,service [服务名] [选项],例如service networking start ,用来启动网络服务。其实service在启动服务的时候是执行的/etc/init.d/下的脚本文件。

 

    执行service networking start 执行的就是netwoking这个脚本。

    那么,如果想通过service启动一个自定义服务,只需在/etc/init.d/下,仿照任何一个脚本编写一个对应的服务脚本即可。

    通过service启动tomcat服务,脚本如下(文件名为tomcat):

1.    #!/bin/sh -e
2.    ### BEGIN TOMCAT SERVICE
3.    ### END INIT INFO
4.     
5.    export JAVA_HOME=/usr/work/jdk1.8.0
6.    export JRE_HOME=$JAVA_HOME/jre
7.    export PATH=$PATH:$JAVA_HOME/bin
8.    export CLASSPATH=.
9.    export CATALINA_HOME=/usr/work/tomcat
10.   
11.  case "$1" in
12.  start)
13.          ${CATALINA_HOME}/bin/startup.sh
14.          exit 0
15.          ;;
16.  stop)
17.          ${CATALINA_HOME}/bin/shutdown.sh
18.          exit 0
19.          ;;
20.  debug)
21.          ${CATALINA_HOME}/bin/shutdown.sh
22.          ${CATALINA_HOME}/bin/catalina.sh run
23.          exit 0
24.          ;;
25.  force-reload|restart)
26.          ${CATALINA_HOME}/bin/startup.sh
27.          ${CATALINA_HOME}/bin/shutdown.sh
28.          exit 0
29.          ;;
30.   
31.  *)
32.          echo "Usage: /etc/init.d/tomcat {start|stop|restart|force-reload|debug}"
33.          exit 1
34.          ;;
35.  esac
36.   
37.  exit 0

        在脚本的开头,我定义一些环境变量,这是必须的。否则tomcat在开机启动的时候找不到JAVA_HOME环境变量,尽管你在/etc/profile中设置了这些环境变量,这和Linux启动有关。

1.    export JAVA_HOME=/usr/work/jdk1.8.0   #根据你自己的路径进行配置
2.    export JRE_HOME=$JAVA_HOME/jre
3.    export PATH=$PATH:$JAVA_HOME/bin
4.    export CLASSPATH=.
5.    export CATALINA_HOME=/usr/work/tomcat

        这样,就可以通过service tomcat start 来启动tomcat了。

 

  执行 service tomcat stop 关闭tomcat。

2. tomcat开机自启动

   chkconfig是Linux管理系统服务启动的一个工具。可以设置服务的运行级别,是否开机启动等

   在ubuntu中,安装chkconfig,执行下面的命令:

1.    wget http://archive.ubuntu.com/ubuntu/pool/universe/c/chkconfig/chkconfig_11.0-79.1-2_all.deb
2.    dpkg -i chkconfig_11.0-79.1-2_all.deb 

 

执行命令:

 

报错,执行命令解决:

ln -s /usr/lib/insserv/insserv /sbin/insserv

 

默认是在系统运行级别2345时,随系统自动启动。

OK!

 

 

Redis是一个C实现的基于内存、可持久化的键值对数据库,在分布式服务中常作为缓存服务。本篇将介绍在CentOS下如何从零开始安装到配置启动服务。

. 安装Redis

Redis的安装其实相当简单,推荐的方式是下载redis的源码,并在本机编译后安装。

首次进入主文件夹的下载目录下,执行wget下载源码

[zhxilin@localhost ~]$ cd 下载

[zhxilin@localhost 下载]$ wget http://download.redis.io/redis-stable.tar.gz

接下来解压之后,移动到/usr/redis目录下

[zhxilin@localhost 下载]$ tar -zxvf redis-stable.tar.gz

[zhxilin@localhost 下载]$ su mv redis-stable /usr/redis

然后进入redis目录,执行make命令,编译redis源码make

[root@localhost 下载]# cd /usr/redis/

[root@localhost redis]# make

编译完成之后,在src目录下有2个重要程序生成,一个是redis-server,另一个是redis-cli;接着进入src目录,执行make install,这时会把这些可执行程序拷贝到/usr/local/bin目录下,由于/usr/local/bin是在系统的环境变量$PATH下定义的,因此终端在任意位置就可以执行redis-server和redis-cli了。

[root@localhost redis]# cd src/

[root@localhost src]# make install

至此安装redis的工作就完成了。

我们来看看编译出来的几个程序分别是干什么的:

redis-server:顾名思义,redis服务

redis-cli:redis client,提供一个redis客户端,以供连接到redis服务,进行增删改查等操作

redis-sentinel:redis实例的监控管理、通知和实例失效备援服务

redis-benchmark:redis的性能测试工具

redis-check-aof:若以AOF方式的持久化,当意外发生时用来快速修复

redis-check-rdb:若以RDB方式的持久化,当意外发生时用来快速修复

 

安装完成之后,启动redis-server,并运行redis-cli进行测试

[zhxilin@localhost ~]$ redis-server

[zhxilin@localhost ~]$ redis-cli

127.0.0.1:6379> PING

PONG

127.0.0.1:6379> pin

如此说明redis服务已经正常工作,如果redis服务未启动,则运行redis-cli时会报Could not connect to Redis at 127.0.0.1:6379: Connection refused的错误。

 

redis安装zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录

2017年05月05日 13:27:08 红衫先生_ 阅读数 14908

 版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/libra_ts/article/details/71195128

问题: zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录

解决方案:
执行命令:make MALLOC=libc

make MALLOC=libc

 

 

. 配置自启动

为了让redis-server能在系统启动时自动运行,需要将redis服务作为守护进程(daemon)来运行,我们回到/usr/redis/目录中找到一个redis.conf的文件,这个文件是redis服务运行时加载的配置,我们先观察一下其中的内容

[zhxilin@localhost redis]$ vi redis.conf

此文件内容非常长,但是大部分是注释,我们重点关注其中的几个设置daemonizepidfile

其中daemonize默认值是false,pidfile默认值是pidfile /var/run/redis_6379.pid

第一个表示是否daemon化,显然我们要把它改成daemonize yes

第二个表示当服务以守护进程方式运行时,redis默认会把pid写入/var/run/redis_6379.pid文件,服务运行中该文件就存在,服务一旦停止该文件就自动删除,因而可以用来判断redis是否正在运行

保存后退出。

有了基本配置,redis还需要有一个管理启动、关闭、重启的一个脚本。redis源码里其实已经提供了一个初始化脚本,位置在/usr/redis/utils/redis_init_script

我们来看看这个脚本做了些什么:

 

#!/bin/sh#

 

REDISPORT=6379

EXEC=/usr/local/bin/redis-server

CLIEXEC=/usr/local/bin/redis-cli

 

PIDFILE=/var/run/redis_${REDISPORT}.pid

CONF="/etc/redis/${REDISPORT}.conf"

 

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

        ;;

    stop)

        if [ ! -f $PIDFILE ]

        then

                echo "$PIDFILE does not exist, process is not running"

        else

                PID=$(cat $PIDFILE)

                echo "Stopping ..."

                $CLIEXEC -p $REDISPORT shutdown

                while [ -x /proc/${PID} ]

                do

                    echo "Waiting for Redis to shutdown ..."

                    sleep 1

                done

                echo "Redis stopped"

        fi

        ;;

    *)

        echo "Please use start or stop as first argument"

        ;;

esac

 

脚本中指定了端口、server路径、cli路径、pidfile路径以及conf路径,上述标黄的地方都需要正确配置,多说一句,如果在安装时执行了make install,那么这里的脚本不需要做多大改动,因为make install把server和cli都拷到/usr/local/bin下面了。

另外看到这里conf的路径,我们需要把redis目录下的redis.conf文件拷贝到/etc/redis/6379.conf

[root@localhost utils]# cd /etc

[root@localhost etc]# mkdir redis

[root@localhost etc]# cp /usr/redis/redis.conf /etc/redis/6379.conf

接着将redis_init_script脚本拷贝到/etc/init.d/redisd

[root@localhost etc]# cp /usr/redis/utils/redis_init_script /etc/init.d/redisd

在/etc/init.d下的脚本都是可以在系统启动是自动启动的服务,而现在还缺一个系统启动时的配置:

[root@localhost zhxilin]# chkconfig redisd on

然后就会发现报了一个错误:服务 redisd 不支持 chkconfig ?

参考这篇文章, 这是因为我们需要在redis_init_script的开头加一个小改动:

#!/bin/sh
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database

至于这里2345 90 10分别代表什么意思,请参考上面的文章链接。

保存完重新拷贝到/etc/init.d/redisd后,再运行chkconfig就完成了。

 

一切就绪之后,可以执行以下命令检验service是否设置成功:

[root@localhost zhxilin]# service redisd start

[root@localhost zhxilin]# service redisd stop

等价于

[root@localhost zhxilin]# /etc/init.d/redisd start

[root@localhost zhxilin]# /etc/init.d/redisd stop

 

 

 

 

A stop job is running for LSB:start and stop redis_6379

2019年05月31日 14:48:30 sorry_sr 阅读数 12 标签: linux关机慢redis关闭授权

问题

linux Reboot时间比较长,发现在关机的时候报了如下错误

 

原因

安装red4is时,设置requirePass,导致关闭redis时需要授权,而关闭的脚本中并没有设置密码

解决

修改/etc/init.d/redis_6379(stop下红框中内容,格式:$CLIEXEC -a "password" -p $REDISPORT shutdown)

 

 

 

https://e210939t81.iask.in:14358/svn/Project-NWMS/trunk/nmws

 

 

 

tomcat添加为linux系统服务

2018年08月28日 19:12:36 ddsheng1128 阅读数 280更多

所属专栏: Spring-Clound 微服务架构

前言

  在博客 --》virtualBox安装centos,并搭建tomcat中,讲到了centos下搭建tomcat环境,发现启动tomcat不是那么方便,要是忘记路径了,那就更麻烦了!当然了,忘记路径了也还是有许多方式找回来的,那么有没有什么方式将tomcat设置成系统服务了,就像service iptables start一样用service tomcat start来启动tomcat了,答案肯定是有的,且听我慢慢道来。

设置tomcat为linux系统服务

  1.文件准备

    将catalina.sh拷贝到/etc/init.d/(此文件是放什么的大家自行去补脑)下,并重命名为tomcat。

 

 

 

  2.编辑文件

    文件拷贝完成后,对tomcat文件进行编辑,vim tomcat打开tomcat文件,并按i进行插入编辑,如下图,编辑完成后保存退出。

 

  3.添加tomcat为系统服务

    未添加tomcat为系统服务之前,查看系统服务chkconfig --list,发现并没有tomcat服务,如下图

 

    添加文件可执行权限,然后添加tomcat为系统服务,如下图

 

    执行命令chkconfig --list,如下图

 

  4.启动和关闭服务

    启动服务,并用浏览器访问,如下图

 

 

    关闭服务,与关闭其他的系统服务一样,如下图

 

  5.设置tomcat服务随系统启动而自启动(设置成系统自启动服务)

    直接在/etc/rc.local文件最后添加语句/usr/local/tomcat7/bin/startup.sh,重启系统,运行ps -ef|grep java,出现如下信息,则说明tomcat服务自启动了!

 

    当然tomcat设置自启动,重启系统后,最直白验证tomcat启动了的方式其实是直接访问tomcat猫就可以了,出现如下可爱的猫,那么tomcat随系统自启动了!

 

    关闭tomcat服务,运行ps -ef|grep java,如下图

 

  

总结

  配置没什么难的,只要注意一些细节问题就可以了;希望大家也顺利配置成功!

  个人不太习惯tomcat自启动,比较习惯以service的方式来启动和关闭tomcat服务;个人习惯,全凭各自喜好配置,大家按自己的习惯来配置就行了!

  如若不想tomcat自启动,仅是使用service命令来管理tomcat的话,那么用命令chkconfig --del tomcat从系统服务中移除tomcat服务就可以了。

推荐阅读