Web服務器 - Apache配置介紹

基本語法

常量的定義與使用,使用關鍵詞 Define 可以定義常量,使用 ${} 插入常量,如下

語法規則說明示列
Define定義常量Define SRVROOT “D:/srv/Apache24”
${}使用常量ServerRoot “${SRVROOT}”
/表示路徑時使用 / 而不使用 \D:/srv/Apache24

基本配置

配置參數配置說明示列
ServerRootApache運行目錄ServerRoot “D:/Apache24”
Listen監聽端口Listen 80
LoadModule加載模塊LoadModule 模塊名 模塊文件
ServerAdmin管理員的郵箱,服務器出現問題時,會在頁面中顯示ServerAdmin admin@example.com
ServerName服務器解析域名ServerName www.example.com
ServerAlias域名別名,配置多域名解析時使用ServerName api.example.com
DocumentRoot網站根目錄DocumentRoot “${SRVROOT}/htdocs”
DirectoryIndex網站自動執行文件,默認文件DirectoryIndex index.php index.html
ErrorLog錯誤日志ErrorLog “logs/error.log”
CustomLog設定日志的文件名和格式CustomLog “logs/access.log” common
LogLevel錯誤提示等級LogLevel warn
Include包含其他的配置文件,支持通配符 *Include conf/vhosts/*.conf
Alias使客戶端可以訪問到DocumentRoot以外的本地文件Alias /myphoto “E:/照片”
ScriptAlias映射一個URL到文件系統并視之為CGI腳本目錄ScriptAlias /cgi-bin/ “D:/wamp/bin/Apache2.4.23/cgi-bin”
DefaultType當服務器無法確定一個文檔的內容類型時發送的默認MIME內容類型DefaultType text/plain
AddType為特定后綴的文件指定MIME類型,這里的設置將覆蓋mime.types中的設置AddType application/x-httpd-php .php .html .htm (前導點可帶可不帶)
ErrorDocument當遇到錯誤的時候服務器將給客戶端什么樣的應答。 語法:ErrorDocument error-code document 其中error-code時服務器返回的錯誤代碼,document是回應的數據,可以是簡單的文本,本地網頁,本地CGI程序,或遠程主機上的網頁ErrorDocument 500 “The server made a boo boo.”
EnableMMAPhttpd在遞送中如果需要讀取一個文件的內容,是否可以使用內存映射
EnableSendfile控制httpd是否可以使用操作系統內核的sendfile支持來將文件發送到戶端EnableSendfile Off

容器設置

所有的容器都是成對出現的,和html的標簽一樣

< IfModule >容器

封裝一組指令,并根據指定的模塊是否啟用決定是否進行處理

使用 <IfModule 模塊名> 或 <IfModule !模塊名> 判斷模塊是否載入<IfModule module_name>當模塊module_name加載時執行里面的內容
</IfModule><IfModule !module_name>當模塊module_name沒有加載時執行里面的內容
</IfModule>
< IfDefine >容器

封裝一組指令,只有在啟動時啟動參數測試結果為真時才生效

<IfDefine parameter-name> 或 <IfDefine !parameter-name>
parameter-name是在服務啟動時,通過httpd命令行的 -D parameter 這樣的形式指定的,
例如 httpd -D Proxy使用方式與<IfModule>一致
< Directory > 與 < DirectoryMatch > 容器

封裝一組指令,在指定的目錄以及其子目錄中生效,這個目錄必需時一個完整的目錄

使用通配符 “"、"?" 匹配目錄,也可以使用 “[]” 來確定字符范圍,不過無論是"”、"?" , 還是 “[]” 都不能匹配 “/”

<Directory /srv/apache*/>AllowOverride noneRequire all denied
</Directory>

也可以在表達式前使用"~"表示使用正則表達式

<Directory  ~"^/srv/apache[0-9]{2}/">AllowOverride noneRequire all denied
</Directory>

< DirectoryMatch >的使用方式與與< Directory >一致,區別時可以直接接受正則表達式,而無須加上"~"

< Files > 與 < FilesMatch > 容器

與< Directory >容器作用于目錄相對應,< Files >容器只作用于文件,使用方法一致

<Files ~"^\.html">Order Deny,AllowAllow from All
</Files>
< Location >與< LocationMatch >容器

對URL進行訪問控制;使用方法與上述幾個容器一致。

指令設置

Options:控制在特定目錄中將使用哪些服務器特性
參數說明
Indexes若訪問目錄下無index文件,則準許顯示該目錄下的文件列表以供選擇。
FollowSymLinks準許在目錄中使用符號鏈接到其他目錄。
MultiViews準許內容協商的“多重視圖”。如果客戶端請求的路徑可能對應多種類型的文件,服務器將根據客戶端請求的具體情況自動選擇一個最匹配客戶端要求的文件。例如只在地址欄輸入index也可以訪問到index.php頁面。
Includes準許SSI。
IncludesNOEXEC準許SSI,但不可使用exec和include功能。
ExecCGI準許在該目錄下使用CGI。
All表示除了MultiViews之外的所有特性。
None表示不啟用任何的服務器特性。

