安裝並配置Apache

来源:http://www.cnblogs.com/painterQ/archive/2017/05/12/6844486.html
-Advertisement-
Play Games

從今天開始,我將開始Web開發的學習。本系列博客將陸續記錄我學習過程中的收穫和困惑,從前端到後端,一探Web開發的流程和內容。我目前掌握的有C/C++,有一些使用C進行嵌入式開發的經驗,C++就馬馬虎虎了,對於C++這個“不可以精通”的語言,我會另開主題記錄,歡迎關註。只會C語言,可以說在Web開發 ...


    從今天開始,我將開始Web開發的學習。本系列博客將陸續記錄我學習過程中的收穫和困惑,從前端到後端,一探Web開發的流程和內容。我目前掌握的有C/C++,有一些使用C進行嵌入式開發的經驗,C++就馬馬虎虎了,對於C++這個“不可以精通”的語言,我會另開主題記錄,歡迎關註。只會C語言,可以說在Web開發上是新手中的新手,但是總要勇於挑戰新的事物,才不會落下守舊的嫌疑,尚且沒有能力開拓,那麼至少要保持進取才行。

    本文介紹了Apache的下載,安裝,和配置過程(你想要阿帕奇武裝直升機?出門自己問路)。經過安裝配置最後把自己的網頁放在指定的文件夾,就可以創建一個簡單的網站(區域網下)了。這有什麼用呢,存在電腦上的視頻啊什麼的就可以躺在床上通過手機瀏覽了,什麼視頻,你肯定明白......原來我的學習動機一直不純凈。我還是要辯解啊,我可不全是為了這些奇奇怪怪的東西,要實現這個怠惰的想法,只下載一個HFS就可以了(一款無需安裝的綠色伺服器軟體,下載也非常容易),但是畢竟功能簡單,至多用於實現文件的共用,不能設置PHP,python這些伺服器腳本。而Apache就強大很多,擁有你想要的一切,但"力量總是要付出代價的"(康納 語),Apache的安裝和配置也要複雜的很多啊。

1.下載Apache

    Apache作為一款著名的開源軟體下載到官方版本非常簡單。但打開官網的下載才發現官方提供的全是源代碼,我的天啊,從未這樣下過軟體的我心裡只有四個字,不得了啊。好在後來發現還是可以下載到編譯好了的版本,而且得到了官方的推薦,太好了,至少不用自己編譯了。直接把這個網址給大家吧http://www.apachehaus.com/cgi-bin/download.plx。打開這個鏈接後選擇最新的版本(或你需要的版本)點擊右邊的德國國旗就彈出下載框了(8.5M),至此下載完成。

2.配置安裝Apache

    解壓縮後一起來看看都下載了些什麼吧,話說這個感覺有點像打開快遞包裹呢。好在不會有意外,大概可以看到如圖的文件/文件夾,不然你八成是下載了假的阿帕奇。我們來看一下都是什麼吧。這些就是下載到的東西

  • bin文件夾裡面是一堆程式,一會兒需要的httpd.exe和ApacheMonitor.exe就在裡面躺著呢。
  • cgi-bin文件夾,看名字把自己的CGI程式或者腳本放在裡面就對了
  • conf文件夾顯然是configuration,這裡面是一堆關於伺服器的配置文件。尾碼奇奇怪怪但都是文本文件,能用記事本搞定
  • htdocs文件夾,“夾”如其名,把HTML文檔放在裡面就對了(裡面已經有一個index.htm了,那是一會兒測試用的)
  • logs文件夾,如果使用中出現了莫名其妙的問題,這裡有一個error.log是錯誤日誌,沒這個都不知道該怎麼問度娘

 安裝和配置過程思路很簡單,但都是在命令行中完成的,有些還需要管理員許可權,因此看上去就沒有安裝360那麼簡單了。但是自己全都操作下來後,你也會比安裝完360更放心(鬼知道360到底對電腦幹了什麼)。兩步走,一修改配置,二註冊服務。

重要的事先強調

1.http伺服器預設占用80埠來監聽客戶端(也就是瀏覽器)的請求,如果80埠已經被其他程式占用一會兒的安裝就會失敗(註冊的服務無法啟動),這是最常見的失敗原因。找了半天錯誤才發現僅僅是因為開了迅雷,避免這種鬱悶的方法就是安裝前先看看埠占用情況:win+R 輸入cmd,使用netstat -a -n命令。如果沒有被占用,那就放心了。

