解决SSH登录自动断开

  |  
 阅读次数

CentOS解决SSH自动断开

1
2
echo "ClientAliveInterval 60" >> /etc/ssh/sshd_config
echo "ClientAliveCountMax 1" >> /etc/ssh/sshd_config

重启SSH服务

service sshd restart

Ubuntu解决SSH自动断线

1、依赖ssh客户端定时发送心跳检测

vim /etc/ssh_config

1
2
3
4
5
// 末尾添加

ServerAliveInterval 20

ServerAliveCountMax 999

每隔20秒向服务器发出一次心跳检测,若超过999次请求都没有成功,就主动断开与服务器端的连接。

2、依赖ssh服务器端定时发送心跳检测

vim /etc/sshd_config // 注意两文件不同

1
2
3
4
5
// 末尾添加

ClientAliveInterval 30

ClientAliveCountMax 6

每隔30秒向客户端发出一次心跳检测,若超过6次请求都没有成功,就会主动断开与客户端的连接。

3、设置ssh心跳检测后,重启ssh服务生效

service ssh restart

AliCloud-SSL证书认证

  |  
 阅读次数

阿里云-SSL证书认证

保证在规定域名下可以访问到证书编号

配置Nginx

首先因为 Nginx反向代理 问题,需要配置目录文件

  • SSH登录 生产服务器 jdyxqq.com root psd:** 5*
  • 找到Nginx服务配置

    find / -name nginx

    1
    2
    3
    4
    5
    6
    7
    /usr/local/sbin/nginx  # 程序文件
    /usr/local/etc/rc.d/nginx # 后台程序 管理重启、开机启动
    /usr/local/etc/nginx # 系统配置项
    /usr/ports/www/nginx # Nginx文档
    /mnt/www/etc/nginx # 分配置文件(要修改的路径)
    /var/tmp/nginx # 临时、缓存文件
    /var/log/nginx # 临时、缓存文件
  • 进入/mnt/www/etc/nginx修改添加

    1
    2
    3
    4
    5
    6
    vim jing*.conf

    # 添加代理
    location /.well-known {
    alias /mnt/www/jing*/html/.well-know; # 分号很重要
    }

进入配置路径并添加文件

  • mkdir -p /mnt/www/jing*/html/.well-know/pki-validation # 创建目录路径
  • vim fileauth.txt # 创建目标文件 并把 认证码 键入

保证访问路径可以访问认证码

http://jdyxqq.com/.well-known/pki-validation/fileauth.txt

p.s 一般代理路径下都有 空的 index.html 防止获取 路径下文件 [内容保护]

服务器环境搭建

  |  
 阅读次数

安装Nginx

CentOS版

Ubuntu版

安装Git

centos7安装最新版git

Centos7 yum install git2.x(较新版本)

安装Nvm

Github-Nvm

CentOS 7 使用NVM管理nodejs + Nvm安装Node+npm

安装MongoDB

Centos下安装配置Mongodb3.6


二进制文件安装

二进制安装参考
参考二
参考三
参考四

1、下载二进制文件安装包

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.12.tgz

https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-3.6.6.tgz

http://downloads.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-v3.6-latest.tgz

2、解压

tar -zxvf [mongodb-linux-x86_64-3.2.12.tgz] // [包名]

3、移动到指定位置

mv [mongodb-linux-x86_64-3.2.12/] /usr/local/mongodb // [解压后的文件夹]

3.1 将MongoDB的安装目录添加到Path当中[环境变量配置]

p.s 记得如果你的最后一个位置和我的不一样,请记得替换

vi /etc/profile
增加
export PATH=/usr/local/mongodb/bin:$PATH
然后
source /etc/profile // BLog 有坑! 拼写错误

4、在 /usr/local/mongodb 下创建文件夹

mkdir -p /data/db

mkdir /logs

*、创建 mongo 的数据目录

!important

sudo mkdir -p /data/db #创建数据存储目录

