Linux之Apache服務器安裝及配置

一、Apache服務器簡介

??Apache HTTP Server(簡稱Apache)是Apache軟件基金會的一個開放源碼的網頁服務器,可以在大多數計算機操作系統中運行,由于其多平臺和安全性被廣泛使用。Apache曾經是世界使用排名第一的Web服務器軟件(2019年4月后nginx第一)。它可以運行在幾乎所有廣泛使用的計算機平臺上。Apache 源于NCSAhttpd服務器,經過多次修改,成為世界上最流行的Web服務器軟件之一。Apache取自“a patchy server”的讀音,意思是充滿補丁的服務器,因為它是自由軟件,所以不斷有人來為它開發新的功能、新的特性、修改原來的缺陷。Apache的特點是簡單、速度快、性能穩定,并可做代理服務器來使用。當前最新穩定版是2.4.52,博文實驗環境:

  • 操作系統:centos7.6
  • Apache版本:2.4.6

二、YUM安裝Apache

??在另外一篇博文Linux之WEB服務器Apache httpd源碼編譯安裝中介紹了如何源碼編譯安裝Apache服務,如果對于版本沒有特別要求,centos環境下最簡單快捷的安裝方式還是yum安裝,centos7環境下yum安裝版本為2.4.6。

1、YUM安裝Apache

[root@s152 ~]# yum install -y httpd

2、查看版本

[root@s152 ~]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built: May 30 2023 14:01:11

3、服務管理

#啟動服務
[root@s152 /]# systemctl start httpd
#停止服務
[root@s152 /]# systemctl stop httpd
#服務開機自啟動
[root@s152 /]# systemctl enable httpd
#查看服務狀態
[root@s152 /]# systemctl status httpd
#檢查配置文件
[root@s152 /]# httpd -t
Syntax OK
#重載配置文件,不重啟服務,如下三種方式都可以
[root@s152 /]# httpd -k graceful
[root@s152 /]# apachectl graceful
[root@s152 /]# systemctl reload httpd

三、常見配置參數說明

??如下是Apache服務器安裝完成后的默認配置文件,這里我們只針對其中常用的配置參數進行釋義說明。

1、默認httpd.conf配置

