?1.目前最主流的三個Web服務(wù)器是Apache、Nginx、 IIS。
?2.?WEB 服務(wù)應(yīng)用層使用HTTP協(xié)議。
3.web服務(wù)器:apache nginx IIS ?#端口全部為80!https為443端口
4.Apache是世界使用排名第一的Web服務(wù)器軟件
5.Apache的主程序名叫httpd。
安裝apache
# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
關(guān)閉防火墻與selinux 老生常談的事了
# yum install -y httpd ----通過域名下載安裝httpd
# systemctl start httpd ----運行httpd
# netstat -lntp | grep 80 #查看apache端口
tcp6 0 0 :::80 :::* LISTEN 2776/httpd
#端口80.可以改
查看端口說明httpd運行起來了,也可以用命令 systemctl status httpd 查看狀態(tài)
http的默認發(fā)布網(wǎng)站的頁面是 : /var/www/html
同時這個默認也可以改,下面解釋完http的主配置文件里內(nèi)容,會講解如何改
apache的主配置文件在 /etc/httpd/conf/httpd.conf
次配置文件在??/etc/httpd/conf.d/test.conf?
apache目錄介紹
apache的工作目錄:
conf ? 存儲配置文件
conf.d 存儲配置子文件
logs ? 存儲日志?
modules 存儲模塊
run ? ?存儲Pid文件,存放的pid號碼。是主進程號
認識主配置文件
[root@localhost ~]# cd /etc/httpd/conf
[root@localhost conf]# ls
httpd.conf httpd.conf.back httpd.conf.rpmsave magic
[root@localhost conf]# vim httpd.conf
進入以后會有很多注釋 空格 影響觀看,可以輸入下面命令 清楚文件里面的注釋與空格
# sed -i.back '/#.*/d' httpd.conf
# sed -i '/^$/d' httpd.conf
主配置文件內(nèi)容
ServerRoot "/etc/httpd" #定義工作目錄
Listen 80 #監(jiān)聽端口
Include conf.modules.d/*.conf
User apache # 子進程用戶,有可能被人改稱www賬戶
Group apache # 子進程的組
ServerAdmin root@localhost # 設(shè)置管理員郵件地址
<Directory />
AllowOverride none
Require all denied
</Directory>
DocumentRoot "/web" ##### 發(fā)布網(wǎng)站的默認目錄,想改改這里。
<Directory "/var/www"> # 網(wǎng)站容器開始標識
AllowOverride None
Require all granted
</Directory>
<Directory "/web">
Options Indexes FollowSymLinks #找不到主頁時,鏈接到網(wǎng)站目錄以外,如測試頁面
AllowOverride None # 對網(wǎng)站設(shè)置特殊屬性:none不設(shè)置特殊屬性,all允許
<RequireAll>
Require not ip 10.36.192.35
Require all granted # granted表示允許所有人訪問,denied表示拒絕所有人訪問
</RequireAll>
</Directory> # 容器結(jié)束
<IfModule dir_module>
DirectoryIndex index.html # 定義主頁文件,會自動訪問該文件。
訪問控制
準備測試:
在默認發(fā)布頁面
# echo test1 > /var/www/html/index.html #編寫測試文件
測試:
可以直接編輯apache的主配置文件,允許所有主機訪問
# vim /etc/httpd/conf/httpd.conf
重啟服務(wù):
# systemctl restart httpd
設(shè)置IP可以查看,那些拒絕查看
<RequireAl1>
Require all granted ----所有ip都可以查看
</RequireA11>
<RequireAl1>
Require all denied -----所有ip都不能查看
</RequireA11>
<RequireAl1>
Requier not ip 10.36.192.** ----禁止此ip查看,其他ip都可以查看
Require all granted
</RequireA11>
<RequireAl1>
Require ip 10.36.192.* -----只有這個ip可以查看
</RequireA11>
記得重啟服務(wù):
# systemctl restart httpd
修改默認網(wǎng)站發(fā)布目錄:
# vim /etc/httpd/conf/httpd.conf ---主配置文件
119 DocumentRoot "/web" # 修改網(wǎng)站根目錄為/web
131 <Directory "/web"> # 把這個也對應(yīng)的修改為/web
# mkdir /web #創(chuàng)建定義的網(wǎng)站發(fā)布目錄
# echo "這是新修改的網(wǎng)站根目錄/web" > /web/index.html #創(chuàng)建測試頁面
# systemctl restart httpd #重啟服務(wù)
虛擬主機
1.基于端口
也即是改變端口,域名與ip不變,域名也可以之間刪除
首先改主配置文件里的端口號
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf ----進入主配置文件
ServerRoot "/etc/httpd"
Listen 81 ----改端口
Listen 82
Include conf.modules.d/*.conf
User apache
Group apache
ServerAdmin root@localhost
保存退出
到次配置文件里面修改
[root@localhost ~]# vim /etc/httpd/conf.d/test.conf
<VirtualHost *:81> ----之前是80改成81,修改端口
DocumentRoot /web ----新的默認發(fā)布頁面
<Directory "/web/"> 發(fā)布頁面下的文件有index.html
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:82> ----之前是80改成82,修改端口
DocumentRoot /web2 ----新的默認發(fā)布頁面
<Directory "/web2/">
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
[root@localhost web]# ls
index.html
[root@localhost web]# cd /web2
[root@localhost web2]# ls
index.html
重啟服務(wù)
[root@localhost ~]# systemctl restart httpd
訪問: 10.36.192.65:81
訪問10.36.192.65:82
2.基于ip
也就是改變ip,端口和域名不變,域名可以刪除不寫
進入主配置文件修改改回端口
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf ---進入主配置文件,將端口號改成80
獲取第二個ip
語法: ip a a 新ip? dev ens33??
刪除獲取的新ip語法: ip a d 新ip dev ens33
[root@localhost ~]# ip a a 10.36.192.226/24 dev ens33
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:9b:1b:e2 brd ff:ff:ff:ff:ff:ff
inet 10.36.192.65/24 brd 10.36.192.255 scope global noprefixroute dynamic ens33
valid_lft 255369sec preferred_lft 255369sec
inet 10.36.192.226/24 scope global secondary ens33
valid_lft forever preferred_lft forever
inet6 fe80::9213:ce82:fc94:fb11/64 scope link noprefixroute
valid_lft forever preferred_lft forever
進入次配置文件
[root@localhost ~]# vim /etc/httpd/conf.d/test.conf
<VirtualHost 10.36.192.65> ----這樣修改結(jié)果是ip為65可以訪問web的頁面
DocumentRoot /web
<Directory "/web/">
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 10.36.192.226> ----這樣修改時ip為226可以訪問web2頁面
DocumentRoot /web2
<Directory "/web2/">
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
重啟服務(wù)
[root@localhost ~]# systemctl restart httpd
ip 10.36.192.65查看
ip10.36.192.226查看
3.基于域名
改變域名 ,端口及ip不變
進入次配置文件修改
[root@localhost ~]# vim /etc/httpd/conf.d/test.conf
<VirtualHost *:80>
DocumentRoot /web
ServerName www.zyq.com ----輸入域名www.zyq.com可以查看web的頁面
<Directory "/web/">
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /web2
ServerName www.yq.com ----輸入域名www.yq.com可以查看web2的頁面
<Directory "/web2/">
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
重啟服務(wù):
[root@localhost ~]# systemctl restart httpd
配置域名解析?
在wind電腦上面打開C:\Windows\System32\drivers\etc\hosts文件??梢杂霉芾韱T身份打開
用www.zyq.com查看
用www.yq.com查看
文章來源:http://www.zghlxwxcb.cn/news/detail-767945.html
完畢!文章來源地址http://www.zghlxwxcb.cn/news/detail-767945.html
到了這里,關(guān)于Apache服務(wù)的搭建與配置,虛擬主機(基于域名 基于端口 基于Ip)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!