sudo chmod 755 /data/* #赋予目录权限

配置MongoDB

控制的配置文件在:/etc/mongodb.conf

控制脚本在:/etc/init.d/mongodb

MongoDB实例会把数据存放在:/var/lib/mongodb
日志存放在:/var/log/mongodb
默认由mongodb用户运行。

5、在/usr/local/mongodb/bin下新建 分配置文件

vim mongodb.conf

1
2
3
4
5
6
7
8
dbpath = /usr/local/mongodb/data/db #数据文件存放目录

logpath = /usr/local/mongodb/logs/mongodb.log #日志文件存放目录
port = 27017 #端口
fork = true #以守护程序的方式启用,即在后台运行
nohttpinterface = true
auth=true
bind_ip=0.0.0.0

推荐第二种配置

vim /etc/mongod.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log

storage:
dbPath: /var/lib/mongo
journal:
enabled: true

processManagement:
fork: true
pidFilePath: /var/run/mongodb/mongod.pid

net:
port: 21111
bindIp: 0.0.0.0

security:
authorization: enabled
javascriptEnabled: false

6、环境变量配置

vi /etc/profile

1
2
3
export MONGODB_HOME=/usr/local/mongodb

export PATH=$PATH:$MONGODB_HOME/bin

保存后,重启系统配置

source /etc/profile

7、启动

/usr/local/mongodb/bin

mongod -f mongodb.conf || ./mongod -f mongodb.conf

8、关闭

mongod -f ./mongodb.conf –shutdown || ./mongod -f ./mongodb.conf –shutdown

9、开启端口(CentOS防火墙firewall)

firewall-cmd –zone=public –add-port=27017/tcp –permanent
查看端口

firewall-cmd –permanent –query-port=27017/tcp
重启防火墙

firewall-cmd –reload

10、创建用户管理员:

1
2
3
4
5
use admin

db.createUser({user:"root",pwd:"root123456",roles:["userAdminAnyDatabase"]})

db.auth('root','root123456')

补充:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//mongodb中bin的文件说明
1.mongod : 执行程序
2.mongo : 用于连接客户端
3.mongoimport/mongoexport : 导入/导出
4.mongodump/mongorestore : 备份/恢复数据(二进制文件,不能被直接读取,一般用来做数据的备份)
5.mongooplog : 用来操作日志的回放
oplog : MongoDB复制集中用来记录操作记录的数据集合
6.mongostat : 用来查看mongo服务器的各种状态
scons all -j 12(编译,12是指CPU的核数)
mongod是主角,数据库执行程序
mongo 用来连接服务器的客户端
mongoimport mongoexport 导入到处
mongodump mongorestore 二进制北非回复
mongostat 查看服务器状态
mongoDB编译:进入源码目录,执行scons all进行编译。scons all -j 10 使用-j参数可以指定cpu的核数。
编译后的文件:
mongod:mongodb的启动文件,用来部署数据库
mongo:链接服务器的客户端
mongoimport,,mongoexport:用来导入导出数据库
mongodump,mongorestore:用来导入导出二进制数据,一般用来数据的备份与恢复。
mongologoplog 操作日志
mongostat:用来查看mongodb服务器的各种状态

Linux 采用 systemctl 命令设置 mongodb 自启动

需要学习的命令是 systemctl
需要知晓的目录是 /usr/lib/systemd/system
需要掌握 mongodb.service 的书写格式,demo如下

1
2
3
4
5
6
7
8
9
10
11
12
13
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod --config /home/mongodb/mongodb/bin/mongod.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /home/mongodb/mongodb/bin/mongod.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

最初博主在 ExecStart 的写法是:

/home/mongodb/mongodb/bin/mongod –dbpath=/home/mongodb/mongodb/db –logpath=/home/mongodb/mongodb/logs/date +%Y-%m-%d.log –logappend –auth –fork &

后来参考资料改成:

/home/mongodb/mongodb/bin/mongod –config /home/mongodb/mongodb/bin/mongod.conf


附录:

  1. Linux下curl命令的使用
  2. Linux curl命令详解
  3. 查看CentOS版本信息

元素垂直居中方法

  |  
 阅读次数

方法一

这个方法把一些 div 的显示方式设置为表格,因此我们可以使用表格的 vertical-align property 属性。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<div id="wrapper">
<div id="cell">
<div class="content">Content goes here</div>
</div>
</div>

<style>
wrapper {
display: table;
}

cell {
display: table-cell;
vertical-align: middle;
}
</style>

优点:
content 可以动态改变高度(不需在 CSS 中定义)。当 wrapper 里没有足够空间时, content 不会被截断

缺点:
Internet Explorer(甚至 IE8 beta)中无效,许多嵌套标签(其实没那么糟糕,另一个专题)

方法二

这个方法使用绝对定位的 div,把它的 top 设置为 50%,top margin 设置为负的 content 高度。这意味着对象必须在 CSS 中指定固定的高度

因为有固定高度,或许你想给 content 指定 overflow:auto,这样如果 content 太多的话,就会出现滚动条,以免content 溢出。

1
2
3
4
5
6
7
8
<div class="content"> Content goes here</div>

<style>
position: absolute;
top: 50%;
height: 240px;
margin-top: -120px; /* negative half of the height(高度的一半) */
</style>

优点:
适用于所有浏览器
不需要嵌套标签

缺点:
没有足够空间时,content 会消失(类似div 在 body 内,当用户缩小浏览器窗口,滚动条不出现的情况)

方法三

这种方法,在 content 元素外插入一个 div。设置此 div height:50%; margin-bottom:-contentheight;
content 清除浮动,并显示在中间。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<div id="floater">
<div id="content">Content here</div>
</div>

floater {
float: left;
height: 50%;
margin-bottom: -120px;
}

content {
clear: both;
height: 240px;
position: relative;
}

优点:
适用于所有浏览器
没有足够空间时(例如:窗口缩小) content 不会被截断,滚动条出现

缺点:
唯一我能想到的就是需要额外的空元素了(也没那么糟,又是另外一个话题)

方法四

这个方法使用了一个 position:absolute,有固定宽度和高度的 div。这个 div 被设置为 top:0; bottom:0;。但是因为它有固定高度,其实并不能和上下都间距为 0,因此 margin:auto; 会使它居中。使用 margin:auto;使块级元素垂直居中是很简单的。

1
2
3
4
5
6
7
8
9
10
11
12
<div id="content"> Content here</div>

content {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
height: 240px;
width: 70%;
}

优点:
简单

缺点:
IE(IE8 beta)中无效;
无足够空间时,content 被截断,但是不会有滚动条出现

方法五:文本居中

这个方法只能将单行文本置中。只需要简单地把 line-height 设置为那个对象的 height 值就可以使文本居中了。

1
2
3
4
5
6
<div id="content"> Content here</div>

content {
height: 100px;
line-height: 100px;
}

优点:
适用于所有浏览器
无足够空间时不会被截断

缺点:
只对文本有效(块级元素无效)
多行时,断词比较糟糕