[root@s152 ~]# cat /etc/httpd/conf/httpd.conf |grep -Ev "^$|#"
ServerRoot "/etc/httpd"
Listen 80
Include conf.modules.d/*.conf
User apache
Group apache
ServerAdmin root@localhost
<Directory />AllowOverride noneRequire all denied
</Directory>
DocumentRoot "/var/www/html"
<Directory "/var/www">AllowOverride NoneRequire all granted
</Directory>
<Directory "/var/www/html">Options Indexes FollowSymLinksAllowOverride NoneRequire all granted
</Directory>
<IfModule dir_module>DirectoryIndex index.html
</IfModule>
<Files ".ht*">Require all denied
</Files>
ErrorLog "logs/error_log"
LogLevel warn
<IfModule log_config_module>LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedLogFormat "%h %l %u %t \"%r\" %>s %b" common<IfModule logio_module>LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio</IfModule>CustomLog "logs/access_log" combined
</IfModule>
<IfModule alias_module>ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
</IfModule>
<Directory "/var/www/cgi-bin">AllowOverride NoneOptions NoneRequire all granted
</Directory>
<IfModule mime_module>TypesConfig /etc/mime.typesAddType application/x-compress .ZAddType application/x-gzip .gz .tgzAddType text/html .shtmlAddOutputFilter INCLUDES .shtml
</IfModule>
AddDefaultCharset UTF-8
<IfModule mime_magic_module>MIMEMagicFile conf/magic
</IfModule>
EnableSendfile on
IncludeOptional conf.d/*.conf

2、常用參數釋義

參數參數說明配置示例
ServerRootApache服務器的根目錄ServerRoot “/etc/httpd”
Listen指定Apache監聽的IP地址和端口Listen 80
DocumentRoot指定Web服務器的文檔根目錄,即網站文件存放的位置DocumentRoot “/var/www/html”
Directory配置目錄的權限和特性<Directory “/var/www/html”>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
DirectoryIndex指定當訪問一個目錄時默認顯示的文件DirectoryIndex index.html、
AllowOverride指定是否允許使用.htaccess文件覆蓋目錄配置AllowOverride All
LogLevel設置日志級別,用于記錄錯誤和警告信息LogLevel warn
ErrorLog指定錯誤日志文件的路徑ErrorLog “/var/log/httpd/error_log”
CustomLog指定訪問日志文件的路徑和格式CustomLog “/var/log/httpd/access_log” combined
ServerSignature控制服務器生成的錯誤頁面中是否包含服務器的簽名信息ServerSignature Off
KeepAlive啟用或禁用Keep-Alive功能,決定是否保持持久連接KeepAlive On
Timeout設置服務器等待客戶端請求的超時時間Timeout 300
MaxClients限制同時連接到服務器的最大客戶端數MaxClients 150
IncludeOptionalApache主配置文件中引入其他配置文件IncludeOptional conf.d/*.conf
Userhttpd服務運行用戶User apache
Grouphttpd服務所屬群組Group apache
ServerName虛擬服務器主機名和端口,主機名可以是IP地址也可以是域名ServerName 192.168.0.152:80

四、服務配置舉例

??這里我們以部署猜拳游戲為例,介紹如何在Apache服務上部署服務。

1、創建一個虛擬主機配置文件

??進入/etc/httpd/conf.d/目錄下創建一個虛擬主機配置文件,主機名為mytest.com,對應監聽的80端口,如果需要更換其他端口需要在主文件中listen添加或者修改,這是與nginx不同的地方。

[root@s152 mytest]# cd /etc/httpd/conf.d/
[root@s152 conf.d]# cat test.conf 
<VirtualHost *:80># 設置虛擬主機的域名ServerName mytest.comServerAlias www.mytest.com# 設置文檔根目錄DocumentRoot "/var/www/mytest"# 日志文件ErrorLog "/var/log/httpd/mytest_error_log"CustomLog "/var/log/httpd/mytest_access_log" combined# 目錄權限<Directory "/var/www/mytest">Options Indexes FollowSymLinksAllowOverride NoneRequire all granted</Directory># 可以添加其他定制的配置項,如重定向、代理等</VirtualHost>

2、將猜拳服務代碼打包上傳到Directory

??配置文件中虛擬服務目錄位于/var/www/mytest目錄下,我們創建該目錄后將軟件包上傳到該目錄下。

[root@s152 www]# mkdir mytest
[root@s152 www]# cd mytest/
[root@s152 mytest]# ll
總用量 40
drwxr-xr-x. 2 root root 100 11月 1 2022 caiquan
-rw-r–r–. 1 root root 38541 11月 29 15:33 caiquan.zip

3、重啟httpd服務

??使用httpd -t檢查配置文件,檢查無誤后我們重啟服務或者重新加載配置文件。

[root@s152 conf.d]# httpd -t
Syntax OK
[root@s152 conf.d]# systemctl restart httpd

4、修改hosts文件

??這里實驗用的域名非正式域名,我們需要在hosts文件添加自定義解析。
在這里插入圖片描述

5、訪問驗證

??打開瀏覽器,通過域名和路徑就可以訪問我們的猜拳游戲內容啦!
在這里插入圖片描述

五、QA

1、啟動報錯httpd: Could not reliably determine the server’s fully qualified domain name

  • 報錯信息:httpd: Could not reliably determine the server’s fully qualified domain name
  • 報錯原因:httpd.conf配置文件中未配置ServerName
  • 解決方案:修改httpd.conf配置文件,添加ServerName = domain.com:80 參數配置

2、啟動報錯httpd (pid xxxxx) already running導致無法啟動

  • 報錯信息:httpd (pid xxxxx) already running 和 httpd.service: control process exited, code=exited status=1
  • 報錯原因:httpd服務未正常退出導致無法啟動
  • 解決方案:執行pgrep -f httpd |xargs kill后再次啟動。

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

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

相關文章

VSCODE連接遠程服務器

安裝ssh插件 根據你的操作系統選擇對應的版本進行下載和安裝。 安裝完成之后&#xff0c;啟動vscode&#xff0c;選擇左側Extensions 選項卡&#xff0c;在輸入框搜索 remote &#xff0c;選擇安裝Remote-SSH插件。 安裝完成之后會在左側新增一個選項卡Remote Explorer&#xf…

肥貓游戲報價器|計價器|王者榮耀代練陪練等游戲報價器軟件介紹說明

目錄 1. 前言2. 軟件著作權3. 軟件使用說明3.1 進入軟件3.2 用戶登錄3.3 首頁3.4 報價器3.4.1 總體介紹3.4.2 王者報價器3.4.3 LOL手游報價器3.4.4 英雄聯盟報價器3.4.5 云頂之弈報價器3.4.7 王者水晶報價器3.4.8 和平精英報價器3.4.9 蛋仔派對報價器3.4.10 穿越火線報價器3.4.…

kafka學習筆記--broker工作流程、重要參數

本文內容來自尚硅谷B站公開教學視頻&#xff0c;僅做個人總結、學習、復習使用&#xff0c;任何對此文章的引用&#xff0c;應當說明源出處為尚硅谷&#xff0c;不得用于商業用途。 如有侵權、聯系速刪 視頻教程鏈接&#xff1a;【尚硅谷】Kafka3.x教程&#xff08;從入門到調優…

Linux mc命令教程:如何有效地使用mc命令(附案例詳解和注意事項)

Linux mc命令介紹 mc命令是Linux中的一個視覺文件管理器&#xff0c;全稱為Midnight Commander。它提供了一個用戶友好的界面&#xff0c;使得在Linux環境中的文件和目錄管理變得更加直觀和方便。mc命令支持鼠標操作和顏色顯示&#xff0c;同時也提供了一套菜單接口&#xff0…

TypeScript 常用高級類型

目錄 前言&#xff1a; TypeScript 常用高級類型 基本概念 高級類型 1. 交叉類型&#xff08;Intersection Types&#xff09; 2. 聯合類型&#xff08;Union Types&#xff09; 3. 映射類型&#xff08;Mapped Types&#xff09; 4. 條件類型&#xff08;Conditional…

GGML 或GGUF的14種不同量化模式說明

查看 TheBloke/Llama-2–13B-chat-GGML 存儲庫中的文件&#xff0c;我們可以看到 14 種不同的 GGML 模型&#xff0c;對應于不同類型的量化。它們遵循特定的命名約定&#xff1a;“q” 用于存儲權重的位數&#xff08;精度&#xff09; 特定變體。以下是所有可能的量化方法及其…

Pytorch-Transformer軸承故障一維信號分類(三)

目錄 前言 1 數據集制作與加載 1.1 導入數據 第一步&#xff0c;導入十分類數據 第二步&#xff0c;讀取MAT文件驅動端數據 第三步&#xff0c;制作數據集 第四步&#xff0c;制作訓練集和標簽 1.2 數據加載&#xff0c;訓練數據、測試數據分組&#xff0c;數據分batch…

據房間Id是否存在,判斷當前房間是否到期且實時更改顏色

重點代碼展示&#xff1a; <template><el-col style"width: 100%;height: 100%;"><el-col :span"20"><el-card class"room_info"><avue-data-icons :option"option"></avue-data-icons></el-…

RT-DETR算法優化改進:輕量化自研設計雙卷積重新設計backbone和neck,完成漲點且計算量和參數量顯著下降

??????本文自研創新改進:雙卷積由組卷積和異構卷積組成,執行 33 和 11 卷積運算代替其他卷積核僅執行 11 卷積,YOLOv8 Conv,從而輕量化RT-DETR,性能如下表,GFLOPs 8.1降低至7.6,參數量6.3MB降低至5.8MB RT-DETR魔術師專欄介紹: https://blog.csdn.net/m0_637742…

ubuntu-c++-可執行模塊-動態鏈接庫-鏈接庫搜索-基礎知識

文章目錄 1.動態鏈接庫簡介2.動態庫搜索路徑3.運行時鏈接及搜索順序4.查看可運行模塊的鏈接庫5.總結 1.動態鏈接庫簡介 動態庫又叫動態鏈接庫&#xff0c;是程序運行的時候加載的庫&#xff0c;當動態鏈接庫正確安裝后&#xff0c;所有的程序都可以使用動態庫來運行程序。動態…

Android帝國之日志系統--logd、logcat

本文概要 這是Android系統進程系列的第四篇文章&#xff0c;本文以自述的方式來介紹logd進程&#xff0c;通過本文您將了解到logd進程存在的意義&#xff0c;以及日志系統的實現原理。&#xff08;文中的代碼是基于android13&#xff09; Android系統進程系列的前三篇文章如下…

C#基礎與進階擴展合集-基礎篇(持續更新)

目錄 本文分兩篇&#xff0c;進階篇點擊&#xff1a;C#基礎與進階擴展合集-進階篇 一、基礎入門 Ⅰ 關鍵字 Ⅱ 特性 Ⅲ 常見異常 Ⅳ 基礎擴展 1、哈希表 2、擴展方法 3、自定義集合與索引器 4、迭代器與分部類 5、yield return 6、注冊表 7、不安全代碼 8、方法…

MATLAB中cell函數的用法

cell用法 在MATLAB中&#xff0c;cell 是一種特殊的數據類型&#xff0c;用于存儲不同大小和類型的數據。cell 數組是一種容器&#xff0c;每個元素可以包含任意類型的數據&#xff0c;包括數值、字符串、矩陣、甚至其他的 cell 數組。 以下是 cell 數組的基本語法和示例&…

gitblit自建git倉庫

安裝 java sudo apt-get update sudo apt-get install openjdk-8-jdk # 或者其它你喜歡的版本 驗證&#xff1a; java -version 下載 gitblit https://github.com/gitblit-org/gitblit/releases 解壓/usr/local tar -zxvf gitblit-1.9.3.tar.gz 修改配置文件 nano /usr/local/…

【React】useCallback 使用的說明

文章目錄 useCallback的優缺點優點缺點JavaScript 的內聯優化 使用場景 用了兩年多的react&#xff0c;今天抽空寫點小內容 useCallback的優缺點 緩存了每次渲染時候 inline callback的實例 優點 關鍵點&#xff1a;利用memoize減少無效的re-render&#xff0c;通常配合shouldC…

ElasticSearch之cat trained model API

命令樣例如下&#xff1a; curl -X GET "https://localhost:9200/_cat/ml/trained_models?vtrue&pretty" --cacert $ES_HOME/config/certs/http_ca.crt -u "elastic:ohCxPHQBEs5*lo7F9"執行結果輸出如下&#xff1a; id heap_size …

如何在OpenWRT軟路由系統部署uhttpd搭建web服務器實現遠程訪問——“cpolar內網穿透”

文章目錄 前言1. 檢查uhttpd安裝2. 部署web站點3. 安裝cpolar內網穿透4. 配置遠程訪問地址5. 配置固定遠程地址 前言 uhttpd 是 OpenWrt/LuCI 開發者從零開始編寫的 Web 服務器&#xff0c;目的是成為優秀穩定的、適合嵌入式設備的輕量級任務的 HTTP 服務器&#xff0c;并且和…

docker-compose的介紹與使用

一、docker-compose 常用命令和指令 1. 概要 默認的模板文件是 docker-compose.yml&#xff0c;其中定義的每個服務可以通過 image 指令指定鏡像或 build 指令&#xff08;需要 Dockerfile&#xff09;來自動構建。 注意如果使用 build 指令&#xff0c;在 Dockerfile 中設置…

RHEL網絡服務器

目錄 1.時間同步的重要性 2.配置時間服務器 &#xff08;1&#xff09;指定所使用的上層時間服務器。 (2&#xff09;指定允許訪問的客戶端 (3&#xff09;把local stratum 前的注釋符#去掉。 3.配置chrony客戶端 &#xff08;1&#xff09;修改pool那行,指定要從哪臺時間…

Python常見面試知識總結(一):迭代器、拷貝、線程及底層結構

前言&#xff1a; Hello大家好&#xff0c;我是Dream。 今天來總結一下Python和C語言中常見的面試知識&#xff0c;歡迎大家一起前來探討學習~ 【一】Python中迭代器的概念&#xff1f; 可迭代對象是迭代器、生成器和裝飾器的基礎。簡單來說&#xff0c;可以使用for來循環遍歷…