w

您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  要资料 文章 文库 Lib 视频 Code iProcess 课程 认证 咨询 工具 火云堂 讲座吧   成长之路  
会员   
 
   
 
  
每天15篇文章
不仅获得谋生技能
更可以追随信仰
 
 
     
   
 订阅
  捐助
PHP程序员的简单运维
 
作者:oxiaohaio  来源:51CTO 发布于 2016-12-29
340 次浏览     评价:      
 

所谓的简单运维就是保证自己开发的程序能正常运行和使用。

当一个程序员需要兼作运维时候需要掌握以下技能

1、linux系统基础命令和Windows Server操作

是基础中的基础,ls, rm, top, w, mkdir, find, cp, mv, kill, killall, cat, chown, chmod, time... 等等,命令参数没必须全部掌握,需要用的时候度娘去查。

2、WEB服务环境配置

常用的NGINX和APACHE要熟悉,WIN下可以使用IIS,有些情况下需要TOMCAT也要了解,一般使用安装包或者安装命令比较省事。后面会介绍一些安装命令。

3、SHELL脚本或BAT批处理

简单写个备份脚本或者文件处理之类的,方便快捷。

4、数据库

大部分使用MYSQL,一般掌握数据迁移,坏损数据修复即可。

5、防火墙(安全规则)

WIN一般使用IP策略,linux用IPTABLES和hosts.allow即可防范常规的非授权访问,后面也有详细介绍。

6、监控工具(存货监控)

相对来说比较重要,保证业务正常运行的手段,有条件的话可以自己写监控报警脚本,也可以使用第三方工具 cacti,nagios,zabbix等等。也有部分公司提供监控服务,如监控宝,阿里云监控,百度云观测,360监控,业务出错后都有短信或者邮件等渠道通知。

7、集群和热备

有很多工具可以实现,根据实际情况部署即可,对于WEB服务基本就两点:文件和数据库。

8、数据备份

通过脚本或者工具把所有业务数据定期异地备份,一般情况是凌晨1点-3点在服务器空闲时间。

下面详细介绍一些常规操作方法

查看服务器负载 top

load average: 0.76, 0.72, 0.70 一般查看这个数值,第一个数据一般在1以内表示运行状况良好,其他数据具体含义可以度娘去查,这里不详述。这个load average数据也可以用w命令快速查看。

编辑本本或配置文件命令 vim

一般系统新装时候没有自带vim的情况下,也可以使用vi代替

具体使用方法网上也有很多教程,可以查找学习

安装软件

centos下一般使用 yum install 如

yum 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 一般安装命令是

yun 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

整体规则,具体的设置步骤需要实际操作几次后即可熟练。

最后右键此条策略,选择分配,立即生效

其他1

本地数据备份脚本

tar -zcvf /home/bak/file_$(date -d "yesterday" +"%Y%m%d").bak.tar.gz /www 脚本文件放到/apptool/bak.sh,内容意思是把/www目录压缩到/home/bak目录下面,以file_日期_bak.tar.gz命名。

然后放到crontab里面定时每天夜里执行

crontab -e

00 00 * * * /bin/bash /apptool/bak.sh

异地备份可以选择使用flashfxp做好定时任务周期性拉取文件即可。

数据库备份可以选择使用navicat做好远程连接设置,然后做好备份规则。

其他2

为了开发和维护方便,可以部署一些自动化程式,可以在测试环境设置周期性拉取版本库里面的内容,实现自动更新,开发者只需在本地提交后即可实时预览修改后的内容。

正式环境也可以使用脚本完成一键更新。

其他3

掌握一些常规压测工具,检验程序和服务器的性能,如wrk, ab, webbench, hping ab 一般装有apache的机器上都可以直接使用,一般目标主机都是自己的server,如

ab -c100 -n1000 http://www.host.com/

请求目标主机100并发,总请求1000次,命令结束后会出现一些信息总结检测情况,同时需要观察目标主机的资源消耗情况。

hping工具也很好用,具体使用方法可以查阅使用文档。

其他4

iptraf, tcpdump, ngrep, nethogs, nload, iftop 等网络检测和诊断工具使用可以有效发现并解决相关问题。

基础命令 netstat, ping, traceroute...等需要熟练掌握并使用。

也可以借助一些检测网站,如17ce,alibench 等一些网站质量检测站点帮助发现问题。

其他5

待整理。。。

   
 订阅
  捐助
相关文章

DevOps转型融入到企业文化
DevOps 能力模型、演进及案例剖析
基于 DevOps 理念的私有 PaaS 平台实践
微软开发团队的DevOps实践启示
相关文档

DevOps驱动应用运维变革与创新
运维管理规划
如何实现企业应用部署自动化
运维自动化实践之路
相关课程

自动化运维工具(基于DevOps)
互联网运维与DevOps
MySQL性能优化及运维培训
IT系统运维管理
 

itil五大流程图
ITIL流程管理六步走
使用ITIL V3作SOA治理的基石
IT服务管理的实践与总结
借鉴ITIL架构理念提升信息化
ITIL流程总结
更多...   


基于ITIL的IT服务管理
ITIL认证
ITSM/ITIL基础
IT规划管理
IT外包管理
IT成本管理

中国移动通信 网络规划与管理
某航空公司 IT规划与企业架构
某金融公司 IT服务管理(ITIL V3)
中国联通集团 IT前沿知识概述
中海油 企业IT架构设计
更多...   
 
 
 

 
 
 
 
每天2个文档/视频
扫描微信二维码订阅
订阅技术月刊
获得每月300个技术资源
 
 

关于我们 | 联系我们 | 京ICP备10020922号 京公海网安备110108001071号