Apache 服務(wù)器概述-安裝-搭建 Web 網(wǎng)站服務(wù)器之前的環(huán)境搭建

Apache 服務(wù)器概述-安裝

Apache 服務(wù)器概述-安裝

WEB 服務(wù)器也稱為 WWW(WORLD WIDE WEB疆拘,萬維網(wǎng))服務(wù)器,主要功能是提供網(wǎng)上信息瀏覽
服務(wù)。
常見 web 服務(wù)器:

httpd(Apache)胶惰、nginx+PHP
Tomcat: jsp + html
win:IIS

客戶端:IE 、firefox霞溪、chrome孵滞、手機(jī)(瀏覽器)Browser
今天的主角:LAMP=Linux Apache Mysql PHP 中的 Apache(HTTPD)

Lunix 系統(tǒng)
Linux+Apache+Mysql/MariaDB+Perl/PHP/Python 一組常用來搭建動態(tài)網(wǎng)站或者服務(wù)器的開源軟件,本身都是各自獨(dú)立的程序鸯匹,但是因?yàn)槌1环旁谝黄鹗褂梅蝗模瑩碛辛嗽絹碓礁叩募嫒荻龋餐M成了一個強(qiáng)大的 Web 應(yīng)用程序平臺殴蓬。隨著開源潮流的蓬勃發(fā)展匿级,開放源代碼 的 LAMP 已經(jīng)與 J2EE 和.Net 商業(yè)軟件形成三足鼎立之勢,并且該軟件開發(fā)的項(xiàng)目在軟件方面的投資成本較低,因此受到整個 IT 界的關(guān)注痘绎。從網(wǎng)站的流量上來說津函,50%以上的訪問流量 是 LAMP 來提供的,LAMP 是最強(qiáng)大的網(wǎng)站解決方案

什么是 Apache

Apache HTTPD Server 簡稱 Apache孤页,是 Apache 軟件基金會的一個開源的網(wǎng)頁服務(wù)器尔苦, 可以在
大多數(shù)計(jì)算機(jī)操作系統(tǒng)中運(yùn)行,由于其多平臺和安全性被廣泛使用散庶,是最流行的 Web 服務(wù)器端軟件之
一蕉堰。它快速、可靠并且可通過簡單的 API 擴(kuò)展悲龟,將 Perl/Python 等解釋器編 譯到服務(wù)器中屋讶!
Apache HTTP 服務(wù)器是一個模塊化的服務(wù)器,各個功能使用模塊化進(jìn)行插拔! 目前支持 Windows须教,

Linux皿渗,Unix 等平臺!
Apache 軟件基金會(也就是 Apache Software Foundation轻腺,簡稱為 ASF)乐疆,是專門為運(yùn) 作一個
開源軟件項(xiàng)目的 Apache 的團(tuán)體提供支持的非盈利性組織,這個開源軟件項(xiàng)目就是 Apache 項(xiàng)目贬养!那么
我們的 HTTPD 也只是 Apache 的開源項(xiàng)目之一挤土!
主要的開源項(xiàng)目:HTTP Server,Ant误算,DB仰美,iBATIS,Jakarta儿礼,Logging咖杂,Maven,
Struts蚊夫, Tomcat诉字,Tapestry,Hadoop 等等。只是最有名的是 HTTP Server知纷,所以現(xiàn)在所說
的 Apache 已 經(jīng)就是 HTTPD Server 的代號了! 我們還見的比較多的是 Tomcat壤圃,Hadoop 等項(xiàng)目官方
網(wǎng)站:
http://www.apache.org/ http://httpd.apache.org

在這里插入圖片描述

什么是 Mysql

MySQL 是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典 MySQL AB 公司開發(fā)琅轧,目前屬于 Oracle 旗下公
司埃唯,他也是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)!特別是在 WEB 應(yīng)用方面鹰晨!
關(guān)系型數(shù)據(jù)庫:它通過數(shù)據(jù)、關(guān)系和對數(shù)據(jù)的約束三者組成的數(shù)據(jù)模型來存放和管理數(shù)
據(jù),官方網(wǎng)站:http://www.mysql.com/

