站長資訊網
最全最豐富的資訊網站

CentOS 7 利用Apache搭建Web網站服務

在Internet網絡環境中,Web服務無疑是最為流行的應用系統。有了Web站點,企業可以充分的展示自己的產品,宣傳企業形象。Web站點還為企業提供了與客戶交流,電子商務交易平臺等豐富的網絡應用,部署與維護Web服務是運維工程師必須掌握的一個技能。

Windows搭建Web服務可以參考博文:Windows Server 2016 搭建IIS(web)服務

如果想要在CentOS 7 利用Apache搭建網站服務,必須要了解的知識點有:

Apache的起源

1.Apache HTTP Server是開源軟件項目的杰出代表,基于標準的HTTP網絡協議提供網頁瀏覽服務,Apache服務器可以運行在Linux、UNIX、Windows等多種操作系統中;

2.Apache服務器是針對之前出現的若干個Web服務器程序進行整合,完善后形成的軟件,其名稱來源于“A Patchy Server”,意思就是“基于原有Web服務程序的代碼進行修改(補丁)后形成的服務器程序”;

3.目前Apache項目一直由ASF負責管理和維護。ASF的官方網站是http://www.apache.org

Apache的主要特點:

  • 開放源代碼;
  • 跨平臺應用;
  • 支持各種Web編程語言;
  • 模塊化設計;
  • 運行非常穩定;
  • 良好的安全性。

安裝httpd服務器
在配置Apache網站服務之前,需要正確安裝好httpd服務器軟件。httpd服務器的安裝可以選用RPM安裝、源碼編譯安裝這兩種方式。前者相對比較簡單、快速,但是在功能上存在一定的局限性,在實際的生產環境中,使用源代碼編譯安裝的方式的方式要更加普遍。

本次實驗將以下載的源碼包httpd-2.4.25.tar.gz為例,介紹安裝過程。(源碼包httpd-2.4.25.tar.gz可以到Linux公社資源站下載:

——————————————分割線——————————————

免費下載地址在 http://linux.linuxidc.com/

用戶名與密碼都是www.linuxidc.com

具體下載目錄在 /2019年資料/8月/16日/CentOS 7 利用Apache搭建Web網站服務/

下載方法見 http://www.linuxidc.com/Linux/2013-07/87684.htm

——————————————分割線——————————————

操作步驟:
CentOS 7 利用Apache搭建Web網站服務

具體實驗步驟

一、準備工作

為了避免發生端口沖突、程序沖突等現象,建議卸載使用RPM方式安裝的httpd。

[root@localhost ~]# rpm -e httpd --nodeps  錯誤:未安裝軟件包 httpd 

Apache的配置及運行需要apr、pcre等軟件包的支持,因此應從系統光盤鏡像中預先安裝這些軟件及其開發包(devel),以便提供相應的支持,確保Apache的安裝順利完成。
需要的rpm軟件包有:

[root@localhost Packages]# rpm -ivh apr-1.4.8-3.el7.x86_64.rpm  [root@localhost Packages]# rpm -ivh apr-devel-1.4.8-3.el7.x86_64.rpm   [root@localhost Packages]# rpm -ivh cyrus-sasl-devel-2.1.26-20.el7_2.x86_64.rpm  [root@localhost Packages]# rpm -ivh expat-devel-2.1.0-8.el7.x86_64.rpm   [root@localhost Packages]# rpm -ivh libdb-devel-5.3.21-19.el7.x86_64.rpm   [root@localhost Packages]# rpm -ivh openldap-devel-2.4.40-13.el7.x86_64.rpm   [root@localhost Packages]# rpm -ivh apr-util-1.5.2-6.el7.x86_64.rpm   [root@localhost Packages]# rpm -ivh apr-util-devel-1.5.2-6.el7.x86_64.rpm   [root@localhost Packages]# rpm -ivh pcre-devel-8.32-15.el7_2.1.x86_64.rpm   [root@localhost Packages]# rpm -ivh pcre-8.32-15.el7_2.1.x86_64.rpm 

按照順利安裝完成。

二、源碼編譯安裝

將下載好的源代碼httpd-2.4.25.tar.gz上傳到服務器本地,接下來開始編譯安裝。

1.解包

[root@localhost ~]# tar zxf httpd-2.4.25.tar.gz -C /usr/src  [root@localhost ~]# cd /usr/src/httpd-2.4.25/

2.配置
根據服務器的實際應用需要,可以靈活設置不同的定制項,若要獲知可用的各種配置選項及其含義,可以執行“ ./configure –help”命令,“/”表示當前目錄,下面配置一些最常用的配置項:

[root@localhost httpd-2.4.25]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi

上述配置命令中,各選項的含義:
CentOS 7 利用Apache搭建Web網站服務
3.編譯及安裝
完成配置后,執行“make”命令進行編譯,將源代碼轉換為可執行的程序;然后執行“make install”命令完成最后的安裝過程。

[root@localhost httpd-2.4.25]# make && make install

三、確認安裝目錄
由于指定的是安裝目錄為/usr/local/httpd,因此httpd服務的各種程序、模塊、幫助文件都將復制到此目錄下。

[root@localhost httpd-2.4.25]# ls /usr/local/httpd  bin    cgi-bin  error   icons    logs  manual  build  conf     htdocs  include  man   modules

在安裝后的/usr/local/httpd目錄下,主要子目錄的用途:
CentOS 7 利用Apache搭建Web網站服務

httpd服務的目錄結構:
主要的目錄和文件
服務目錄:/usr/local/httpd/
主配置文件:/usr/local/httpd/conf/httpd.conf
網頁目錄:/usr/local/httpd/htdocs/
服務腳本:/usr/local/httpd/bin/apachectl
執行程序:/usr/local/httpd/bin/httpd
訪問日志: /usr/local/httpd/log/access_log
錯誤日志: /usr/local/httpd/log/error_log

四、優化執行路徑
通過源碼安裝的httpd服務,程序路徑并不在默認的搜索路徑中,為了使該服務在使用時更加方便,可以為相關程序添加符號鏈接。

[root@localhost httpd-2.4.25]# ln -s /usr/local/httpd/bin/* /usr/local/bin  [root@localhost httpd-2.4.25]# ls -l /usr/local/bin/httpd /usr/local/bin/apachectl  lrwxrwxrwx. 1 root root 30 7月  13 19:20 /usr/local/bin/apachectl -> /usr/local/httpd/bin/apachectl  lrwxrwxrwx. 1 root root 26 7月  13 19:20 /usr/local/bin/httpd -> /usr/local/httpd/bin/httpd

這樣在執行相關的命令就不需要輸入冗長的路徑了。比如:

[root@localhost httpd-2.4.25]# httpd -v                  //查看程序版本  Server version: Apache/2.4.25 (Unix)  Server built:   Jul 13 2019 18:49:20

五、添加httpd系統服務
CentOS 7系統下,將編譯安裝的程序添加為系統服務有兩種方式:
①通過chkconfig命令添加為系統服務,然后由systemctl進行管理(注意,通過這種方式不能設置程序開機自啟動);
②在/lib/systemd/system/目錄下,手動編寫以.service結尾的單元(unit)配置文件。

1)使用chkconfig添加系統服務
若希望將httpd添加為系統服務,以便通過chkconfig進行管理,需要建立可控的服務器腳本。

