注意:如果是普通用户需提权(sudo),root账号不用
安装:sudo yum install httpd
启动服务:sudo service httpd start
关闭服务:sudo service httpd stop

查询进程是否存在(存在会有apache开头的多条数据):ps -ef | grep httpd
网络统计(查看哪些端口可访问):sudo netstat -anpl | grep ‘http’
注意:如果不能访问端口,可将防火墙关闭掉.
关闭防火墙:sudo service firewalld stop
在这里插入图片描述

配置虚拟主机(使用多域名时,会使用虚拟主机)

为什么使用虚拟主机:因为一个域名可能配置很多个网站,那就需要多份配置来保证访问的内容和源代码是不一样的。

1.打开httpd.conf
  • 进入到conf的目录下:cd /etc/httpd/conf/
  • 打开httpd.conf:sudo vim httpd.conf
    在这里插入图片描述
2.找到此下图位置,添加配置信息(可使用/virtual + enter键 来查找)
  • 用小写 i 可进入编辑模式,Esc退出编辑模式,:wq保存退出
  • 重启服务:sudo service httpd restart
    说明:此ip地址不存在,为我随便写的,仅测试使用,大家也可随意指定名称测试。
<VirtualHost *:80>
        ServerName www.qixing.com
        DocumentRoot /data/www
</VirtualHost>

在这里插入图片描述

3.新建指定目录,放入文件

新建前看下目录是否存在,比如我上面指定的data目录,可使用命令: ll /data/ 查看是否存在,如果不存在就新建。

  • 创建文件:sudo mkdir -p /data/www
  • 改变文件所属人:sudo chown -R 用户名:用户名 /data
  • 放入项目文件
  • 修改host,解析域名到ip地址(下面介绍)
    在这里插入图片描述
    我们新建个文件演示下:vim index.html,随便编写内容即可。
4.修改host,解析域名到ip地址

linux,mac中配置:sudo vim /etc/hosts 添加 192.17.5.228 www.qixing.com
windows中配置:一般是在C:\Windows\System32\drivers\etc目录下,添加ip和域名对应信息,如下图:
在这里插入图片描述

5.修改80端口的默认访问目录(任意端口,这里只是用80端口举例)
  • 在VirtualHost 下添加Directory
  • 重启服务:sudo service httpd restart
 <VirtualHost *:80>
        ServerName www.qixing.com
        DocumentRoot /data/www
        <Directory "/data/www">
                Options Indexes FollowSymLinks
                AllowOverride None
                Require all granted
        </Directory>
</VirtualHost>

在这里插入图片描述

6.如果有异常,不能正常访问,可查看Apache日志:
  • 进入/etc/httpd/:cd /etc/httpd/
  • 提权进入logs文件夹:sudo cd logs/
  • 查看成功日志:tail -f access_log
  • 查看错误日志:tail -f error_log
  • Ctrl+c 可退出
    举个常见例子:查看error_log日志,错误如下,可以发现是搜索权限的问题,这是关于防火墙安全策略的配置。
    在这里插入图片描述
    解决方法:sudo setenforce 0 (0为禁用策略,1为强制策略。注意:此设置是临时的)
    永久修改安全策略配置:sudo vim /etc/selinux/config 修改 SELINUX=disabled
  • enforcing - 强制策略
  • permissve - 宽松策略
  • disabled - 禁用策略(即关闭掉)
    在这里插入图片描述
7.配置多个虚拟主机
  • 进入到Apache的conf目录下:cd /etc/httpd/conf
  • 编辑httpd.conf :sudo vim httpd.conf
  • 添加多个VIrrualHost配置,并修改配置信息:例子如下图
  • 然后重启服务:sudo service httpd restart
    注意:如果你是windows或mac,请重新修改host,添加ip和域名对应信息(上面第4步有介绍)。
    另外,如果没对应文件夹请新建文件夹并添加文件。

    在这里插入图片描述
    最后测试:浏览器中输入地址,能正常显示你在index.html中的内容就可以了。
8.配置伪静态 (简单的说是一种通过自己定义规则,使用虚拟路径来访问指定规则中的真实路径)
  • 编辑httpd.conf:sudo vim httpd.conf
  • 搜索LoadModule:/LoadModule+Enter键
  • 添加:LoadModule rewrite_module modules/mod_rewrite.so (加载重写伪静态配置)
  • 伪静态规则设置:
<IfModule mod_rewrite.c> 
      RewriteEngine On
      RewriteRule ^(.*).htm$ index.html
</IfModule>

简单解释下:
<IfModule mod_rewrite.c> 为 如果mod_rewrite.c模块存在时进入伪静态规则设置
RewriteEngine On wei重写引擎打开
RewriteRule ^(.*).htm$ index.html 为 重写规则(我这里写的是htm结尾的所有文件,都访问index.html,具体规则大家自己定义)
在这里插入图片描述
在这里插入图片描述
测试:访问http://www.qixing.com/666.htm 直接显示的是http://www.qixing.com/index.html的内容。

Logo

更多推荐