Linux系统apache服务

一、概述

   Web服务器的中间件

   用于构建静态web站点

   默认版本2.4.6(可根据所在的网络环境下载安装与之兼容的版本)

二、应用场景

   Web服务器、后台解析、视频站点、博客等等

三、安装流程

   配置静态IP地址

   关闭防火墙和SELinux

   安装软件

四、安装方式

  1. rpm/yum安装

   rpm安装:rpm -ivh httpd...rpm  (安装过程中需解决依赖关系)

   yum安装:yum -y instart httpd

     主配置文件:/etc/httpd/conf/httpd.conf

         Listen 80(定义apache的监听端口)

         User apache (定义运行用户和运行组

         Group apache   运行用户:程序需运行时哪个用户打开的程序文件)

        ServerName wwwexample.com:80

(定义web服务使用域名访问)

           Require all denied;Require all granted

             (定义访问权限 denied:不能访问

granted:可以访问)

           DocumentRoot“/var/www/heml”

             (定义文档根目录)

           Directorylndex index.html

              (定义默认访问主页)

     2.源码安装

先解压软件包:tar -xzf 软件包名

再配置:./configure --prefix=/usr/local/apache

 (此过程中可能会报错,需解决依赖关系)

  依赖关系有:yum -y install apr apr-util apr-util-devel gcc gcc-c++ pcre-devel zlib-devel

五、源码安装后的配置方法

   优化命令路径

将安装目录的启动命令链接到/usr/local/bin

ln -s /usr/local/apache/bin/apachectl /usr/local/bin/apachectl

   配置文件:/usr/local/apache/conf/httpd.conf

     ServerRoot”/usr/local/apache” 

(定义apache安装路径)

Listen 80 (定义apache监听端口)

LoadModule(加载apache运行时的必要模块文件)

User deamon(定义运行用户和运行组

Group daemon  运行用户:程序需运行时哪个用户打开的程序文件)

ServerName www.example.com:80

(定义web服务使用域名访问)

Require all denied ;Require all granted

 (定义访问权限;denied:不能访问  

granted:可以访问)

DocumentRoot”/usr/local/apache/htdocs”

(定义文档根目录)

Directorylndex index.html

 (定义默认访问主页)

ErrorLog”logs/error_log” (定义:错误日志路径;

Loglevel warn                错误日志级别;

LogFornat                   日志格式;

GustomLog                  访问日志)

六、启动测试

   先测试连通性(启动服务,网页打开看是否可进入)

   使用apachectl命令进行管理

七、虚拟主机头

   修改方式

     修改主配置文件:vim /usr/local/apache/conf/httpd.conf

         声明监听不同的IP地址的80端口

         开启使用虚拟主机文件的选项

           # Virtual hosts

           lnclube conf/extya/httpd-vhosts.conf

主配置文件包含虚拟主机配置文件:

  vim /usr/local/apache/conf/extra/httpd-vhosts.conf

 实现方法

   基于不同的IP地址:

例:

      #IP及端口

    ServerAdmin [email protected]

    DocumentRoot "/usr/local/apache/htdocs/web1"       #打开路径

#    ServerName dummy-host.example.com       #域名/别名

#    ServerAlias www.dummy-host.example.com

    ErrorLog "logs/20.1-error_log"      #错误日志路径

    CustomLog "logs/20.1-access_log" common       #访问日志

    ServerAdmin [email protected]

    DocumentRoot "/usr/local/apache/htdocs/web2"

#    ServerName dummy-host2.example.com

    ErrorLog "logs/20.2-error_log"

    CustomLog "logs/20.2-access_log" common

[root@localhost conf]# apachectl start       #启动服务
 

  基于不同端口:

例:

    ServerAdmin [email protected]

    DocumentRoot "/usr/local/apache/htdocs/web1"

#    ServerName dummy-host.example.com

#    ServerAlias www.dummy-host.example.com

    ErrorLog "logs/8081-error_log"

    CustomLog "logs/8081-access_log" common

    ServerAdmin [email protected]

    DocumentRoot "/usr/local/apache/htdocs/web2"

#    ServerName dummy-host2.example.com

    ErrorLog "logs/8082-error_log"

    CustomLog "logs/8082-access_log" common

[root@localhost apache]# vim conf/httpd.conf

Listen 192.168.20.1:8081         #更改主配置文件端口
Listen 192.168.20.1:8082
[root@localhost apache]# apachectl restart         #重启服务
 

  基于不同域名:

例:

    ServerAdmin [email protected]

    DocumentRoot "/usr/local/apache/htdocs/web1"

    ServerName www.example.com

#    ServerAlias www.dummy-host.example.com

    ErrorLog "logs/exam1-error_log"

    CustomLog "logs/exam1-access_log" common

    ServerAdmin [email protected]

    DocumentRoot "/usr/local/apache/htdocs/web2"

    ServerName www.example2.com

    ErrorLog "logs/exam2-error_log"

    CustomLog "logs/exam2-access_log" common

[root@localhost ~]# vim /usr/local/apache/conf/httpd.conf 
Listen 192.168.20.1:80
[root@localhost ~]# yum -y install bind          #下载dns解析服务,下载完根据上面配置进行                                                                            正反解析配置

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

DNS1=192.168.20.1             #指定解析IP地址

[root@localhost ~]# ifdown ens33 && ifup ens33
[root@localhost apache]# systemctl start named

[root@localhost apache]# apachectl restart


 

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