HTTP服務搭建
1、掛載光盤
[root@localhost ~]# mount /dev/sr0 /mnt
mount: /dev/sr0 is write-protected, mounting read-only
2、配置yum源
[root@localhost yum.repos.d]# pwd
/etc/yum.repos.d
[root@localhost yum.repos.d]# vim base.repo
yum源配置:
[base]
name=base
baseurl=file:///mnt
enable=1
gpgcheck=0
3、安裝軟件包
[root@localhost ~]# yum install httpd -y
開啓HTTP服務,關閉防火牆,關閉seLinux
[root@localhost ~]# systemctl start httpd.service
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
4、查看HTTP服務的狀態
[root@localhost ~]# systemctl status httpd.service -l
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2019-07-23 10:19:37 CST; 9min ago #運行狀態
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 14061 (httpd)
Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec"
CGroup: /system.slice/httpd.service
├─14061 /usr/sbin/httpd -DFOREGROUND
├─14062 /usr/sbin/httpd -DFOREGROUND
├─14063 /usr/sbin/httpd -DFOREGROUND
├─14064 /usr/sbin/httpd -DFOREGROUND
├─14065 /usr/sbin/httpd -DFOREGROUND
└─14066 /usr/sbin/httpd -DFOREGROUND
詳細日誌信息:(如果服務沒有啓動成功,可以在此處查看HTTP協議的錯誤信息)
Jul 23 10:19:37 localhost.localdomain systemd[1]: Starting The Apache HTTP Server...
Jul 23 10:19:37 localhost.localdomain httpd[14061]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
Jul 23 10:19:37 localhost.localdomain systemd[1]: Started The Apache HTTP Server.
Jul 23 10:20:16 localhost.localdomain systemd[1]: Started The Apache HTTP Server.
5、HTTP服務的配置文件
[root@localhost ~]# cd /etc/httpd/
[root@localhost httpd]# ll
total 4
drwxr-xr-x. 2 root root 35 Jul 23 10:11 conf #主配置文件
drwxr-xr-x. 2 root root 78 Jul 23 10:11 conf.d #子配置文件
drwxr-xr-x. 2 root root 4096 Jul 23 10:11 conf.modules.d
lrwxrwxrwx. 1 root root 19 Jul 23 10:11 logs -> ../../var/log/httpd #日誌文件
lrwxrwxrwx. 1 root root 29 Jul 23 10:11 modules -> ../../usr/lib64/httpd/modules
lrwxrwxrwx. 1 root root 10 Jul 23 10:11 run -> /run/httpd #運行文件
通過rpm -ql
來查詢httpd服務的文件和路徑
[root@localhost ~]# rpm -ql httpd
查看主配置文件:
[root@localhost httpd]# cd conf
[root@localhost conf]# vim httpd.conf
31 ServerRoot "/etc/httpd" # HTTP服務的頂級目錄爲 /etc/httpd
42 Listen 80 #監聽web服務端的80端口
56 Include conf.modules.d/*.conf #包括 /etc/httpd/conf.modules.d/*.conf 的所有文件
66 User apache #服務的用戶,(ps -ef | grep httpd,先以root用戶把 /usr/sbin/httpd 服務啓動起來),啓動服務轉換身份,在啓動服務時通常以root身份,再轉換身份,這樣更加安全
67 Group apache
86 ServerAdmin root@localhost #你的郵箱地址,有問題發郵箱
102 <Directory /> #目錄爲根,<>爲開始,</>爲結束
103 AllowOverride none #不允許這個目錄下的訪問控制文件來改變這裏的配置,這也意味着不用查看這個目錄下的控制文件
104 Require all denied #拒絕訪問根
105 </Directory> # 和 <Directory /> 爲一組標籤,意味着結束
119 DocumentRoot "/var/www/html" # 網頁文件存放的目錄
124 <Directory "/var/www"> #目錄爲 /var/www
125 AllowOverride None #不允許這個目錄下的訪問控制文件來改變這裏的配置
127 Require all granted #允許訪問/var/www
128 </Directory> #和<Directory "/var/www">一組標籤,意味着結束
191 <IfModule log_config_module>
196 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
197 LogFormat "%h %l %u %t \"%r\" %>s %b" common
198
199 <IfModule logio_module> #日誌模塊:通過事件節點去記錄
201 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
202 </IfModule>
316 AddDefaultCharset UTF-8 # 默認定義字符集
配置子配置文件
[root@localhost httpd]# cd conf.d/
[root@localhost conf.d]# vim vhosts.conf #新建一個以 .conf結尾的配置文件
配置文件:
1 <directory /www>
2 allowoverride none
3 require all granted
4 </directory>
5 <virtualhost 192.168.218.128:80>
6 servername 192.168.218.128 #基於IP地址對web服務器進行訪問
7 documentroot /www
8 </virtualhost>
6、編寫HTML文本語言到指定網頁位置:
[root@localhost ~]# mkdir /www
[root@localhost ~]# echo this is www = = >/www.index.html
7、網站訪問
[root@localhost ~]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.218.128 netmask 255.255.255.0 broadcast 192.168.218.255
注意事項
1、配置路徑:/etc/http/*
,所有的 *.conf
文件都是配置文件
2、服務在運行時,將配置文件看完之後,選擇後面的配置文件使用,如果一個端口監聽兩次的話,可能會出現端口被佔用的錯誤
3、apache是一個模塊話的一個配置服務,所以我們可以根據每個模塊進行一些配置,不僅對程序本身進行模塊化配置,對配置文件也進行了模塊化的配置
4、在配置時儘量不要在主配置文件中更改,防止出現錯誤無法更改
5、每次更改完配置文件後必須重啓服務[root@localhost ~]# systemctl restart httpd.service