本文目錄一覽:
PHP程序員要求熟悉Linux操作系統,一般是那些要求?
「了解 Linux 文件系統 .執行普通的文件管理操作任務 .使用和定製 GNOME 界面 .系統基本命令詳解 .使用 GNOME 圖形用戶界面執行常見操作任務 .使用 VI 編輯器打開、編輯並保存文本文檔 .文件訪問許可權 .對 X Window 系統進行定製 .使用正則表達式、模式匹配以及 I/O 重定向 .在系統中安裝、升級、刪除和查詢包 .用戶的網路工具 .高級用戶工具」 這些Linux基礎課程你應該會吧,在一個就是二樓所說的,會搭建Apache+Mysql+PHP環境。 別的也沒什麼了吧。
中級PHP工程師需要會哪些Linux技能
1、Linux
能夠流暢的使用Shell腳本來完成很多自動化的工作;awk/sed/perl 也操作的不錯,能夠完成很多文本處理和數據統計等工作;基本能夠安裝大 部分非特殊的Linux程序(包括各種庫、包、第三方依賴等等,比如MongoDB/Redis/Sphinx/Luncene/SVN之類的);了解基 本的Linux服務,知道如何查看Linux的性能指標數據,知道基本的Linux下面的問題跟蹤等
其他技術:
2. Nginx:
在第一階段的基礎上面,了解複雜一些的Nginx配置;包括多核配置、events、proxy_pass,sendfile/tcp_*配置,知道超 時等相關配置和性能影響;知道nginx除了web server,還能夠承擔代理伺服器、反向靜態伺服器等配置;知道基本的nginx配置調優;知道如 何配置許可權、編譯一個nginx擴展到nginx;知道基本的nginx運行原理(master/worker機制,epoll),知道為什麼nginx 性能比apache性能好等知識;
3. MySQL/MongoDB:
在第一階段的基礎上面,在MySQL開發方面,掌握很多小技巧,包括常規SQL優化(group by/order by/rand優化等);除了能夠搭 建MySQL,還能夠冷熱備份MySQL數據,還知道影響innodb/myisam性能的配置選項(比如key_buffer/query_cache /sort_buffer/innodb_buffer_pool_size/innodb_flush_log_at_trx_commit等),也知 道這些選項配置成為多少值合適;另外也了解一些特殊的配置選項,比如 知道如何搭建mysql主從同步的環境,知道各個binlog_format的區 別;知道MySQL的性能追查,包括slow_log/explain等,還能夠知道基本的索引建立處理等知識;原理方面了解基本的MySQL的架構 (Server+存儲引擎),知道基本的InnoDB/MyISAM索引存儲結構和不同(聚簇索引,B樹);知道基本的InnoDB事務處理機制;了解大 部分MySQL異常情況的處理方案(或者知道哪兒找到處理方案)。條件允許的情況,建議了解一下NoSQL的代表MongoDB資料庫,順便對比跟 MySQL的差別,同事能夠在合適的應用場景安全謹慎的使用MongoDB,知道基本的PHP與MongoDB的結合開發。
4. Redis/Memcached:
在大部分中型系統裡面一定會涉及到緩存處理,所以一定要了解基本的緩存;知道Memcached和Redis的異同和應用場景,能夠獨立安 裝 Redis/Memcached,了解Memcahed的一些基本特性和限制,比如最大的value值,知道PHP跟他們的使用結合;Redis了解 基本工作原理和使用,了解常規的數據類型,知道什麼場景應用什麼類型,了解Redis的事務等等。原理部分,能夠大概了解Memcached的內存結構 (slab機制),redis就了解常用數據類型底層實現存儲結構(SDS/鏈表/SkipList/HashTable)等等,順便了解一下Redis 的事務、RDB、AOF等機制更好
php工程師為什麼要學LINUX??
因為Linux主要的好處是開源、安全、穩定。
對於程序員來說,了解系統的內部代碼和運行結構是了解系統、編寫出更高品質的程序的思路之一,而且現在Linux的開發和使用越來越普遍,特別是在伺服器的應用(你所熟知的gogle、yahoo都是Linux平台的商業軟體包),你可以想像一下Linux的應用。
而Windows是非開源商業軟體,你很難得到它的源碼,而且也不能去修改它的內容(否則等著吃官司)。這給應用程序的開發提出了很多難題。
另外,Linux並不是純命令行軟體。
命令行是基礎,然後在其之上運行圖形界面平台,常用的有KDE GNOME和XFACE(輕量級)。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/272074.html