本篇内容介绍了“PHP程序员的简单运维技术有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
创新互联是一家集网站建设,亚东企业网站建设,亚东品牌网站建设,网站定制,亚东网站建设报价,网络营销,网络优化,亚东网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
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下目录访问权限如下
Options FollowSymLinks AllowOverride None Order Deny,Allow Deny From all Allow From 2.2.2.2 Allow From 2.2.2.3
意思是/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 等一些网站质量检测站点帮助发现问题。
“PHP程序员的简单运维技术有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!