❶ 什麼是linux操作系統
1、類Unix系統(英文:Unix-like)是指繼承UNIX的設計風格演變出來的系統(比如GNU/Linux、FreeBSD、OpenBSD、SUN公司的Solaris、Minix、QNX等),這些操作系統雖然有的是自由軟體,有的是商業軟體,但都相當程度地繼承了原始UNIX的特性,有許多相似處,但是它們卻並不含有UNIX的源代碼。
2、UNIX的源代碼為SCO公司所有,屬於商業軟體,UNIX的商標權和UNIX標准認定屬於OPENGROUP所有。由於UNIX標准認定價格昂貴,所以唯一獲得UNIX標准認定的為蘋果的MACOS系統。
3、Linux,全稱GNU/Linux,是一種免費使用和自由傳播的類UNIX操作系統,其內核由林納斯·本納第克特·托瓦茲於1991年10月5日首次發布,它主要受到Minix和Unix思想的啟發,是一個基於POSIX的多用戶、多任務、支持多線程和多CPU的操作系統。
4、Linux的基本思想有兩點:第一,一切都是文件;第二,每個文件都有確定的用途。其中第一條詳細來講就是系統中的所有都歸結為一個文件,包括命令、硬體和軟體設備、操作系統、進程等等對於操作系統內核而言,都被視為擁有各自特性或類型的文件。至於說Linux是基於Unix的,很大程度上也是因為這兩者的基本思想十分相近。
5、Linux是一款免費的操作系統,用戶可以通過網路或其他途徑免費獲得,並可以任意修改其源代碼。
6、Linux支持多用戶,各個用戶對於自己的文件設備有自己特殊的權利,保證了各用戶之間互不影響。
7、Linux可以運行在多種硬體平台上,如具有x86、680x0、SPARC、Alpha等處理器的平台。此外Linux還是一種嵌入式操作系統,可以運行在掌上電腦、機頂盒或 游戲 機上。2001年1月份發布的Linux 2.4版內核已經能夠完全支持Intel64位晶元架構。
8、由於Linux系統的處理能力非常強悍,具備不可比擬的穩定性特徵,因而Linux系統就不用經常進行重啟,Linux系統的變化可以在配置的過程中實現,所以Linux伺服器出現故障的概率比較小,所以很多企業組織在計算機配置的過程中經常使用Linux系統,從而降低伺服器發生崩潰的可能性。
9、在Linux之下,遠程的登錄系統具備兩種認證的形式:即密鑰與密碼認證。其中,密鑰認證的形式,主要是將公鑰儲存在遠程的伺服器之上,私鑰存儲在本地。當進行系統登陸的時候,再通過本地的私鑰,以及遠程的伺服器公鑰,進行配對認證的操作,若是認證的匹配度一致,則用戶便能夠暢通無阻的登錄系統。此類認證的方式,並不會受到暴力破解的威脅。與此同時,只需要確保本地私鑰的安全,使其不會被黑客所盜取即可,攻擊者便不能夠通過此類認證方式登陸到系統中。所以,推薦使用密鑰方式進行系統登陸。
10、Linux操作系統的常用命令:
常用命令及技巧
1、date:列印或者設置系統的日期和時間
2、stty-a:可以查看或者列印控制字元(Ctrl-C、Ctrl-D、Ctrl-Z等)
3、passwd:用passwd-h查看
4、logout,login:登錄shell的登錄和注銷命令
5、more,less,head tail:顯示或部分顯示文件內容
6、lp/lpstat/cancel,lpr/lpq/lprm:列印文件
7、chmod u+x:更改文件許可權
8、rm -fr dir:刪除非空目錄
9、cp -R dir:拷貝目錄
10、fg jobid:可以將一個後台進程放到前台
11、kill的作用:send a signal to a process、eg:kill-9發送的是SIG_KILL信號,具體發送什麼信號可以通過man kill查看、
12、ps的用法,ps-e或ps-o pid,ppid,session,tpgid,comm(其中session顯示的sessionid,tpgid顯示前台進程組id,comm顯示命令名稱)
13 ip a 查看 ip 地址信息的命令
14 zcat /proc/config.gz > config 到內核配置文件
關於Linux操作系統,你知道哪些知識點,可以在評論區補充!
❷ 什麼是Linux操作系統
什麼是Linux簡單地說,Linux是一套免費使用和自由傳播的類Unix操作系統,它主要用於基於Intel x86系列CPU的計算機上。這個系統是由全世界各地的成千上萬的程序員設計和實現的。其目的是建立不受任何商品化軟體的版權制約的、全世界都能自由使用的Unix兼容產品。
Linux的出現,最早開始於一位名叫Linus Torvalds的計算機業余愛好者,當時他是芬蘭赫爾辛基大學的學生。他的目的是想設計一個代替Minix(是由一位名叫Andrew Tannebaum的計算機教授編寫的一個操作系統示教程序)的操作系統,這個操作系統可用於386、486或奔騰處理器的個人計算機上,並且具有 Unix操作系統的全部功能,因而開始了Linux雛形的設計。
Linux以它的高效性和靈活性著稱。它能夠在PC計算機上實現全部的Unix特性,具有多任務、多用戶的能力。Linux是在GNU公共許可許可權下免費獲得的,是一個符合POSIX標準的操作系統。Linux操作系統軟體包不僅包括完整的Linux操作系統,而且還包括了文本編輯器、高級語言編譯器等應用軟體。它還包括帶有多個窗口管理器的X-Windows圖形用戶界面,如同我們使用Windows NT一樣,允許我們使用窗口、圖標和菜單對系統進行操作。
Linux之所以受到廣大計算機愛好者的喜愛,主要原因有兩個,一是它屬於自由軟體,用戶不用支付任何費用就可以獲得它和它的源代碼,並且可以根據自己的需要對它進行必要的修改,無償對它使用,無約束地繼續傳播。另一個原因是,它具有Unix的全部功能,任何使用Unix操作系統或想要學習 Unix操作系統的人都可以從Linux中獲益。
❸ linux操作系統的用處以及它是用來幹嘛的,還有它跟其他的操作系統有什麼不一樣
一個嵌入式軟體分為內核,架構和應用等幾個層次。任何外設和應用層軟體都將被以文件形式調用。
從底層來講,linux是屬於模仿unix,(unix也就是蘋果用的內核寫的開源系統),linux除部分小型機上用,一些小眾的手持設備如工控設備,測試設備,游戲機,電子閱讀器等也用得很好,它有穩定,高效,功耗低等優點,還有大量的開源程序可供「搭積木」,根據硬體和產品功能不同,系統可大可小,豐檢由人。
而android 系統由於有谷歌這個big boy號召,主要打算用在手持移動設備上,應用程序將潛力巨大,但安卓的出現到底是否會導致linux開發者失業,答案是否定的,android還在面紗之下,除非高手,還沒有人有精力徹底弄懂它的源程序,但linux則可以被很多產品商做到非常節省cpu資源,非常省電,針對某一個行業來說,支持程序也足夠。
android的各個產品的CPU型號千變萬化,一個廠家一個架構。 而且手機跟PC的硬體也不同。 必然導致其內核的不同,從底層來講,linux與android的內核支持架構有很大區別。 即便同樣是android系統本身,由於不同型號的手機,使用的硬體也不同,所以使用的內核也就不同,這也是為什麼普遍的, 沒一款手機幾乎都有自己的底包,不能像PC那樣互通。 關鍵是由於現在的手機和平板的CPU,硬體架構沒有一個同一的標准。
架構上,安卓雖說自己寫了部分架構程序,但其實還是抄襲了linux的思路,兩家正在打口水仗,因為成熟的安卓還沒有完全亮相,linux的老祖宗們,以及谷歌的對手們都眼裡閃著綠光在等著呢。 linux的lib也是可以隨便定製的。即,架構層android和linux原理是一樣的,其lib是要依賴底包。
應用的區別,主要指lib之上是各種應用。如果將每一個linux分支比作一棵樹,安卓屬於linux體系下的其中一棵樹,安卓這棵樹明顯的優勢是集團作戰,理論上說,其應用非常豐富,無所不能。 而一般linux由於不同的樹長上去面對的應用對象不同,無法體現這一優勢。
總體來說呢,android採用了linux系統的開發思想跟工作原理。 lib這個中間層很多都是照搬linux核心lib重新定製開發的。 所以,說android是一種嵌入式定製的linux系統也是可以的,並列於任何一個linux系統下的小眾設備系統。
❹ 什麼是linux操作系統
什麼是Linux?
簡單地說, Linux是一套免費使用和自由傳播的類 Unix操作系統,它主要用於基 Intel x86系列 CPU的計算機上。這個系統是由世界各地的成千上萬的程序員設計和實現的。其目的是建立不受任何商品化軟體的版權制約的、全世界都能自由使用的 Unix兼容產品。 Linux的出現,最早開始於一位名叫 Linus Torvalds的計算機業余愛好者,當時他是芬蘭赫爾辛基大學的學生。他的目的是想設計一個代替 Minix(是由一位名叫 Andrew Tannebaum的計算機教授編寫的一個操作系統示教程序)的操作系統,這個操作系統可用於 386、 486或奔騰處理器的個人計算機上,並且具有 Unix操作系統的全部功能,因而開始了 Linux雛形的設計。
Linux以它的高效性和靈活性著稱。它能夠在 PC計算機上實現全部的 Unix特性,具有多任務、多用戶的能力。 Linux是在 GNU公共許可許可權下免費獲得的,是一個符合 POSIX標準的操作系統。 Linux操作系統軟體包不僅包括完整的 Linux操作系統,而且還包括了文本編輯器、高級語言編譯器等應用軟體。它還包括帶有多個窗口管理器的 X-Windows圖形用戶界面,如同我們使用 Windows NT一樣,允許我們使用窗口、圖標和菜單對系統進行操作。
Linux與其他操作系統有什麼區別:
Linux可以與 MS-DOS、 OS/2、 Windows等其他操作系統共存於同一台機器上。它們均為操作系統,具有一些共性,但是互相之間各有特色,有所區別。
目前運行在 PC機上的操作系統主要有Microsoft的 MS-DOS、 Windows、 WindowsNT、 IBM的 OS/2等。早期的 PC機用戶普遍使用 MS-DOS,因為這種操作系統對機器的硬體配置要求不高,而隨著計算機硬體技術的飛速發展,硬體設備價格越來越低,人們可以相對容易地提高計算機的硬體配置,於是開始使用Windows、Windows NT等具有圖形界面的操作系統。 Linux是新近被人們所關注的操作系統,它正在逐漸為 PC機的用戶所接受。那麼, Linux與其他操作系統的主要區別是什麼呢?
首先看一下Linux與 MS- DOS之間的區別。 在同一系統上運行 Linux和 MS-DOS 已很普遍,就發揮處理器功能來說, MS-DOS沒有完全實現 x86處理器的功能,而Linux完全在處理器保護模式下運行,並且開發了處理器的所有特性。 Linux可以直接訪問計算機內的所有可用內存,提供完整的 Unix介面。而 MS-DOS只支持部分 Unix的介面。
就使用費用而言, Linux和 MS-DOS是兩種完全不同的實體。與其他商業操作系統相比, MS-DOS價格比較便宜,而且在 PC機用戶中有很大的佔有率,任何其他 PC 機操作系統都很難達到 MS-DOS的普及程度,因為其他操作系統的費用對大多數PC機用戶來說都是一個不小的負擔。 Linux是免費的,用戶可以從 internet上或 者其他途徑獲得它的版本,而且可以任意使用,不用考慮費用問題。
就操作系統的功能來說, MS-DOS是單任務的操作系統,一旦用戶運行了一個 MS-DOS的應用程序,它就獨佔了系統的資源,用戶不可能再同時運行其他應用程序。而 Linux 是多任務的操作系統,用戶可以同時運行多個應用程序。
再看一下 Linux與OS/2、 Windows、 Windows NT之間的區別。
從發展的背景看, Linux與其他操作系統的區別是, Linux是從一個比較成熟的操作系統發展而來的,而其他操作系統,如 Windows NT等,都是自成體系,無對
應的相依託的操作系統。這一區別使得 Linux的用戶能大大地從 Unix團體貢獻中獲利。因為 Unix是世界上使用最普遍、發展最成熟的操作系統之一,它是七十年代中期發展起來的微機和巨型機的多任務系統,雖然有時介面比較混亂,並缺少相對集中的標准,但還是發展壯大成為了最廣泛使用的操作系統之一。無論是Unix的作者還是 Unix的用戶,都認為只有 Unix才是一個真正的操作系統。
❺ Linux是什麼意思
Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和Unix的多用戶、多任務、支持多線程和多CPU的操作系統。伴隨著互聯網的發展,Linux得到了來自全世界軟體愛好者、組織、公司的支持。它除了在伺服器操作系統方面保持著強勁的發展勢頭以外,在個人電腦、嵌入式系統上都有著長足的進步。使用者不僅可以直觀地獲取該操作系統的實現機制,而且可以根據自身的需要來修改完善這個操作系統,使其最大化地適應用戶的需要。
Linux不僅系統性能穩定,而且是開源軟體。其核心防火牆組件性能高效、配置簡單,保證了系統的安全。在很多企業網路中,為了追求速度和安全,Linux操作系統不僅僅是被網路運維人員當作伺服器使用,Linux既可以當作伺服器,又可以當作網路防火牆是Linux的 一大亮點。
Linux與其他操作系統相比 ,具有開放源碼、沒有版權、技術社區用戶多等特點 ,開放源碼使得用戶可以自由裁剪,靈活性高,功能強大,成本低。尤其系統中內嵌網路協議棧 ,經過適當的配置就可實現路由器的功能。這些特點使得Linux成為開發路由交換設備的理想開發平台。
❻ 什麼是linux操作系統
Linux操作系統即linux。
Linux是一種自由和開放源碼的類Unix操作系統,存在著許多不同的Linux版本,但它們都使用了Linux內核。Linux可安裝在各種計算機硬體設備中,比如手機、平板電腦、路由器、視頻游戲控制台、台式計算機、大型機和超級計算機。Linux是一個領先的操作系統,世界上運算最快的10台超級計算機運行的都是Linux操作系統。嚴格來講,Linux這個詞本身只表示Linux內核,但實際上人們已經習慣了用Linux來形容整個基於Linux內核,並且使用GNU工程各種工具和資料庫的操作系統。Linux得名於天才程序員林納斯·托瓦茲。
Linux操作系統是UNIX操作系統的一種克隆系統,它誕生於1991年的10月5日(這是第一次正式向外公布的時間)。以後藉助於Internet網路,並通過全世界各地計算機愛好者的共同努力,已成為今天世界上使用最多的一種UNIX類操作系統,並且使用人數還在迅猛增長。
Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟體、應用程序和網路協議。它支持32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。它主要用於基於Intelx86系列CPU的計算機上。這個系統是由全世界各地的成千上萬的程序員設計和實現的。其目的是建立不受任何商品化軟體的版權制約的、全世界都能自由使用的Unix兼容產品。
主要特性:
基本思想
Linux的基本思想有兩點:第一,一切都是文件;第二,每個軟體都有確定的用途。其中第一條詳細來講就是系統中的所有都歸結為一個文件,包括命令、硬體和軟體設備、操作系統、進程等等對於操作系統內核而言,都被視為擁有各自特性或類型的文件。至於說Linux是基於Unix的,很大程度上也是因為這兩者的基本思想十分相近。
發展領域
職業領域:系統應用類(網管系統管理和維護人員安全管理人員中低端行業領域)待遇屬於中下。
系統開發類行業(JAVA軟體開發C語言軟體開發WEB開發嵌入式軟體開發)其中嵌入式軟體開發是linux應用最廣的領域待遇屬於中等
發展方向:UNIX往高端領域和產業發展,例如:AIX、HP-UX、Solaris等等。
完全免費
Linux是一款免費的操作系統,用戶可以通過網路或其他途徑免費獲得,並可以任意修改其源代碼。這是其他的操作系統所做不到的。正是由於這一點,來自全世界的無數程序員參與了Linux的修改、編寫工作,程序員可以根據自己的興趣和靈感對其進行改變,這讓Linux吸收了無數程序員的精華,不斷壯大。
完全兼容POSIX1.0標准
這使得可以在Linux下通過相應的模擬器運行常見的DOS、Windows的程序。這為用戶從Windows轉到Linux奠定了基礎。許多用戶在考慮使用Linux時,就想到以前在Windows下常見的程序是否能正常運行,這一點就消除了他們的疑慮。
多用戶、多任務
Linux支持多用戶,各個用戶對於自己的文件設備有自己特殊的權利,保證了各用戶之間互不影響。多任務則是現在電腦最主要的一個特點,Linux可以使多個程序同時並獨立地運行。
良好的界面
Linux同時具有字元界面和圖形界面。在字元界面用戶可以通過鍵盤輸入相應的指令來進行操作。它同時也提供了類似Windows圖形界面的X-Window系統,用戶可以使用滑鼠對其進行操作。在X-Window環境中就和在Windows中相似,可以說是一個Linux版的Windows。
支持多種平台
Linux可以運行在多種硬體平台上,如具有x86、680x0、SPARC、Alpha等處理器的平台。此外Linux還是一種嵌入式操作系統,可以運行在掌上電腦、機頂盒或游戲機上。2001年1月份發布的Linux2.4版內核已經能夠完全支持Intel64位晶元架構。同時Linux也支持多處理器技術。多個處理器同時工作,使系統性能大大提高。
使用技巧:
Linux主要被用作伺服器的操作系統,因為它的廉價、靈活性及Unix背景。傳統上,以Linux為基礎的「LAMP(Linux,Apache,MySQL,Perl/php/Python的組合)」技術,除了已在開發者群體中廣泛流行,它提供網站服務供應商最常使用的平台。
基於其低廉成本與高度可設置性,Linux常常被應用於嵌入式系統,例如機頂盒、行動電話及移動裝置等。在行動電話上,Linux已經成為SymbianOS的主要競爭者;而在移動裝置上,則成為WindowsCE與PalmOS外之另一個選擇。TiVo數碼攝影機使用了經過客制化後的Linux。此外,有不少硬體式的網路防火牆及路由器,例如部份LinkSys的產品,其內部都是使用Linux來驅動、並採用了操作系統提供的防火牆及路由功能。
採用Linux的超級電腦亦愈來愈多,根據2008年11月的TOP500超級電腦列表,現時世上最快速的超級電腦使用Linux作為其操作系統。而在表列的500套系統里,採用Linux為操作系統的,佔了439組(即87.8%)。
2006年開始發售的SONYPlayStation3亦可使用Linux的操作系統,它有一個能使其成為一個桌面系統的YellowDogLinux。之前,Sony亦曾為他們的PlayStation2推出過一套名為PS2Linux的DIY組件。Ubuntu自9.04版本,恢復了PPC支持(包括PlayStation3)。
而隨著OLPC的XO-1,華碩的EeePC等低價電腦的推行,許多人樂觀的認為在低端PC市場,linux的市場佔有率正在快速的增長。但在Windows進入此一市場後,Linux的市佔率快速下滑。
主要用途:虛擬化,資料庫伺服器,Web伺服器,應用伺服器,跳轉盒(Jumpbox),日誌伺服器,開發平台,Google搜索設備,入侵檢測系統。
以上資料來源於:網路:「Linux」條目
如有疑問,請追問,必復!
如滿意,請給我一個採納,謝謝!
❼ LINUX操作系統課程設計:企業伺服器的配置與實現怎樣做
一般購買大品牌的伺服器才有相應的驅動程序:
硬體:4核CPU,4G的內存,主板帶RIAD,512G內存,
安裝與配置Web伺服器
Apache伺服器源代碼安裝:
http://httpd.apache.org
Apache RPM軟體下載:
http://updates.redhat.com
Apache模塊和MPM可使用類型的更詳細介紹:
http://httpd.apache.org/docs-2.0/mod/N
Apache對模塊的使用有兩種方法,一種是將其永久性地編譯Apache內核中,即採用靜態編譯;另一種是採取動態編譯,將其編譯成DSO(Dynamic shared object,動態共享對象)模塊,DSO模塊的存儲是獨立於內核的,可被內核在需要時調用,具體是由mod_so模塊提供的運行時配置指令(LoadMole)來實現的,若在編譯中包含有任何動態模塊,則mod_so模塊會被自動包含進內核。若僅希望內核能夠支持裝載DSO模塊,但不實際編譯任何動態模塊,則在編譯配置時就明確指定--enable-so配置參數。
還提供了多道處理模塊MPMs(multi-processing moles),編譯過程中必須包含一個且只能有一個MPM,編譯時系統會根據平台類型自動選擇使用默認的MPM,也可在configure命令行中配置:
--with-mpm=要使用MPM類型
模塊的指定方法:
1.靜態編譯模塊到內核中,如編譯包含mod-sll和mod_rewrite(去掉mod_)模塊:
./configure --enable-mole="ssl rewrite"或./configure --enable-sll --enable-rewrite
動態編譯模塊為DSO:
./configure --enable-mods-shared="ssl rewrite"或./configure --enable-rewrite=shared
模塊說明:
httpd -l //查看httpd進程中包含哪些模塊;
httpd -S //檢查虛擬主機的配置是否存在語法錯誤;
httpd -f //啟動httpd守護進程時,載入配置文件;
mod_deflate模塊允許支持此功能的瀏覽器,在請求的頁面內容發送前進行壓縮,以節少網路帶寬。
mod_vbost_alias模塊支持虛擬主要的動態配置。
chkconfig --level 235 httpd on
chkconfig --list httpd
service httpd start
service httpd restart
service httpd reload //重新裝載httpd.conf(不重啟伺服器)
./configure --prefix=/usr/local/apache2 --enable-so --with-mpm=prefork --enable-moles="setenvif rewrite deflate vhost_alias"
#apachectl start //啟動Apache伺服器;
#apachectl restart
#echo "/usr/local/apache2/bin/apachectl start">>/etc/rc.d/rc.local //自動啟動
#httpd -t //檢查配置文件httpd.conf
#apachect configtest //檢查配置文件httpd.conf
#ServerRoot apache安裝路徑 //設置伺服器的根目錄;
#ServerName 完整的域名[:埠號] //設置伺服器用於重定向(埠)和虛擬主機;
#Listen [IP地址]埠號 //告訴伺服器接受來自指定埠或者指定IP地址的某埠的請求;
Listen 80
Listen 61.186.160.104:8088
#ServrAdmin E-mail地址 //設置Web站點管理員的E-mail地址,當產生錯誤時(如指定的網頁找不到),伺服器返回給客戶端的
錯誤信息中將包含該郵件地址,以告訴用戶該向誰報告錯誤;
#DocumentRoot 目錄路徑名 //設置Web伺服器站點根目錄;
DocumentRoot /usr/local/apache2/htdocs
#ErrorDocument 錯誤號 所要顯示的網頁 //定義當遇到錯誤時,伺服器將給客戶端什麼樣的回應,通常是顯示預設置的一個錯誤頁面;
grep ErrorDocument /etc/httpd/conf/httpd.conf //httpd.conf中一些對不同錯誤的響應信息;
#DirectoryIndex index.php index.htm index.html default.htm //設置站點主頁文件的搜索順序;
#user nobody //設置伺服器以哪種(nobody)用戶身份來響應客戶端的請求;
#Group # -1 //設置伺服器以哪種(nobody)用戶身份來響應客戶端的請求;nobody用戶許可權較小。
#AddDefaultCharset GB2312 //指定默認的字元集;
#TimeOut //設置連接請求超時的時間(秒),超時將斷開;
#KeepAlive //用於啟用持續的連接或者禁用;KeepAlive On|Off
#MaxKeepAliveRequests //設置在一個持續連接期間允許的最大HTTP請求數目;
#KeepAliveTimeout //設置在關閉TCP連接之前,等待後續請示求的秒數;一旦接受請求建立了TCP連接後則開始計時;
#PidFile logs/httpd.pid //指定存放httpd主(父)進程號的文件名;
日誌配置命令:
#ErrorLog //指定伺服器存放錯誤日誌文件的位置和文件名;
#LogLevel //設置記錄在錯誤日誌中的信息的詳細程序;
emerg 緊急,系統將無法使用;
alert 必須立即採取措施;
crit 致命情況;
crror 錯誤情況;
warm 警告;
info 普通信息;
notice 一般重要情況;
debug 出錯級別信息;
http://127.0.0.1 //測試Apache是否正常運行
Test Page
This page is used to test the proper operation of the Apache Web server after it has been installed. If you can read this page, it means that the Apache Web server installed at this site is working properly.
#rpm -q httpd
#rpm -Uvh http-2.0.40-21.11.i386.rpm
目錄說明:
/etc/httpd/conf //Apache伺服器的配置文件httpd.conf
/etc/rc.d/init.d/ //Apache伺服器啟動腳本安裝,httpd
/var/www/html //Web站點根目錄;
/usr/bin //Apache軟體包提供的可執行程序安裝在該目錄下。
/etc/httpd/logs //日誌文件
htdocs //默認Web站點的根目錄,可通過配置文件httpd.conf進行設置或更改;
cgi-bin //CGI腳本目錄;
bin //apachectl啟動腳本會自動設置在某些操作系統下,正常運行httpd所需的環境變數;
httpd守擴進程被調用後做的第一件事就是讀取httpd.conf,並根據其配置項來配置當前Web伺服器;
httpd.conf 分為三部分(section),
第一部分為全局環境設置,主要用於設置ServerRoot、主進程號的保存文件、
對進程的控制、伺服器偵聽的IP地址、埠、要裝載的DSO模塊
第二部分是伺服器的主要配置指一位置;
第三部分用於設置和創建虛擬主機;
Listen 80 //Web伺服器綁定在80埠;
DocumentRoot //設置Web站點的根目錄等;
訪問控制指令:
<Directory /usr/local/*/htdoes> //<Directory>使指定的目錄及其子目錄有效;不可嵌套。目錄名可使用「*」或「?」通配符,
<Files ~「\.ht"> //作用於指定的文件,則不管該文件實際存在子哪個目錄,允許所有主機訪問位於任何目錄下的.ht開的文件
Order allow,deny //指定allow和deny語句,哪一個被執行;允許、禁止訪問主機。
Allow from all //允許所有主機訪問;也可以是IP地址。
<Files>
</Directory>
<Location /assistant> //針對URL地址進行訪問限制,不是文件系統;
Order deny,allow //
Deny from all
Allow from 61.186.160.105
</Location>
Order deny,allow //若主機沒有被特別指出拒絕訪問,則該資源被允許訪問。
Order allow,deny //若主機沒有被特別指出允許訪問,則該主要將被拒絕訪問該資源。
Order mntual-failure //只有那些在allow語句中被指定,同時又沒有出現在deny語句的主機,才允許訪問。若主機在兩條指
令中都沒有出現,則將被拒絕訪問;
*、? //*代表任意個字元,?代表一個任意的字元;
<DirectoryMatch> //指定目錄名時,可直接使用正則表達式;<Directory>若要使用正則表達式,則需要在正則表達式前加「~"
<FilesMatch> //可直接使用正則表達式來通配多個文件;
AccessFileName .htaccess //.htaccess分布式配置文件,在該文件中也可放置一些配置指令,以作用於該文件所在的目錄以及
其下的所有子目錄。搜尋.htaccess文件會降低系統性能;
<Directory />
AllowOverride None //禁止系統查找.htaccess文件;
Options FollowSymLinks //Options:控制在特定目錄中將使用哪些伺服器特性;
</Directory>
Options命令可用的選項:
None 不啟用任何額處特性;
All 除MultiViews之外的所有特性,默認設置;
ExecCGI 允許執行CGI腳本;
FollowSymLinks 伺服器允許在此目錄中使用符號連接。在<Location>段中無效
Includes 允許伺服器端包含SSI(Server-side includes)
IncludesN()EXEC 允許伺服器端包含,但禁用#exec和#exec CGI命令。但仍可以從ScriptAltase目錄使用#include虛擬CGI腳本;
Indexes 如果一個映射目錄的URL被請求,而此目錄中又沒有DirectoryIndex(如:index.html),那麼伺服器返回一個
格式化後的目錄列表;
MultiViews 允許內容協商的多重視圖;
SymLinksIfOwnerMatch 伺服器僅在符號連接與其目的目錄或文件擁有者具有同樣的用戶ID時,才使用它;
ExecCGI 擁有ExecCGI執行許可權;
prefork.c 控制Apache進程,對於使用prefork多道處理模塊的Apache伺服器;
<IfMole prefork.c>
StartServers 5 //設置伺服器啟動時啟動的子進程的個數;
MinSpareServers 5 //設置伺服器中空閑子進程(即沒有HTTP處理請求的子進程)數目的下限;
MaxSpareServers 10 //設置伺服器中空閑子進程數目的上限。若空閑子進程超過該設置值,則父進程就會
停止多餘的子進程;
MaxClients 150 //設置伺服器允許連接的最大客戶數;
MaxRequestsPerChild 0 //設置子進程所能處理請求的數目上限,0為不受限制;
</IfMole>
access_log //日誌文件用於記錄伺服器處理的所有請求;
CustomLog 指定access_log日誌文件的位置和日誌記錄的格式;
LogFormat 定義日誌的記錄格式;
LogFormat 日誌格式字元串 日誌格式名稱
LogFormat "%h %1 %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined;
LogFormat "%h %1 %u %t \"%r\" %>s %b" common;
LogFormat "%{Referer}i->%U" referer;
LogFormat "%{User-agent}i「 agent;
LogFormat logs/access_log common
LogFormat "%v %h %l %u %t \"%r"\ %>s %b" vhost
CustomLog logs/vhost_log vhost
%a 遠程主機IP地址
%A 本地主機IP地址
%h 遠程主機名
%H 請求協議
%l 遠程登錄名
%u 來自auth 的遠程用戶
%U 請求的URL路徑
%U{User-agent}i 用戶瀏覽器類型
%b 發送的位元組數,不包括HTTP標題
%t 請求的時間
%r HTTP請求的第一行的內容
%s HTTP響應狀態碼,200代表訪問成功,404代表文件未找到,403代表禁止訪問,401代表未授權訪問,400代表錯誤請求。
%m 請求方法
%v 服務於該請求的伺服器的ServerName
%V 伺服器的名字,取決於UseCanonicalName的設置
%{Host}i 返回HTTP請求的主機頭信息,可能含埠號信息
split-logfile </var/www/myweb/vhost_log //當所有虛擬機日誌都記錄在主站點日誌中時,使用此命令將日誌按虛擬主機名分組,拆分成一個個獨立的日
志文件,第個日誌文件採用"虛擬主機名.log「形式命名,其中包含了該虛擬主機所產生的日誌記錄;
容器與訪問控制指令:容器指令通常用於封裝一組指令,使其在容器條件成立時有效,或者用於改變指令的作用域。
<IfMoe ! mpm_winnt.c> //<IfMoe>用於判斷指定的模塊是否存在,若存在(被靜態地編譯進伺服器,或是被動態裝載進伺服器)則包含於
其中的指令將有效,否則會被忽略。可嵌套使用。
<IfMoe ! mpm_netware.c> //若要使模塊不存在時所包含的指令有效,只需在模塊名前加一個「!」即可,
User nobody
Group # -1
</IfMoe>
</IfMoe>
基於域名虛擬主機:
例:假設當前伺服器的IP地址為192.168.3.120,現要在該伺服器創建兩個基於域名的虛擬主機,使用埠為標準的80,其域名分別為www.myweb1.com和www.myweb2.com,站點根目錄分別為/var/www/myweb1和/var/www/myweb2,日誌文件分別放在/var/vhlogs/myweb1和/var/vhlogs/myweb2目錄下面,Apache伺服器原來的主站點採用域名www.myweb.com進行訪問。
#vi /etc/hosts //使用/etc/hosts進行域名注冊;
192.168.3.120 www.myweb1.com www.myweb2.com www.myweb.com
#ping www.myweb1.com //檢測域名解析是否正常;
#ping www.myweb2.com
#ping www.myweb.com
#mkdir -p /var/www/myweb1
#mkdir -p /var/www/myweb2
#mkdir -p /var/vhlogs/myweb1
#mkdir -p /var/vhlogs/myweb2
#vi /etc/httpd/conf/httpd.conf
Listen 80 //設置Listen指令偵聽的埠
NameVirtualHost 192.168.3.120 //基於域名的虛擬主機,如果對多個地址使用了多個基於域名的虛擬主機
則對每個地址均要使用此指令:NameVirtualHost IP地址:埠
NameVirtualHost * 當IP地址無法確定時,使用「*」通配任意的IP地址
<VirtualHost 192.168.3.120> //定義一個虛擬主機,VirtualHost的參數必須與NameVirtualHost後面所使用的參數保持一致。
ServerName www.myweb.com //當一個請求到時,伺服器會首先檢查它是否使用了一個能和NameVirtualHost相匹配的IP地址。如果匹配,就會
DocumentRoot /usr/local/apache/htdoes //就會查找每個與這個IP地址相對應的<VirtualHost>配置段,並嘗試找出一個ServerName或ServerAlias配置相
ServerAdmin [email protected] //與請求的主機名(域名)相同的,若找到,則使用該虛擬主機的配置,並響應其訪問請求。否則將使用符合這個
</VirtualHost> //IP地址的第一個列出的虛擬主機。在最前面的虛擬主機成為默認虛擬主機。
<VirtualHost 192.168.3.120>
ServerName www.myweb1.com
DocumentRoot /var/www/myweb1
DirectoryIndex index.php index.php3 index.html index.htm default.html default.html
ServerAdmin [email protected]
ErrorLog /var/vhlogs/myweb/error_log
TransferLog /var/vhlogs/myweb1/access_log
</VirtualHost>
<VritualHost 192.168.3.200>
ServerName www.myweb2.com
DocumenRoot /var/www/myweb2
DirectoryIndex index.php index.php3 index.htm index.html default.htm default.html
ServerAdmin [email protected]
ErrorLog /var/vhlogs/myweb2/error_log
TranferLog /var/vhlogs/myweb2/access_log
</VirtualHost>
<Directory /var/www> //對Web站點目錄設置訪問控制;
Options FllowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
Apachectl –S //查查虛擬主機配置是否正確;
Aparhectl restart //重啟Apache伺服器配置生效;
例:
NameVirtualHost 192.168.168.10 //伺服器配有兩塊網卡,IP:內網192.168.168.10,外網61.186.160.104,在Internet網中,企業域名
NameVirtualHost 61.186.160.104 //www.example.com指向外網IP地址,在企業內網的DNS伺服器中,指向內網IP地址;現要求為來自內網
<VirtualHost 192.168.168.10 61.186.160.104> //外網的請求提供同樣的Web服務。(httpd.conf中設置)
DocumentRoot /www/server1
ServerName www.example.com
</Virtual>
例:
Listen 80 //伺服器:192.168.168.154,伺服器上創建兩個基於域名(主機名)的虛擬主機,域名:www.myweb3.com和www.
Listen 8080 //myweb4.com,每個虛擬主機的80埠和8080埠,分別服務一個Web站點,其站點根目錄分別為
// /var/www/myweb3-80、/var/www/myweb3-8080、/var/www/myweb4-80、/var/www/myweb4-8080。
NameVirtualHost 192.168.168.154:80 //www.myweb3.com的80埠作為默認Web站點。
NameVirtualHost 192.168.168.154:8080
<VirtualHost 192.168.168.154:80>
ServerName www.myweb3.com
DocumentRoot /var/www/myweb3-80
<VirtualHost>
<VirtualHost 192.168.168.154:8080>
ServerName www.myweb3.com
DocumentRoot /var/www/myweb3-8080
</VirtualHost>
<VirtualHost 192.168.168.154:80>
ServerName www.myweb4.com
DocumentRoot /var/www/myweb4-80
</VirtualHost>
<VirtualHost 192.168.168.154:8080>
ServerName www.myweb4.com
DocumentRoot /var/www/myweb4-8080
</VirtualHost>
基於IP地址虛擬主機:
#cd /etc/sysconfig/network-scripts //伺服器有兩張網卡eth0、eth1,eth0:192.168.167.157,
#cp ifctg-eth1 ifcfg-eth1:0 //eth1:192.168.167.156.eth0網卡用作了基於主機名的虛擬主機,
#vi ifcfg-eth1:0 //eth1通過IP別名方式,為其綁定多個IP地址,用於提供基於IP地址
DEVICE=eth1:0 //的虛擬主機。eth1綁定的第一張虛擬網卡的設備名為eth1:0,對應的
IPADDR=192.168.167.157 //配置文件為ifcfg-eth1:0,通過修改配置文件中的設備名和IP地址,
#ifdown eth1 //即可實現IP地址的綁定。
#ifup eth1:0
#ifup eth1
#ping 192.168.167.157
#ping 192.168.167.156
#vi /etc/hosts //192.168.167.156:www.example2.com,192.168.167.157:
192.168.167.157 www.example3.com //www.example3.com,試為其創建基於IP地址的虛擬主機,埠使用80
#mkdir -p /var/www/example2 //目錄分別為/var/www/example2、/var/www/example3,為這兩個域再增
#mkdir -p /var/www/example3 //8080埠,使其也能在8080埠發布另外的Web站點。Web站點根目錄分
///var/www/example2-8080、/var/www/example3-8080
#vi httpd.conf
Listen 80
Listen 8080
<VirtualHost 192.168.167.156:80>
ServerName www.example2.com
DocumentRoot /var/www/example2
</VirtualHost>
<VirtualHost 192.168.167.156:8080>
ServerName www.example2.com
DocumentRoot /var/www/example2-8080
</VirtualHost>
<VirtualHost 192.168.167.157:80>
ServerName www.exaple3.com
DocumentRoot /var/www/example3
</VirtualHost>
<VirtualHost 192.168.167.157:8080>
ServerName www.exaple3.com
DocumentRoot /var/www/example3-8080
</VirtualHost>
❽ 【大學Linux操作系統實驗】設計並實現Linux進程並發的應用程序——音畫同步
你這是程序設計啊,這個問題復雜了