什么是 PHP

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本預(yù)處理器”)是一種通 用開源腳
本語言模蜡。語法吸收了 C 語言漠趁、Java 和 Perl 的特點(diǎn),利于學(xué)習(xí)忍疾,使用廣泛闯传,主要適 用于 Web 開發(fā)領(lǐng)域。
PHP 獨(dú)特的語法混合了 C卤妒、Java甥绿、Perl 以及 PHP 自創(chuàng)的語法。
它可以 比 CGI 或者 Perl 更快速地執(zhí)行動態(tài)網(wǎng)頁则披。用 PHP 做出的動態(tài)頁面與其他的編程語言相
比共缕, PHP 是將程序嵌入到 HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個應(yīng)用)文檔中去執(zhí)行,執(zhí)行效率比 完全
生成 HTML 標(biāo)記的 CGI 要高許多士复;PHP 還可以執(zhí)行編譯后代碼图谷,編譯可以達(dá)到加密和 優(yōu)化代碼運(yùn)行,
使代碼運(yùn)行更快阱洪。簡單的說便贵,PHP 就是一個腳本解釋器!
PHP 服務(wù)器安裝好之后冗荸,升級切記注意承璃,不要盲目升級!因?yàn)樗鼤U棄很多低效的語法! 官方網(wǎng)
站:http://php.net/

LAMP 工作原理

在這里插入圖片描述

Web 服務(wù)器的工作模式和端口

工作模式是:B/S 模式
工作端口是:
正常端口:80/http
SSL 端口:443/https
安裝服務(wù)器端:httpd

[root@xuegod63 ~]# yum -y install httpd
[root@xuegod63 ~]# cd /mnt/Packages/
[root@xuegod63 Packages]# ls httpd-*
httpd-2.4.6-67.el7.centos.x86_64.rpm:Apache 服務(wù)的主程序包蚌本,服務(wù)器端必須安裝該軟件包
httpd-devel-2.4.6-67.el7.centos.x86_64.rpm:Apache 開發(fā)程序包
httpd-manual-2.4.6-67.el7.centos.noarch.rpm:Apache 手冊文檔盔粹,包含 HTML 格式的
Apache 計(jì)劃的 Apache User's Guide 說明指南
httpd-tools-2.4.6-67.el7.centos.x86_64.rpm:Apache 相關(guān)工具包

后自動解決安裝很多依賴的軟件包,后期大家在學(xué)習(xí)源碼編譯安裝的時候魂毁,會遇到這樣的問題玻佩,需要
手動把依賴的包安裝好,才能編譯通過席楚。
安裝字符界面的下瀏覽器客戶端:elinks
安裝:

[root@xuegod63 Packages]# yum -y install elinks

瀏覽器
apache 主配置文件

[root@xuegod63 Packages]# ll /etc/httpd/conf/httpd.conf
[root@xuegod63 Packages]# cd

啟動服務(wù)

[root@xuegod63 ~]# systemctl start httpd
[root@xuegod63 ~]# systemctl enable httpd

查看端口

[root@xuegod63 Packages]# netstat -anutp | grep 80
tcp 0 0 :::80 :::* LISTEN 3854/httpd

通過瀏覽器訪問

[root@xuegod63 ~]# elinks 192.168.1.63 #按 Q 退出
在這里插入圖片描述

主配置文件介紹

