Apache服务的搭建与配置,虚拟主机(基于域名 基于端口 基于Ip)

 1.目前最主流的三个Web服务器是Apache、Nginx、 IIS。

 2. 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    # 设置管理员邮件地址
 
    AllowOverride none
    Require all denied


DocumentRoot "/web"   ##### 发布网站的默认目录,想改改这里。
   # 网站容器开始标识
    AllowOverride None
    Require all granted


    Options Indexes FollowSymLinks   #找不到主页时,链接到网站目录以外,如测试页面
    AllowOverride None  # 对网站设置特殊属性:none不设置特殊属性,all允许

Require not  ip 10.36.192.35
Require all granted    # granted表示允许所有人访问,denied表示拒绝所有人访问


  	# 容器结束

    DirectoryIndex index.html  	# 定义主页文件,会自动访问该文件。

访问控制

准备测试:

在默认发布页面

# echo test1 > /var/www/html/index.html #编写测试文件

测试:

可以直接编辑apache的主配置文件,允许所有主机访问

# vim /etc/httpd/conf/httpd.conf

Apache服务的搭建与配置,虚拟主机(基于域名 基于端口 基于Ip)_第1张图片

重启服务:

# systemctl restart httpd

Apache服务的搭建与配置,虚拟主机(基于域名 基于端口 基于Ip)_第2张图片

设置IP可以查看,那些拒绝查看


Require all granted      ----所有ip都可以查看



Require all  denied      -----所有ip都不能查看



Requier not ip 10.36.192.** ----禁止此ip查看,其他ip都可以查看
Require all granted



Require  ip 10.36.192.*    -----只有这个ip可以查看

记得重启服务:

# systemctl restart httpd

修改默认网站发布目录:

 # vim /etc/httpd/conf/httpd.conf   ---主配置文件
119  DocumentRoot "/web"           	# 修改网站根目录为/web
131                # 把这个也对应的修改为/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 


    ----之前是80改成81,修改端口
  DocumentRoot /web   ----新的默认发布页面
    发布页面下的文件有index.html
  AllowOverride None
  Require all granted



    ----之前是80改成82,修改端口
  DocumentRoot /web2   ----新的默认发布页面
     
  AllowOverride None
  Require all granted


[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

Apache服务的搭建与配置,虚拟主机(基于域名 基于端口 基于Ip)_第3张图片

访问10.36.192.65:82

Apache服务的搭建与配置,虚拟主机(基于域名 基于端口 基于Ip)_第4张图片

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:  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:  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 
  ----这样修改结果是ip为65可以访问web的页面
  DocumentRoot /web

  AllowOverride None
  Require all granted



   ----这样修改时ip为226可以访问web2页面
  DocumentRoot /web2

  AllowOverride None
  Require all granted


重启服务

[root@localhost ~]# systemctl restart httpd

ip 10.36.192.65查看

Apache服务的搭建与配置,虚拟主机(基于域名 基于端口 基于Ip)_第5张图片
ip10.36.192.226查看Apache服务的搭建与配置,虚拟主机(基于域名 基于端口 基于Ip)_第6张图片

3.基于域名

改变域名 ,端口及ip不变

进入次配置文件修改

[root@localhost ~]# vim /etc/httpd/conf.d/test.conf 

  DocumentRoot /web
ServerName www.zyq.com  ----输入域名www.zyq.com可以查看web的页面

  AllowOverride None
  Require all granted




  DocumentRoot /web2   
ServerName www.yq.com    ----输入域名www.yq.com可以查看web2的页面

  AllowOverride None
  Require all granted


               

重启服务:

[root@localhost ~]# systemctl restart httpd

配置域名解析 

在wind电脑上面打开C:\Windows\System32\drivers\etc\hosts文件。可以用管理员身份打开

用www.zyq.com查看

Apache服务的搭建与配置,虚拟主机(基于域名 基于端口 基于Ip)_第7张图片

用www.yq.com查看

Apache服务的搭建与配置,虚拟主机(基于域名 基于端口 基于Ip)_第8张图片

完毕!

你可能感兴趣的:(apache,服务器,linux)