1.目前最主流的三个Web服务器是Apache、Nginx、 IIS。
- WEB 服务应用层使用HTTP协议。
3.web服务器:apache nginx IIS #端口全部为80!https为443端口
4.Apache是世界使用排名第一的Web服务器软件
5.Apache的主程序名叫httpd。
安装apache
# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
关闭防火墙与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 查看状态
http的默认发布网站的页面是 : /var/www/html
同时这个默认也可以改,下面解释完http的主配置文件里内容,会讲解如何改
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
主配置文件内容
ServerRoot "/etc/httpd" #定义工作目录
Listen 80 #监听端口
Include conf.modules.d/*.conf
User apache # 子进程用户,有可能被人改称www账户
Group apache # 子进程的组
ServerAdmin root@localhost # 设置管理员邮件地址
<Directory />
AllowOverride none
Require all denied
</Directory>
DocumentRoot "/web" ##### 发布网站的默认目录,想改改这里。
<Directory "/var/www"> # 网站容器开始标识
AllowOverride None
Require all granted
</Directory>
<Directory "/web">
Options Indexes FollowSymLinks #找不到主页时,链接到网站目录以外,如测试页面
AllowOverride None # 对网站设置特殊属性:none不设置特殊属性,all允许
<RequireAll>
Require not ip 10.36.192.35
Require all granted # granted表示允许所有人访问,denied表示拒绝所有人访问
</RequireAll>
</Directory> # 容器结束
<IfModule dir_module>
DirectoryIndex index.html # 定义主页文件,会自动访问该文件。
访问控制
准备测试:
在默认发布页面
# echo test1 > /var/www/html/index.html #编写测试文件
测试:
可以直接编辑apache的主配置文件,允许所有主机访问
# vim /etc/httpd/conf/httpd.conf
重启服务:
# systemctl restart httpd
设置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>
记得重启服务:
# systemctl restart httpd
修改默认网站发布目录:
# vim /etc/httpd/conf/httpd.conf ---主配置文件
119 DocumentRoot "/web" # 修改网站根目录为/web
131 <Directory "/web"> # 把这个也对应的修改为/web
# mkdir /web #创建定义的网站发布目录
# echo "这是新修改的网站根目录/web" > /web/index.html #创建测试页面
# systemctl restart httpd #重启服务
虚拟主机
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 ----新的默认发布页面
<Directory "/web/"> 发布页面下的文件有index.html
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:82> ----之前是80改成82,修改端口
DocumentRoot /web2 ----新的默认发布页面
<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
重启服务
[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> ----这样修改结果是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>
重启服务
[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>
重启服务:
[root@localhost ~]# systemctl restart httpd
配置域名解析
在wind电脑上面打开C:\Windows\System32\drivers\etc\hosts文件。可以用管理员身份打开
完毕!
版权归原作者 997* 所有, 如有侵权,请联系我们删除。