[root@xuegod63 ~]# vim /etc/httpd/conf/httpd.conf
ServerRoot "/etc/httpd" #httpd 服務(wù)的根目錄
Listen 80 #監(jiān)聽端口咬崔,默認(rèn)本地 IP,如果指定 ip 寫上 IP:80
Include conf.modules.d / *.conf #當(dāng)前目錄下 conf.modules.d 目錄下所有 conf 文件都生效
Options Indexes FollowSymLinks #Options Indexes 目錄瀏覽 FollowSymLinks 用鏈接瀏覽
AllowOverride None #設(shè)置為 none烦秩,忽略.htaccess
Include conf.d / *.conf #conf.d 里面的 conf 文件也屬有效配置文件
User apache #運(yùn)行以哪個身份運(yùn)行
Group apache #運(yùn)行以哪個組的身份運(yùn)行
ServerAdmin root@localhost #管理員郵箱
DocumentRoot "/var/www/html" #默認(rèn)的主目錄垮斯,如果改動要改動兩處,Directory
<Directory "/var/www/html">
Options Indexes FollowSymLinks AllowOverride None
</Directory>
LogLevel warn #日志等級
AddDefaultCharset UTF-8 #支持的語言只祠,默認(rèn)編碼

yum 的方式搭建 LAMP 環(huán)境

LAMP=Linux(存在)+Apache(HTTPD 已安裝)+Mysql+PHP
#centos7
[root@xuegod67~]# yum -y install httpd mariadb mariadb-server php php-mysql

測試數(shù)據(jù)庫:

[root@xuegod63 ~]# systemctl start mariadb
[root@xuegod63 ~]# systemctl enable mariadb
[root@xuegod63 ~]# mysql #登陸測試
mysql> show databases;
mysql>exit;

測試 apache 是否支持 php
創(chuàng)建一個文件:

[root@xuegod63 ~]# cd /var/www/html/
[root@xuegod63 html]# vim index.php
<?php
phpinfo();
?>
[root@xuegod63 html]# systemctl restart httpd

訪問查看
類似于 PHP 探針:
擴(kuò)展:探針:一個 PHP 編寫的文件兜蠕,可以實(shí)時查看服務(wù)器硬盤資源、內(nèi)存占用抛寝、網(wǎng)卡流量熊杨、系統(tǒng)負(fù)
載曙旭、服務(wù)器時間等信息,定時刷新一次晶府。以及包括服務(wù)器 IP 地址桂躏,Web 服務(wù)器環(huán)境監(jiān)測,php 等信
息川陆。
適用于主機(jī)運(yùn)維人員剂习,個人站長等。

配置 web 服務(wù)器-搭建 LAMP 環(huán)境

例 1: 搭建一臺測試 web 服務(wù)器
案例:
部門內(nèi)部搭建一臺 WEB 服務(wù)器较沪,采用的 IP 地址和端口為 192.168.1.63:80鳞绕,首頁采用
index.html 文件。管理員 E-mail 地址為 cd@xuegod.cn尸曼,網(wǎng)頁的編碼類型采用 UTF-8们何,所有網(wǎng)站資
源都存放在/var/www/html 目錄下,并將 Apache 的配置文件根目錄設(shè)置為/etc/httpd 目錄骡苞。
修改配置文件:

[root@xuegod63 ~]# vim /etc/httpd/conf/httpd.conf

設(shè)置 Apache 的根目錄為/etc/httpd
設(shè)置 httpd 監(jiān)聽端口 80
設(shè)置管理員 E-mail 地址為 kill@xuegod.cn
設(shè)置 WEB 服務(wù)器的主機(jī)名和監(jiān)聽端口為 192.168.1.63:80
設(shè)置 Apache 文檔目錄為/var/www/html
設(shè)置主頁文件為 index.html
設(shè)置服務(wù)器的默認(rèn)編碼為 UTF-8
改配置文件之前垂蜗,先備份,以便恢復(fù)解幽。

[root@xuegod63 ~]# cp /etc/httpd/conf/httpd.conf{,.bak}

修改配置文件相關(guān)參數(shù):