注意:如果一個目錄被多次設置了options,則最特殊的一個會被完全接受。

AllowOverrid:是否準許文件“.htaccess”中設定的權限覆蓋文件中設定的權限
參數說明
All準許覆蓋
None不準許覆蓋
AuthConfig允許使用與認證授權相關的指令。
FileInfo允許使用控制文檔類型的指令、控制文檔元數據的指令、mod_rewrite中的指令、mod_actions中的Action指令。
Indexs允許使用控制目錄索引的指令。
Limit允許使用控制主機訪問的指令。
控制訪問狀態

apache2.2 和 apache2.4 的配置方式不一樣,2.2使用order+allow/deny,2.4使用Require語句來配置

apache2.2

Order:控制默認的訪問狀態和allow、deny指令生效的順序

參數說明
allow允許訪問。
deny拒絕訪問。

這兩個參數由最后一個出現的參數決定,如“Order allow,deny”默認拒絕了所有的意思(中間有且只有一個逗號),但最終的判斷結果還要總下面的allow、deny語句中各自所包含的范圍(如果有的話),這兩個語句后面都一定接著“from”,否則Apache會無法啟動。“Order allow,deny”表示先判斷allow語句再判斷deny語句。

# 拒絕所有請求
Order deny,allow
deny from all# 允許所有請求
Order  allow,deny
allow  from all# 只允許某個特定IP的訪問
Order  deny,allow
deny  from  all
allow  xxx.xxx.xxx.xxx
apache2.4
# 拒絕所有請求
Require  all  denied# 允許所有請求
Require  all  granted# 只允許某個特定IP的訪問
Require  host  xxx.xxx.xxx.xxx

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/281254.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/281254.shtml
英文地址,請注明出處:http://en.pswp.cn/news/281254.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

點火開關分為4個檔位,分別是off,acc,IG-on,和ST

off全車除了常火&#xff08;如應急燈&#xff0c;時鐘等的記憶功能&#xff09;外&#xff0c;均不供電。acc 是附件檔&#xff0c;部分車載附屬設備供電&#xff0c;如視聽系統&#xff0c;儀表燈&#xff0c;燈光等。也就是說&#xff0c;車停在哪里&#xff0c;發動機不轉&…

h5的formData 上傳文件及.net后臺

先來前端的代碼&#xff1a; html 代碼&#xff1a; <input type"file" id"files" value"" multiple/> js代碼&#xff1a; function init() {var ele_files document.querySelector("#files");ele_files.addEventListener(&qu…

51 Nod 1027 大數乘法【Java大數亂搞】

1027 大數乘法 基準時間限制&#xff1a;1 秒 空間限制&#xff1a;131072 KB 分值: 0 難度&#xff1a;基礎題 給出2個大整數A,B&#xff0c;計算A*B的結果。Input第1行&#xff1a;大數A 第2行&#xff1a;大數B (A,B的長度 < 1000&#xff0c;A,B > 0&#xff09; Out…

關于ASP.NET Core WebSocket實現集群的思考

前言提到WebSocket相信大家都聽說過&#xff0c;它的初衷是為了解決客戶端瀏覽器與服務端進行雙向通信&#xff0c;是在單個TCP連接上進行全雙工通訊的協議。在沒有WebSocket之前只能通過瀏覽器到服務端的請求應答模式比如輪詢&#xff0c;來實現服務端的變更響應到客戶端&…

windows環境下Apache+PHP+MySQL搭建服務器

相關文件下載 下載地址Apachehttps://www.apachehaus.com/cgi-bin/download.plxPHPhttps://windows.php.net/downloadMySQLhttps://dev.mysql.com/downloads/mysql/MySQL MySQL配置 當前使用的MySQL版本是8.0.18&#xff0c;在MySQL根目錄下新建my.ini文件&#xff0c;下面是…

angular.js國際化模塊

最近需要將一個項目轉化成英文的&#xff0c; 于是發現一個angular模塊angular-translate&#xff0c;實現如下&#xff1a; 1.安裝包 bower install angular-translate bower install angular-translate-loader-static-files //然后在頁面引用進去 <script src"/angul…

觸屏網站如何實現返回并刷新

目的 在會員中心等頁面常常會遇到進入內頁修改信息&#xff0c;返回前一個頁面需要更新信息的場景。 思路 用COOKIE記錄當前頁面是否需要刷新&#xff0c;返回之后再刷新一次頁面。 方案 下載js.cookie.js然后引入到項目中 https://github.com/js-cookie/js-cookie 先來一個最簡…

更快,更強的.NET 7 發布了

