新聞中心

為虞城等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及虞城網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站制作、成都做網(wǎng)站、虞城網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
如今的 IT 服務(wù)器領(lǐng)域是 Linux、UNIX、windows 三分天下,Linux 系統(tǒng)可謂后起之秀,特別是“互聯(lián)網(wǎng)熱”以來,Linux 在服務(wù)器端的市場份額不斷擴大,每年增長勢頭迅猛,開始對 Windows 和 UNIX 的地位構(gòu)成嚴重威脅。
下圖是 2016 年初國內(nèi)服務(wù)器端各個操作系統(tǒng)的市場份額:
可以看出來,Linux 占 80% 左右(包括 CentOS、Ubuntu 等),Windows 占 12.8%,Solaris 占 6.2%。在未來的服務(wù)器領(lǐng)域,Linux 是大勢所趨。
Linux 在服務(wù)器上的應(yīng)用非常廣泛,可以用來搭建 Web 服務(wù)器、數(shù)據(jù)庫服務(wù)器、負載均衡服務(wù)器(CDN)、郵件服務(wù)器、DNS 服務(wù)器、反向代理服務(wù)器、VPN 服務(wù)器、路由器等。用 Linux 作為服務(wù)器系統(tǒng)不但非常高效和穩(wěn)定,還不用擔(dān)心版權(quán)問題,不用付費。
正是由于 Linux 服務(wù)器的大規(guī)模應(yīng)用,才需要一批專業(yè)的人才去管理,這群人就是
Linux 運維工程師(OPS)。
OPS 的主要工作就是搭建起運行環(huán)境,讓程序員寫的代碼能夠高效、穩(wěn)定、安全地在服務(wù)器上運行,他們屬于后勤部門。OPS 的要求并不比程序員低,優(yōu)秀的 OPS 擁有架設(shè)服務(wù)器集群的能力,還會編程開發(fā)常用的工具。
OPS 這項工作的細節(jié)內(nèi)容包括:
- 安裝操作系統(tǒng),例如 CentOS、Ubuntu 等。
- 部署代碼運行環(huán)境,例如網(wǎng)站后臺語言采用 PHP,就需要安裝 Nginx、Apache、MySQL、PHP 運行時等。
- 及時修復(fù)漏洞,防止服務(wù)器被攻擊,這包括 Linux 本身漏洞以及各個軟件的漏洞。
- 根據(jù)項目需求升級軟件,例如 PHP 7.0 在性能方面獲得了重大突破,如果現(xiàn)在服務(wù)器壓力比較大,就可以考慮將舊版的 PHP 5.x 升級到 PHP 7.0。
- 監(jiān)控服務(wù)器壓力,別讓服務(wù)器宕機。例如淘寶雙十一的時候就會瞬間涌入大量用戶,導(dǎo)致部分服務(wù)器宕機,網(wǎng)頁沒法訪問,甚至連支付寶都不能使用。
- 分析日志,及時發(fā)現(xiàn)代碼或者環(huán)境的問題,通知相關(guān)人員修復(fù)。
這些任務(wù)只要登錄遠程服務(wù)器,或者去機房連接服務(wù)器(下圖所示)就能夠完成,為什么要用 Shell 編程呢?
圖:OPS 在機房中用筆記本連接服務(wù)器
因為 OPS 面對的是成千上萬臺的服務(wù)器,不是十臺八臺,你總不能把同樣的工作重復(fù)成千上萬遍吧,那時估計黃花菜都涼了,市場也成一片紅海了。
服務(wù)器一旦多了,這些人力工作都需要自動化起來,跑一段代碼就能在成千上萬臺服務(wù)器上完成相同的工作,例如服務(wù)的監(jiān)控、代碼快速部署、服務(wù)啟動停止、數(shù)據(jù)備份、日志分析等。
Shell 腳本很適合處理純文本類型的數(shù)據(jù),而 Linux 中幾乎所有的配置文件、日志文件(如 NFS、Rsync、Httpd、Nginx、MySQL 等),以及絕大多數(shù)的啟動文件都是純文本類型的文件。
下面的手鏈形象地展示了 Shell 在運維工作中的地位:
運維“手鏈”的組成:每顆“珍珠”都是一項服務(wù),將珍珠穿起來的“線”就是 Shell。
Shell 腳本是實現(xiàn) Linux 系統(tǒng)自動管理以及自動化運維所必備的工具,Linux 的底層以及基礎(chǔ)應(yīng)用軟件的核心大都涉及 Shell 腳本的內(nèi)容。每一個合格的 Linux 系統(tǒng)管理員或運維工程師,都應(yīng)該能夠熟練的編寫 Shell 腳本,只要這樣才能提升運維人員的工作效率,減少不必要的重復(fù)勞動,為個人的職場發(fā)展奠定較好的基礎(chǔ)。
Shell、Python 和 Perl
除了 Shell,能夠用于 Linux 運維的腳本語言還有 Python 和 Perl。
1) Perl 語言
Perl 比 Shell 強大很多,在 2010 年以前很流行,它的語法靈活、復(fù)雜,在實現(xiàn)不同的功能時可以用多種不同的方式,缺點是不易讀,團隊協(xié)作困難。
Perl 腳本已經(jīng)成為歷史了,現(xiàn)在的 Linux 運維人員幾乎不需要了解 Perl 了,最多可以了解一下 Perl 的安裝環(huán)境。
2) Python 語言
Python 是近幾年非常流行的語言,它不但可以用于腳本程序開發(fā),也可以實現(xiàn) Web 程序開發(fā)(知乎、豆瓣、YouTube、Instagram 都是用 Python 開發(fā)),甚至還可以實現(xiàn)軟件的開發(fā)(大名鼎鼎的 OpenStack、SaltStack 都是 Python 語言開發(fā))、游戲開發(fā)、大數(shù)據(jù)開發(fā)、移動端開發(fā)。
現(xiàn)在越來越多的公司要求運維人員會 Python 自動化開發(fā),Python 也成了運維人員必備的技能,每一個運維人員在熟悉了 Shell 之后,都應(yīng)該再學(xué)習(xí) Python 語言。
3) Shell
Shell 腳本的優(yōu)勢在于處理偏操作系統(tǒng)底層的業(yè)務(wù),例如,Linux 內(nèi)部的很多應(yīng)用(有的是應(yīng)用的一部分)都是使用 Shell 腳本開發(fā)的,因為有 1000 多個 Linux 系統(tǒng)命令為它作支撐,特別是 Linux 正則表達式以及三劍客 grep、awk、sed 等命令。
對于一些常見的系統(tǒng)腳本,使用 Shell 開發(fā)會更簡單、更快速,例如,讓軟件一鍵自動化安裝、優(yōu)化,監(jiān)控報警腳本,軟件啟動腳本,日志分析腳本等,雖然 Python 也能做到這些,但是考慮到掌握難度、開發(fā)效率、開發(fā)習(xí)慣等因素,它們可能就不如 Shell 腳本流行以及有優(yōu)勢了。對于一些常見的業(yè)務(wù)應(yīng)用,使用 Shell 更符合 Linux 運維
簡單、易用、高效的三大原則。
Python 語言的優(yōu)勢在于開發(fā)
復(fù)雜的運維軟件、Web 頁面的管理工具和 Web 業(yè)務(wù)的開發(fā)(例如 CMDB 自動化運維平臺、跳板機、批量管理軟件 SaltStack、云計算 OpenStack 軟件)等。
我們在開發(fā)一個應(yīng)用時,應(yīng)該根據(jù)業(yè)務(wù)需求,結(jié)合不同語言的優(yōu)勢以及自己擅長的語言來選擇,揚長避短,從而達到高效開發(fā)、易于自己維護的目的。
新聞名稱:Shell是運維人員必須掌握的技能
瀏覽地址:http://fisionsoft.com.cn/article/coesdig.html


咨詢
建站咨詢
