所謂的簡單運維就是保證本身開發的程序能正常運行和使用。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哥哥編寫並整理,謝謝觀看。