2.剛纔說到了註冊服務,那是什麼意思?windows服務是一類進程,它可以在電腦啟動時自動啟動,而且不顯示任何用戶界面。所謂註冊服務就是註冊這樣的一個進程,告訴操作系統這是一個“需要在電腦啟動時自動啟動,而且不顯示任何用戶界面”的進程。apache註冊這樣的一個服務來保持對80埠的監聽,以便隨時響應來自網路的請求。註冊服務需要管理員許可權。

 

    那麼開始第一步,修改配置。用記事本打開conf文件夾中的httpd.conf文件,第一句話就是“This is the main Apache HTTP server configuration file.”這個文件的重要性可想而知,對該文件的任何修改都三思而行。首先,找到Define SRVROOT "/Apache24"(如果找不到可以使用記事本的搜索),修改引號內的內容為真實的Apache24文件夾的地址。比如說我把這個文件夾放到G:盤則改為Define SRVROOT "G:/Apache24"(不修改這裡一會兒啟動服務時會提醒錯誤代碼2找不到指定文件)。然後,找到

#Listen 12.34.56.78:80 Listen 80,這是再說註冊服務後會監聽哪一個埠,預設就是80埠。有的人說可以修改這個值解決埠衝突,比如改成81或者8080等等,私認為這樣做不是最好的解決辦法,最好嘗試修改其他占用該埠軟體的埠值,畢竟80埠就是http協議的指定埠,修改後你的網站用戶除了輸入網址外還有指定埠才能訪問你的網站(也就是說在使用netstat -n -a 確定沒有占用80埠後,可以完全不修改這裡,保持現狀)。

    第二步,註冊服務。以管理員身份運行命令提示符(不知道在哪裡就問一下小娜吧)。輸入"G:\Apache\bin\httpd.exe" -k install -n apache。註意兩點,首先Apache文件夾要放在沒有中文名的路徑中。其次-n apache的意思就是說你註冊的這個服務的名字叫做apache,也可以用其他的名字。

    雙擊運行bin文件夾中的ApacheMonitor.exe,在任務欄右下角可以找到一個陌生的小圖標,點擊它找到你命名的服務,選擇start,如果圖標出現綠色三角 就說明啟動成功了。這個時候打開瀏覽器輸入http://localhost,應該會顯示一個網頁(就是htdocs文件夾中的index.htm),大功告成。

painterQ 2017年5月12日 [email protected]


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 最近一直在搞重構。 目前又再新重構一個小工具。 因為工具功能比較簡單,但是需求不太明確,所以之前寫代碼的時候有點隨意,現在寫完了,感覺代碼很亂。 也因為現在對這個小工具比較熟悉了,覺得是時候重構一發了。 因為重構,我也正在看《重構,改善既有代碼的設計》一書。實踐一下我看了幾章的感悟和這幾年的經驗。 ...
  • 在頁面中添加Panel容器和Button控制項 這是設計器代碼 namespace WinForm { partial class DefaultForm { /// <summary> /// 必需的設計器變數。 /// </summary> private System.ComponentMode ...
  • 又到了開心刺激的時候了, 來把dota 享元模式(Flyweight Pattern) 定義: 它是一種軟體設計模式. 它使用共用物件, 用來儘可能減少記憶體使用量以及分享資訊給儘可能多的相似物件; 它適合用於當大量物件只是重覆因而導致無法令人接受的使用大量記憶體. 通常物件中的部分準櫃臺是可以分享. ...
  • 1. 創建、初始化索引、統一搜索入口、搜索結果展現--內容、標題高亮、關鍵詞搜索 2. 高級搜索:高級搜索增加多入口查詢(精確查詢、模糊查詢、首碼查詢等),每頁顯示條數自定義、索引結果數據設置、選擇索引文檔類型等 3. 通過A系統調用B系統的Rest服務,生成相關的二維碼,可以直接用戶手機app 1 ...
  • jQuery的基本選擇器 選擇器的分類 <! 1.基本選擇器 2.層級選擇器 3.過濾選擇器 3.1 基本過濾選擇器 3.2 內容過濾選擇器 3.3 可見性過濾選擇器 3.4 子元素過濾選擇器 3.5 表單對象屬性過濾選擇器 4.表單選擇器 1. 基本選擇器 id element 根據給定的元素名匹 ...
  • 我們都知道setTimeout是一個延遲執行的函數 會得到1,3,2 但是 你知道這段代碼會執行什麼樣的效果嗎 正確答案是2,1 一開始我也很疑惑, 但是答案不是這樣的 聽阮一峰大神的解釋 setTimeout(fn,0)的含義是指定某個人物在主線程最早可得的空閑時間執行,也就是說,儘可能早的執行。 ...
  • jQuery選擇器的分類之過濾選擇器 上一篇文章為大家簡單呢的介紹了jQuery選擇器中的基本選擇器,層級選擇器,表單選擇器,接下來就帶大家瞭解一下過濾選擇器。。。 過濾選擇器都分為哪些??? 1. "基本過濾選擇器" 2. "內容過濾選擇器" 3. "可見性選擇器" 4. "子元素選擇器" 5. ...
  • ![](http://images2015.cnblogs.com/blog/1163004/201705/1163004-20170512111317926-856862476.png) ![](http://images2015.cnblogs.com/blog/1163004/201705/1... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...