[root@xuegod63 ~]# vim /etc/httpd/conf/httpd.conf #以下參數(shù)需要我們掌握
31 ServerRoot "/etc/httpd" #Apache 配置文件的根目錄
32 Timeout 60 #添加此項(xiàng)贴见,超時時間
42 Listen 80 #監(jiān)聽的端口
改:87 ServerAdmin root@localhost
為:87 ServerAdmin MK@xuegod.cn #設(shè)置管理員,e-mail 地址
改:96 #ServerName www.example.com:80
為:96 ServerName 192.168.1.63:80 #服務(wù)器主機(jī)名
120 DocumentRoot "/var/www/html" #網(wǎng)站頁面根目錄
145 Options Indexes FollowSymLinks #當(dāng)一個目錄沒有默認(rèn)首頁時躲株,允許
顯示此目錄列表
改:165 DirectoryIndex index.html
為:165 DirectoryIndex index.html index.php #指定默認(rèn)首頁
317 AddDefaultCharset UTF-8 #設(shè)置服務(wù)器的默認(rèn)編碼為: UTF8

取消 Apache 默認(rèn)歡迎頁:

[root@xuegod63 ~]# vim /etc/httpd/conf.d/welcome.conf
# This configuration file enables the default "Welcome"
# page if there is no default index page present for
# the root URL. To disable the Welcome page, comment
# out all the lines below.
#
改:8 <LocationMatch "^/+$">
 9 Options -Indexes
 10 ErrorDocument 403 /.noindex.html
 11 </LocationMatch>
為:8 #<LocationMatch "^/+$"> #把紅色內(nèi)容注釋
 9 # Options -Indexes
 10 # ErrorDocument 403 /.noindex.html
 11 #</LocationMatch>

重啟:

[root@xuegod63 ~]# systemctl restart httpd

創(chuàng)建首頁:

[root@xuegod63 ~]# echo 'welcome to www.xuegod.cn!' >
/var/www/html/index.html

測試:


在這里插入圖片描述

修改 web 網(wǎng)站根目錄-配置別名-虛擬目錄

LAMP 環(huán)境片部,幾種不同的安全訪問機(jī)制的實(shí)現(xiàn):

修改網(wǎng)站目錄對應(yīng)參數(shù)及權(quán)限:

修改網(wǎng)站默認(rèn)根目錄,并且設(shè)置訪問權(quán)限霜定,只有在我允許的范圍之內(nèi)可以訪問
創(chuàng)建目錄档悠,創(chuàng)建測試首頁

[root@xuegod63 ~]# mkdir /var/www/html/bbs
[root@xuegod63 ~]# cp /var/www/html/index.html /var/www/html/bbs/

修改網(wǎng)站默認(rèn)根目錄

[root@xuegod63 ~]# vim /etc/httpd/conf/httpd.conf

設(shè)置文檔目錄為/var/www/html/bbs

修改 DocumentRoot 路徑為 指定的目錄
改:120 DocumentRoot "/var/www/html"
為:120 DocumentRoot "/var/www/html/bbs"
允許所有人訪問/var/www/html/bbs 目錄
目錄與訪問控制:
改:132 <Directory "/var/www/html ">
為:132 <Directory "/var/www/html/bbs"> #子目錄會繼承這個目錄的屬性
 145 Options Indexes FollowSymLinks #Options:Indexes:目錄瀏覽
 152 AllowOverride None #Followsymlinks:可以用連接
改:157 Require all granted #表示支持所有訪問
為:157 # Require all granted
#加入如下:
 158 <RequireALL>
 159 Require ip 192.168.1.63 #允許本機(jī) IP 訪問
 160 Require not ip 192.168.1.103 #禁止物理機(jī) IP 訪問
 161 </RequireALL>
161 </Directory>
在這里插入圖片描述

解釋:

Apache2.4 的訪問控制:
Require all granted #允許所有
Require all denied #拒絕所有
Require method http-method [http-method] ... #允許,特定的 HTTP 方法
Require user userid [ userid ] ... #允許望浩,特定用戶
Require group group-name [group-name] ... #允許辖所,特定用戶組
Require valid-user #允許,有效用戶
Require ip 10 172.20 192.168.2 #允許 特定 IP 和網(wǎng)段
Require not ip 10 172.20 192.168.2 #不允許 特定 IP 和網(wǎng)段
[root@xuegod63 ~]# systemctl restart httpd

測試
在物理機(jī)上訪問 http://192.168.1.63


在這里插入圖片描述

在 Linux 主機(jī)上訪問:

[root@xuegod63 ~]# curl 192.168.1.63
welcome to www.xuegod.cn!

使用別名磨德,引用網(wǎng)站根目錄以外的路徑缘回。

將/usr/local/phpdata 目錄通過虛擬目錄功能添加到網(wǎng)站根目錄。當(dāng)訪問 http://192.168.1.63/
phpdata/ 時典挑,就可以訪問目錄/usr/local/phpdata 中的內(nèi)容酥宴。
注:Apache 的別名也叫虛擬目錄
語法:
AliasURL 路徑 PATH 物理路徑
創(chuàng)建測試數(shù)據(jù):

[root@xuegod63 ~]# mkdir /usr/local/phpdata
[root@xuegod63 ~]# echo "This Alias PHPdata" > /usr/local/phpdata/index.html

修改配置文件:

[root@xuegod63 ~]# vim /etc/httpd/conf/httpd.conf
163 Alias /phpdata/ "/usr/local/phpdata/"
164 <Directory "/usr/local/phpdata/">
165 Options Indexes FollowSymLinks
166 AllowOverride None
167 Require all granted
168 </Directory>
注:Alias /phpdata/ "/usr/local/phpdata/"
#/phpdata/ 可以隨意起。比如改/phpdata/ 為/php/ 則訪問鏈接:
http://192.168.1.63/php/
測試:
[root@xuegod63 ~]# systemctl restart httpd
[root@xuegod63 ~]# curl 192.168.1.63/phpdata/
This Alias PHPdata
或:
[root@xuegod63 ~]# curl 192.168.1.63/phpdata/index.html
This Alias PHPdata

到這此章結(jié)束您觉。想要了解更多技術(shù)干貨去公眾號【學(xué)神來啦】拙寡!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市琳水,隨后出現(xiàn)的幾起案子肆糕,更是在濱河造成了極大的恐慌般堆,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件擎宝,死亡現(xiàn)場離奇詭異郁妈,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)绍申,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來顾彰,“玉大人极阅,你說我怎么就攤上這事≌窍恚” “怎么了筋搏?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長厕隧。 經(jīng)常有香客問我奔脐,道長,這世上最難降的妖魔是什么吁讨? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任髓迎,我火速辦了婚禮,結(jié)果婚禮上建丧,老公的妹妹穿的比我還像新娘排龄。我一直安慰自己,他們只是感情好翎朱,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布橄维。 她就那樣靜靜地躺著,像睡著了一般拴曲。 火紅的嫁衣襯著肌膚如雪争舞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天澈灼,我揣著相機(jī)與錄音竞川,去河邊找鬼。 笑死蕉汪,一個胖子當(dāng)著我的面吹牛流译,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播者疤,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼福澡,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了驹马?” 一聲冷哼從身側(cè)響起革砸,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤除秀,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后算利,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體册踩,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年效拭,在試婚紗的時候發(fā)現(xiàn)自己被綠了暂吉。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡缎患,死狀恐怖慕的,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情挤渔,我是刑警寧澤肮街,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站判导,受9級特大地震影響嫉父,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜眼刃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一绕辖、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鸟整,春花似錦引镊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至涉茧,卻和暖如春赴恨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背伴栓。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工伦连, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人钳垮。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓惑淳,卻偏偏與公主長得像饺窿,于是被迫代替她去往敵國和親肚医。 傳聞我的和親對象是個殘疾皇子舰涌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容