[root@localhost ~]# cp /usr/local/httpd//bin/apachectl /etc/init.d/httpd  [root@localhost ~]# vim /etc/init.d/httpd             //添加如下內容  #!/bin/bash  # chkconfig: 35 85 21         \服務識別參數,在級別3、5中啟動;啟動和關閉的順序分別為85、21  #description: Startup script for the Apache HTTP Server  \服務描述信息,可以忽略                                                          …………                //忽略部分內容  [root@localhost httpd-2.4.25]# chkconfig --add httpd  \添加httpd為系統服務  [root@localhost httpd-2.4.25]# systemctl start httpd  //啟動httpd服務  [root@localhost httpd-2.4.25]# chkconfig --level 35 httpd on  //設置httpd服務為開機自啟動  [root@localhost httpd-2.4.25]# systemctl is-enabled httpd  httpd.service is not a native service, redirecting to /sbin/chkconfig.  Executing /sbin/chkconfig httpd --level=5  enabled  //查看httpd服務是否為開機自啟動,enabled為開機自啟動

2)建立[service].service配置文件
在/lib/systemd/system/目錄下,建立一個以.service結尾的單元(unit)配置文件,用于控制httpd服務。配置內容分為三部分:
①控制單元(unit)的定義;
②服務[service]的定義;
③安裝部分[install]。
具體內容,如下:

[root@localhost ~]# vim /lib/systemd/system/httpd.service  //填寫如下內容  [Unit]  Description=The Apache HTTP Server  After=network.target    [Service]  Type=forking  PIDFile=/usr/local/httpd/logs/httpd.pid  ExecStart=/usr/local/httpd/bin/apachectl $OPTIONS  ExecReload=/bin/kill  -HUP  $MAINPID  KillMode=process  Restart=on-failure  RestartSec=42s    [Install]  WantedBy=graphical.target

配置文件的個配置項的作用,如圖所示:
CentOS 7 利用Apache搭建Web網站服務
httpd.service文件編寫完成后,就可以設置開機自啟動了

[root@localhost ~]# systemctl enable httpd                           //設置開機自啟動  Created symlink from /etc/systemd/system/graphical.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.  [root@localhost ~]# systemctl is-enabled httpd                 //查看自啟動服務狀態  enabled

通過Apache搭建的httpd服務已經完成!客戶端就已經可以訪問了,但是我們來認識一些基本的配置:

一、配置并啟動服務

