LOADING

分类 Linux 下的文章

Redis 密码设置和查看密码

redis没有实现访问控制这个功能,但是它提供了一个轻量级的认证方式,可以编辑redis.conf配置来启用认证。

1、初始化Redis密码:

在配置文件中有个参数: requirepass 这个就是配置redis访问密码的参数;

比如 requirepass test123;

(Ps:需重启Redis才能生效)

redis的查询速度是非常快的,外部用户一秒内可以尝试多大150K个密码;所以密码要尽量长(对于DBA 没有必要必须记住密码);

2、不重启Redis设置密码:

在配置文件中配置requirepass的密码(当redis重启时密码依然有效)。

redis 127.0.0.1:6379> config set requirepass test123

查询密码:

redis 127.0.0.1:6379> config get requirepass
(error) ERR operation not permitted

密码验证:

redis 127.0.0.1:6379> auth test123
OK

再次查询:

redis 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "test123"

PS:如果配置文件中没添加密码 那么redis重启后,密码失效;

3、登陆有密码的Redis:

在登录的时候的时候输入密码:

redis-cli -p 6379 -a test123

先登陆后验证:

redis-cli -p 6379

redis 127.0.0.1:6379> auth test123
OK

AUTH命令跟其他redis命令一样,是没有加密的;阻止不了攻击者在网络上窃取你的密码;

认证层的目标是提供多一层的保护。如果防火墙或者用来保护redis的系统防御外部攻击失败的话,外部用户如果没有通过密码认证还是无法访问redis的。

今天重启游戏服务器在连接redis数据库时突然报错:MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error.

究其原因是因为强制把redis快照关闭了导致不能持久化的问题,在网上查了一些相关解决方案,通过stop-writes-on-bgsave-error值设置为no即可避免这种问题。

命令行修改方式示例:

127.0.0.1:6379> config set stop-writes-on-bgsave-error no

可以简单用scp 命令来实现

查看scp帮助:sup -h

输出信息如下:usage: scp [-12346BCEpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] -S programhost1:]file1 … [[user@]host2:]file2

OPTIONS:

-v 显示进度。可以用来查看连接、认证、或是配置错误

-P 选择端口

-r 复制目录

1、从本地将文件传输到服务器
scp[本地文件的路径] [服务器用户名]@[服务器地址]:[服务器上存放文件的路径]

scp /Users/mac/Desktop/test.txt root@192.168.1.1:/root

2、从本地将文件夹传输到服务器
scp -r[本地文件的路径] [服务器用户名]@[服务器地址]:[服务器上存放文件的路径]

scp -r /Users/mac/Desktop/test root@192.168.1.1:/root

3、将服务器上的文件传输到本地
scp [服务器用户名]@[服务器地址]:[服务器上存放文件的路径] [本地文件的路径]

scp root@192.168.1.1:/root/default/test.txt /Users/mac/Desktop

4、将服务器上的文件夹传输到本地
scp -r [服务器用户名]@[服务器地址]:[服务器上存放文件的路径] [本地文件的路径]

scp -r root@192.168.1.1:/root/default/test /Users/mac/Desktop

首先需要修改php-fpm配置文件
vim /etc/php-fpm.d/www.conf 一般修改vim /etc/php-fpm.conf即可
去掉request_slowlog_timeout 、slowlog的前缀分号';'
设置request_slowlog_timeout =2;

设置完毕
之后需要重启php-fpm
ps aux | grep php-fpm
获取到主进程号
菜皮.png

kill -USR2 第一个进程号 master 就可以了
然后去/var/log/php-fpm/www-slow.log (或者你自己设置的地方进行查看)

今天在做jenkins的时候遇到了脚本中需要用到scp的情况
yum install expect
然后做个脚本
vi scp.sh

!/usr/bin/expect

set timeout 60

spawn scp "百度scp格式"

expect "*password"

send "12345/r" #注意!!!如果密码中包含特殊字符 则需要在前面加 最后的r是必带的

expect eof
:wq

chmod +x scp.sh
./scp.sh
就齐活了

jenkins是准备用来做和gitlab自动部署的,jenkins依赖于java所以我们需要先配置java环境

yum install java-1.8.0-openjdk* -y直接安装java1.8的所有文件
如果报错 请切换至阿里yum源

第一步:备份你的原镜像文件,以免出错后可以恢复。
(使用mv命令,mv有两个作用一个是移动,一个是重命名,这里用到的是重命名的作用)
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
第二步:下载新的CentOS-Base.repo 到/etc/yum.repos.d/

要查看自己CentOS版本命令
[root@localhost ~]# lsb_release -a

阿里云
CentOS 5 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
CentOS 6 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
CentOS 7 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

执行
yum clean all
yum makecache
可以重新执行安装java jdk yum install java-1.8.0-openjdk*
java -version 查看是否安装成功
接下来安装jenkins
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war

设置jenkins 根目录位置(linux centos 默认安装在/root/.jenkins目录下)

  1. 编辑 bash_profile 文件

vi /root/.bash_profile

  1. 添加如下内容(设置jenkins根目录) export JENKINS_HOME=/opt/jenkins
  2. 生效更改

source /root/.bash_profile

启动jenkins(默认启动是8080 手动启动改为8888,避免端口冲突)
java -jar jenkins.war --httpPort=8888 &
查看启动情况
ps aux | grep jenkins
接下来就可以访问了
http://ip:8888
剩下的按照操作走就可以了中文的,稳得不行