所谓的简单运维就是保证本身开发的程序能正常运行和使用。linux
当一个程序员须要兼做运维时候须要掌握如下技能ios
是基础中的基础,ls, rm, top, w, mkdir, find, cp, mv, kill, killall, cat, chown, chmod, time... 等等,命令参数没必须所有掌握,须要用的时候度娘去查。nginx
经常使用的NGINX和APACHE要熟悉,WIN下可使用IIS,有些状况下须要TOMCAT也要了解,通常使用安装包或者安装命令比较省事。后面会介绍一些安装命令。c++
简单写个备份脚本或者文件处理之类的,方便快捷。程序员
大部分使用MYSQL,通常掌握数据迁移,坏损数据修复便可。web
WIN通常使用IP策略,linux用IPTABLES和hosts.allow便可防范常规的非受权访问,后面也有详细介绍。数据库
相对来讲比较重要,保证业务正常运行的手段,有条件的话能够本身写监控报警脚本,也可使用第三方工具 cacti,nagios,zabbix等等。也有部分公司提供监控服务,如监控宝,阿里云监控,百度云观测,360监控,业务出错后都有短信或者邮件等渠道通知。apache
有不少工具能够实现,根据实际状况部署便可,对于WEB服务基本就两点:文件和数据库。ubuntu
经过脚本或者工具把全部业务数据按期异地备份,通常状况是凌晨1点-3点在服务器空闲时间。vim
load average: 0.76, 0.72, 0.70 通常查看这个数值,第一个数据通常在1之内表示运行情况良好,其余数据具体含义能够度娘去查,这里不详述。这个load average数据也能够用w命令快速查看。
通常系统新装时候没有自带vim的状况下,也可使用vi代替
具体使用方法网上也有不少教程,能够查找学习
centos下通常使用 yum install 如
<span>yum</span> install bash-compleition
ubuntu下使用 apt-get install
win下直接执行EXE便可(小白都会)
bash-compleition 能够自动补全命令参数,比较好用
碰到须要编译的软件,有的精简系统里面须要先 yum install -y gcc gcc-c++ 装一些必要的扩展库才能经过,不过的时候根据错误提示查找解决方法。
安装apache 通常使用 yun install httpd,根据提示装好后执行service httpd start,
出现绿色的OK即表明安装成功,后续的PHP环境就根据具体需求执行安装命令便可。
nginx 通常安装命令是
<span>yun</span> install nginx
重点讲解一下安全策略
apache下目录访问权限以下
<Directory "/www"> Options FollowSymLinks AllowOverride None Order Deny,Allow Deny From all Allow From 2.2.2.2 Allow From 2.2.2.3 </Directory> </VirtualHost>
意思是/www目录只容许指定的ip2.2.2.2 2.2.2.3 能够访问到,这种配置适合内部系统使用。
为了保险起见,能够在IPTABLES里面也同时作好限制
vim /etc/sysconfig/iptables
*filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -s 1.1.1.1 -j DROP -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -s 2.2.2.2 -j ACCEPT -A INPUT -s 2.2.2.3 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
-A INPUT -s 1.1.1.1 -j DROP 这句话表明禁止1.1.1.1这个IP任何请求。
其余规则的意思是 放行2.2.2.2和2.2.2.3的全部请求,开放22和80端口。
同时在hosts.allow里面加入信任主机的ip
vim /etc/hosts.allow
ALL:2.2.2.2 ALL:2.2.2.3 sshd:ALL:deny
这样只容许受权的Ip能够远程链接到此台server,其余任何机器都没法登陆。
win server以下设置就能够达到一样效果 开始->管理工具->本地安全策略 拿2008举例,其余版本相似
默认添加一条全部ip全部端口拒绝访问的规则,这步远程时须要当心操做,须要在规则未生效前添加,不然会断开链接。
第二条添加本身信任的ip,规则为放行。
第三条开放须要对外的端口,如80
总体规则,具体的设置步骤须要实际操做几回后便可熟练。
最后右键此条策略,选择分配,当即生效
本地数据备份脚本
tar -zcvf /home/bak/file<span>_</span>$(date <span>-d</span> <span><span>"yesterday"</span></span> +<span><span>"%Y%m%d"</span></span>).bak.tar.gz /www
脚本文件放到/apptool/bak.sh,内容意思是把/www目录压缩到/home/bak目录下面,以file_日期_bak.tar.gz命名。
而后放到crontab里面定时天天夜里执行
crontab <span><span>-e</span></span>
<span>00</span> <span>00</span> * * * <span>/bin/</span>bash <span>/apptool/</span>bak.sh
异地备份能够选择使用flashfxp作好定时任务周期性拉取文件便可。
数据库备份能够选择使用navicat作好远程链接设置,而后作好备份规则。
为了开发和维护方便,能够部署一些自动化程式,能够在测试环境设置周期性拉取版本库里面的内容,实现自动更新,开发者只需在本地提交后便可实时预览修改后的内容。
正式环境也可使用脚本完成一键更新。
掌握一些常规压测工具,检验程序和服务器的性能,如wrk, ab, webbench, hping
ab 通常装有apache的机器上均可以直接使用,通常目标主机都是本身的server,如
ab -c100 -n1000 <span>http:</span><span>//www.host.com/</span>
请求目标主机100并发,总请求1000次,命令结束后会出现一些信息总结检测状况,同时须要观察目标主机的资源消耗状况。
hping工具也很好用,具体使用方法能够查阅使用文档。
iptraf, tcpdump, ngrep, nethogs, nload, iftop 等网络检测和诊断工具使用能够有效发现并解决相关问题。
基础命令 netstat, ping, traceroute...等须要熟练掌握并使用。
也能够借助一些检测网站,如17ce,alibench 等一些网站质量检测站点帮助发现问题。
待整理。。。
以上内容由Q哥哥编写并整理,谢谢观看。