.NET Conf 2022 在昨晚(11?8?) 11 點 正式開始了&#xff0c;為期三天的會議&#xff08;11?8-10?&#xff09;&#xff0c; 圍繞 .NET 7 展開。相信各位?伙伴都已經開始安裝 .NET 7 正式版本還有以及相關的開發?具。這次 .NET 7 圍繞傳統的 C# &#xff0c;ASP.NET Core…

Web服務器 - Nginx配置介紹

nginx的配置相對簡單&#xff0c;總體來說分為5種模塊 全局塊&#xff1a;配置影響nginx全局的指令。一般有運行nginx服務器的用戶組&#xff0c;nginx進程pid存放路徑&#xff0c;日志存放路徑&#xff0c;配置文件引入&#xff0c;允許生成worker process數等。events塊&…

jvm(Java virtual machine) JVM架構解釋

2019獨角獸企業重金招聘Python工程師標準>>> JVM 架構解釋 每個Java開發者都知道通過JRE【Java運行環境】執行字節碼。 但是很多人都不知道JRE是JVM實現的事實。JVM負責執行字節碼的分析 代碼的解釋和運行。 我們應該了解JVM的架構&#xff0c;這對開發者來說是很重…

Hyper-V 嵌套虛擬化

先決條件運行 Windows Server 2016 或Windows 10 周年更新的 Hyper-V 主機。運行 Windows Server 2016 或Windows 10 周年更新的 Hyper-V VM。配置版本為 8.0 或更高的 Hyper-V VM。采用 VT-x 和 EPT 技術的 Intel 處理器&#xff08;AMD-V技術的暫時不支持&#xff09;>Set…

簡單的面試題簡解思路(搜集)

1. 統計字符串中單詞出現次數 "hi how are you i am fine thank you youtube am am "&#xff0c;統計"you"出現的次數。 方法一 : split() function wordCount(str,word){var str str || "";var word word || "";var strArr s…

WinForm(十五)窗體間通信

在很多WinForm的程序中&#xff0c;會有客戶端之間相互通信的需求&#xff0c;或服務端與客戶端通信的需求&#xff0c;這時就要用到TCP/IP的功能。在.NET中&#xff0c;主要是通過Socket來完成的&#xff0c;下面的例子是通過一個TcpListerner作為監聽&#xff0c;等待TcpClie…

905. 按奇偶排序數組

1// 905. 按奇偶排序數組 2/** 3 * param {number[]} A 4 * return {number[]} 5 */ 6var sortArrayByParity function(A) { 7 return A.filter(value > value % 2 0).concat( 8 A.filter(value > value % 2 1) 9 )10}; 轉載于:https://www.cnblogs.com/…

關于Java開發需要注意的十二點流程

1.將一些需要變動的配置寫在屬性文件中 比如&#xff0c;沒有把一些需要并發執行時使用的線程數設置成可在屬性文件中配置。那么你的程序無論在DEV環境中&#xff0c;還是TEST環境中&#xff0c;都可以順暢無阻地運行&#xff0c;但是一旦部署在PROD上&#xff0c;把它作為多線…

Unity經典游戲教程之:雪人兄弟

版權聲明&#xff1a; 本文原創發布于博客園"優夢創客"的博客空間&#xff08;網址&#xff1a;http://www.cnblogs.com/raymondking123/&#xff09;以及微信公眾號"優夢創客"&#xff08;微信號&#xff1a;unitymaker&#xff09;您可以自由轉載&#x…

使用webpack搭建個性化項目

安裝主包 yarn add webpack webpack-cli webpack-dev-server -D根據項目實際需求安裝loaders&#xff0c;webpack-loaders列表 根據項目實際需求安裝插件&#xff0c; webpack-plugins列表 常用包列表 包名說明webpackwebpack主程序&#xff0c;配置列表webpack-cliwebpack…

.NET周報【11月第1期 2022-11-07】

國內文章開源安全賦能 - .NET Conf China 2022https://mp.weixin.qq.com/s/_tYpfPeQgyEGsnR4vVLzHg.NET Conf China 2022 是面向開發人員的社區峰會&#xff0c;延續 .NET Conf 2022 的活動&#xff0c;慶祝 .NET 7 的發布和回顧過去一年來 .NET 在中國的發展成果&#xff0c;它…

React - 狀態提升

從入門的角度來聊一下React 的狀態提升。我們先來看一下React官網是怎么介紹這一概念的&#xff1a;使用 react 經常會遇到幾個組件需要共用狀態數據的情況。這種情況下&#xff0c;我們最好將這部分共享的狀態提升至他們最近的父組件當中進行管理。很簡單的一句介紹&#xff0…

saltstack(三) --- salt-httpapi

以下操作均在master上操作 1. 安裝api netapi modules&#xff08;httpapi&#xff09;有三種&#xff0c;分別是rest_cherrypy、rest_tornado、rest_wsig&#xff0c;接下來要講的是rest_cherrypydoc&#xff1a;https://docs.saltstack.com/en/latest/ref/netapi/all/salt.ne…