1.配置httpd服務
編輯httpd服務的主配置文件httpd.conf,查找到配置項“ServerName”去除前面“#”號即可!(如果有合法的域名,建議修改成合法的域名,將來通過域名訪問)

[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf                         …………             //省略部分內容  ServerName www.example.com:80                         …………             //省略部分內容

修改完成后,建議使用帶“-t”選項的apachectl命令對配置文件進行語法檢查!

[root@localhost ~]# apachectl -t  Syntax OK

2.啟動httpd服務

[root@localhost ~]# systemctl start httpd         //啟動httpd服務  [root@localhost ~]# netstat -anpt | grep httpd           //查看監聽端口  tcp6       0      0 :::80                   :::*                    LISTEN      59183/httpd        

二、部署網頁文檔

httpd服務器已提供了一個名為index.html的測試網頁,做為訪問網站的默認首頁(可以自行編輯)!

[root@localhost ~]# cat /usr/local/httpd/htdocs/index.html   <html><body><h1>It works!</h1></body></html>

三、客戶機訪問
客戶機通過IP訪問
CentOS 7 利用Apache搭建Web網站服務

如果需要使用https的方式訪問,則需要:

[root@localhost yum.repos.d]# yum -y install mod_ssl  \安裝所選的ssl模塊  [root@localhost yum.repos.d]# systemctl restart httpd  \重新啟動httpd服務

客戶機訪問測試:
CentOS 7 利用Apache搭建Web網站服務
使用https訪問,默認的首頁時,將顯示APache官網首頁!

如果需要域名訪問,需要搭建DNS服務,搭建DNS服務可以參考博文CentOS 7搭建DNS服務

四、查看Web站點的訪問情況
httpd服務器使用兩種類型的日志:訪問日志和錯誤日志。
通過查看訪問日志文件access_log,可以及時了解Web站點的訪問情況。
訪問日志中每行對應一條訪問記錄,記錄了客戶機的IP地址、訪問服務器的日期和時間、請求的網頁對象等信息。

[root@localhost ~]# tail /usr/local/httpd/logs/access_log   192.168.1.100 - - [13/Jul/2019:20:29:40 +0800] "GET / HTTP/1.1" 200 45

通過查看錯誤日志err_log,可以為排查服務器運行故障提供參考依據。
錯誤日志文件中每行對應一條錯誤記錄,記錄了發生錯誤的日期和時間、錯誤事件類型、錯誤時間的內容描述等。

上述過程是使用Apache搭建Web服務器的基本步驟,其中涉及httpd.conf配置文件的改動量非常少,要搭建一臺簡單的Web服務器還是非常簡單的。

我們來認識httpd服務的主要配置文件及各項的含義:

[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf  ServerRoot "/usr/local/httpd"  Listen 80  User daemon  Group daemon  ServerAdmin you@example.com  ServerName www.example.com:80  DocumentRoot "/usr/local/httpd/htdocs"  DirectoryIndex index.html  ErrorLog "logs/error_log"  LogLevel warn  CustomLog "logs/access_log" common  PidFile "logs/httpd.pid"  AddDefaultCharset UTF-8  Include conf/extra/httpd-default.conf

上述設置行中,各全局配置項的含義,如圖:
CentOS 7 利用Apache搭建Web網站服務
以上配置項是Httpd.conf文件中主要的全局配置項,還有很多其他的配置項,在此就不一一介紹了,如果有需要可以查看Apache服務器中的相關幫助手冊。

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久国产香蕉一区精品| 中文字幕无码亚洲欧洲日韩| 久久亚洲精品无码AV红樱桃| 中日韩产精品1卡二卡三卡| 亚洲精品成人片在线观看| 在线观看国产精品日韩av| 国产精品青草久久| 麻豆亚洲AV成人无码久久精品| 国产精品久久久久久久久软件| 好吊妞视频这里只有精品| 亚洲依依成人精品| 亚洲美女精品视频| 亚洲精品亚洲人成在线观看麻豆| 久久亚洲精品国产精品| 99精品中文字幕| 99精品在线视频观看| 久久久久琪琪去精品色无码| 亚洲国产另类久久久精品| 亚洲国产精品高清久久久| 国产精品女同一区二区| 日韩一级精品视频在线观看 | 久久精品国产99精品最新| 亚洲精品高清国产一线久久| 欧亚精品卡一卡二卡三| 中文字幕无码久久精品青草| 日本无码小泬粉嫩精品图| 亚洲无线观看国产精品| 在线成人精品国产区免费| 国语精品一区二区三区| 九九热在线视频观看这里只有精品| 一色屋精品视频在线观看| 国产成人亚洲精品狼色在线 | 国产亚洲欧洲精品| 国产国产精品人在线视| 久久精品视频网站| 99re视频精品全部免费| 91国内揄拍国内精品对白不卡| 国产在视频线精品视频2021 | 国产精品主播一区二区| 波霸在线精品视频免费观看| 91在线视频精品|