@andrewwang
2017-03-21T00:22:30.000000Z
字数 7688
阅读 1056
运维
- 硬盘
df -h // 硬盘空间- 文件属性
linux修改文件所属用户和组
chmod -R 766 Document // 修改目录Document的权限
chown -R www-data Document // 修改目录Document的所有者成www-data
chgrp - R www-data /Document // 修改目录Document的所在者成www-data- 文件和目录
mkdir -p /d1/d2 // 自动创建多层
ln -s sourcedir distdir // 建立软连接- 文件
find / -name xyz // 指定文件全路径查找(xyz)
find / -name xyz // 指定文件全路径模糊查找(xyz)
find . -type f -size +100M // 查找大文件(100M)
echo > filePath // 清空文件内容- 内存
echo 1 > /proc/sys/vm/drop_caches // 清除不用的内存
top // 查看内存使用情况,输入shift + m可根据内存使用量进行排序
top -p 1111 // 查看特定进程号的内存(1111)- 进程
ps -ef | grep mongo | awk '{print $2}' | xargs kill -9 // kill名称对应的进程(mongo)
lsof -i :27017 | awk '{print $2}' | xargs kill -9 // kill端口对应的进程(27017)
- 进程查询
ps -ef | grep java // 查看匹配名称的进程(java)
ps -ef | wc -l // 查看运行的进程总数
ps -fu csvn // 查看特定进程(csvn)
lsof -i :9000 // 查看端口执行的进程(9000)- 网络
ifconfig | grep inet // ip地址
- 公网下载
wget {url}- SSH传输传输文件
上传:scp {localFilePath} {account}@{IP}:{remoteFilePath}
下载:scp {account}@{IP}:{remoteFilePath} {localFilePath}
在文件/etc/rc.local加入命令,例如:
cd /var/www/project/ && /usr/bin/java -jar project.jar >/dev/null 2>&1 &
sh cmd.sh
/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf &
service elasticsearch restart
service iptables stop
linux程序开机自启动的方法详解
Linux如何实现开机启动程序详解
chkconfig命令
Ubuntu下使用sysv-rc-conf管理服务
重点步骤如下:
1. 本地:生成公共密钥,用默认值
ssh-keygen -t rsa
2. 本地:公共密钥上传到远程
scp ~/.ssh/id_rsa.pub root@192.168.161.138:/root/.ssh/id_rsa.136.pub
3. 远程:将上传的本地公共密钥加到远程授权列表
cat ~/.ssh/id_rsa.136.pub>>~/.ssh/authorized_keys
2和3可合成一步本地操作:
cat ~/.ssh/id_rsa.pub | ssh root@192.168.161.138 "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys"
cat ~/.ssh/id_rsa.pub | ssh root@192.168.161.138 "cat >> ~/.ssh/authorized_keys"
yum -y install crontabs
编辑:crontab -e
重启:service crond restart
- ssl的crt生成pem
openssl x509 -in mycert.crt -out mycert.pem -outform PEM
- ip
- ifconfig
- netstat
netstat –lntp // 查看开启了哪些端口
netstat –r // 路由表的信息
netstat –an | grep 8080 // 所有的有效连接信息列表(8080)
netstat –an | grep -i listen // 目前系统侦听的端口号
netstat –anp | grep 8080 // 查看连接进程所占用的端口(8080)- 网卡
ifconfig em 192.168.161.121/24 // 设置网卡
ifconfig em down // 禁用网卡
nano /etc/sysconfig/network-scripts/ifcfg-em // 编辑网卡- 重启网络服务
service network restart
service network reload
设置, 永久路由。使用route 命令添加的路由,机器重启或者网卡重启后路由就失效
route -n // 查看路由
iptables -L -n -v // 查看定义规则的详细信息
service iptables status
service iptables stop
iptables -A INPUT -p tcp --dport 5672 -j ACCEPT // 接受5672端口的TCP访问
- RPM软件包的安装及卸载
- yum命令详解
- telnet软件的安装
rpm -qa | grep telnet
yum -y install telnet-server
yum -y install telnet
- 安装卸载软件
安装:
apt-get install xxxxx
- 卸载:
apt-get remove xxxxx
apt-get autoremove- 系统版本
lsb_release -a
https://www.docker.com/
Docker入门实战
使用 Docker 搭建 Java Web 运行环境
增加网站:在目录/etc/apache2/sites-available/增加配置文件,如conFile。centos直接在配置文件底部追加
启用网站:a2ensite confFile
禁用网站:a2dissite confFile
重新加载:service apache2 reload
版本:http -v
静态网站的目录权限设置:
1. 用root创建目录
2. 目录所有者改成ftp账号
路径是/usr/local/tomcat/bin/startup.sh,/usr/local/tomcat/bin/shutdown.sh
重启操作
- 启动:/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf &
- ps -ef |grep redis
- 本机无密登录:redis-cli
- 本地密码登录:redis-cli -a 密码
- 远程登录:redis-cli -a密码 -h 主机名
- 授权:auth pwd
- 切换db:select 2
- key数量:dbsize
- 获取数据:get key
- 是否存在:exists key
- 显示匹配的key:keys *
- 删除db的数据: flushdb
- 删除所有数据: flushall
MySQL 双机热备配置步骤
使用Nginx+Keepalived组建高可用负载平衡Web server集群
Mysql监控执行速度慢的语句
show variables like 'log_slow_queries';
show variables like 'long_query_time';
show variables like 'slow_query_log_file';
SET GLOBAL log_slow_queries = ON;
SET GLOBAL long_query_time = 1;
默认日志目录:/var/lib/mysql/
max_allowed_packet设置,过小导致写入失败
set global log_bin_trust_function_creators=1;
- 启动:service mysql restart
- 登录客户端:mysql -u root -p
- 备份
- 新建mysql备份账号
登录
GRANT LOCK TABLES, SELECT ON . TO ba@localhost IDENTIFIED BY '4Q2ifQXq5DxgT8wY';- 备份
mysqldump -uba -p4Q2ifQXq5DxgT8wY eastnb > eastnb.db- UTF8的数据库创建:CREATE DATABASE
db1
DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;- JDBC查询条件输入中文,查询为空
String url = "jdbc:mysql://127.0.0.1:3306/mydata?useUnicode=true&characterEncoding=utf-8";- MySQL Workbench的安全更新模式
SET SQL_SAFE_UPDATES=0;
- 显示变量:SHOW VARIABLES LIKE 'max_allowed_%';
- 显示所有数据库:show databases;
- 选择数据库:use {%database};
- 显示所有表:show tables;
安装。
全部同Ubuntu。
- 安装:
wget https://www.apache.org/dist/activemq/5.14.1/apache-activemq-5.14.1-bin.tar.gz
tar -zxf apache-activemq-5.14.1-bin.tar.gz
cd apache-activemq-5.14.1/bin/linux-x86-64- 如有Rabbitmq,则修改端口(其占用了端口5672):nano conf/activemq.xml
- 启动:
./activemq start
./activemq stop- 检查:
./activemq console
netstat -an | grep 61616
netstat -an | grep 8161
netstat -an | grep 5672- 管理系统:
http://123.56.113.222:8161/admin/,默认账号密码:admin/admin
设置密码,设置好后续重启服务
- 默认配置文件/etc/mongod.conf,默认使用的数据库文件路径是/data/db/。
- 运行服务:
mongod --dbpath=/data/db --fork --logpath=/data/db/mongod.log- 关闭服务:
启动mongo客户端:mongo
输入:
use admin
db.shutdownServer()- 废弃的运行方式:
ps -ef | grep mongo | awk '{print $2}' | xargs kill -9
mongod &- 检查是否启动,lsof -i :27017
- 远程访问配置:mongodb.conf
屏蔽bind_ip = 127.0.0.1
启用auth = true- mongod是服务端,mongo是客户端
- 查询
db.system.users.findOne({user:'andrew'})
db.system.users.find()- 模糊查询
{"topic": {$regex:/男人.*/i}}
官方手册
MongoDB基本管理命令
MongoDB 创建数据库
Mongodb3.0 配置身份验证db.createUser
MongoDB数据库中关于roles权限的说明
- 超级管理员权限:
use admin
db.createUser( { user: "adm", pwd: "pwd", roles: [ "root"] } )- 单库读写权限:
use db2
db.createUser( { user: "db2RW", pwd: "pwd", roles: [ { role: "readWrite", db: "db2" }]})- 多库权限:
use admin
db.createUser( { user: "andrew", pwd: "pwd", roles: [ { role: "readWrite", db: "db1" } , { role: "readWrite", db: "db2" }]})
安装
1. rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
2. yum install erlang
3. wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.3.4/rabbitmq-server-3.3.4-1.noarch.rpm
4. yum install rabbitmq-server-3.3.4-1.noarch.rpm
--------3.6.5-1的rabbitmq,对应epel没找到
yum install rabbitmq-server-3.6.5-1.noarch.rpm
5. service rabbitmq-server start
安装,apt安装,部分命令调整如下:
wget http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
sudo apt-key add rabbitmq-signing-key-public.asc
- 端口55672其实是15672
iptables -A INPUT -p tcp --dport 5672 -j ACCEPT
iptables -A INPUT -p tcp --dport 15672 -j ACCEPT- /usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management
- /etc/init.d/rabbitmq-server restart
- netstat -ntlp |grep 15672
- http://192.168.161.136:15672/
- rabbitmqctl add_user account password
- rabbitmqctl set_user_tags account administrator
- rabbitmqctl set_permissions -p / account '.' '.' '.*'
CentOS安装Python3.6
1. 目录/usr/bin/下只需要改文件yum。
2. 注意python版本的不同,具体版本号通过ls /usr/bin/获取。如版本号是2.6(yum使用的),则#!/usr/bin/python 改为 #!/usr/bin/python2.6。
Ubuntu安装Python3.5
客户端Curator
管理系统Zeppelin
https://www.oschina.net/p/disconf
http://www.cnblogs.com/zhangxh20/p/5464103.html
Mac升级
mac安装
rvm install 2.3.3
gem install bundler
m2安装在个人目录。如/Users/andrew/.m2/,/root/.m2/等
- ESXi
- kvm
Ubuntu安装
service jenkins restart
jenkins credentials & git ssh 认证
Process leaked file descriptors error on JENKINS:-Dhudson.util.ProcessTree.disable=true
解决无法切换到jenkins用户的问题
jenkins 入门教程(上)
使用:
工作目录参数:%workspace%
基于ansible
https://www.walle-web.io/docs/index.html
https://github.com/meolu/walle-web/blob/master/docs/README-zh.md
ZeroMQ
SSH
自动化运维工具Ansible详细部署
Jenkins+Ansible+Gitlab自动化部署三剑客
自创语言
大规模系统:用logstash之类的
小系统:用Jenkins创建日志查询任务,执行即可查看。配置步骤
1. 启用jenkins账号的bash(centos特有)
2. 切换账号:su jenkins
3. 配置ssh的config:加入日志服务器的IP和账号
4. jenkins账号免登录ssh(日志服务器)
接口 | 地址 | 说明 |
---|---|---|
心跳状态 | /ops/heartbeat | 监控为主 |
软件信息 | /ops/version | 所有类库的编译版本和编译时间 |
服务状态 | /ops/service | 开发的服务状态,如短信通道,定时任务 |
配置文件需设置profile。
etc/产品名
src:源代码
sh:命令
bin
jar包,配置文件(“application.properties”)
log:/var/log/产品名
error和debug