哇~~真的是你呀!今天是LINUX中的Apache

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Linux是一种自由开源的操作系统,广泛应用于服务器和嵌入式系统。Apache是一个开源的Web服务器软件。在Linux上搭建Web服务器

前言

Linux是一种自由开源的操作系统,广泛应用于服务器和嵌入式系统。Apache是一个开源的Web服务器软件。在Linux上搭建Web服务器的步骤如下:


1. 安装Linux操作系统。

2. 安装Apache软件包。

3. 配置Apache,包括监听端口、默认主页、虚拟主机等。

4. 启动、停止和重启Apache服务。

5. 将网站文件或应用程序放置在适当的目录下,并设置网站的配置文件。


通过以上步骤,您可以在Linux上建立起一个Apache Web服务器,用于托管网站或应用程序。


一、概述


Apache的作用概述: web服务器提供者,web中间件  、能够提供html文本文档的传输  、传输协议是http/https协议 其默认端口:80/443

二、Apache的安装


1.安装方法

1)yum安装

  第一步: 关闭网络图形管理工具

systemctl stop NetworkManager && systemctl disable NetworkManager

   第二步: 重新读取网络配置文件

ifdown ens33 && ifup ens33

   第三步:

yum install httpd -y


2)编译安装


步骤

   配置   ./configure

   编译   make

   安装   make install

   编译安装的卸载只需要删除对应的安装目录

2.编译安装

下面我以编译安装为例进行安装


1)收集适合操作系统的Apache软件包  网址Download - The Apache HTTP Server Project


2)查看是否安yum安装了httpd如果安装了就卸载


3)编译安装Apache


把下载好的源码包拖入终端

把源码包移动到当前目录并解压进入到解压后的文件进行安装

安装时会出现错误我们按照提示依次安装依赖,之后继续安装(此过程要重复多次直到不报错)

之后输入make && make install ,他会自动创建目录,安装完成

4)优化命令路径

ln -s /usr/local/apache2/bin /usr/sbin

5)优化启动服务管理

cp /usr/local/apache2/bin/apachectl /etc/init.d/apached

vim  /etc/init.d/apached

,可以看到配置文件

我们在第二行写入(运行等级)

,保存退出。输入

chkconfig --add  /etc/init.d/apached

查看一下是否支持

可以使用systemd管理

systemctl  start apached

开机自启

chkconfig  --level 35 apached

三、目录结构


1.yum安装

/etc/httpd 安装主目录

 

conf.modules.d 模块加载配置文件存储目录
        conf.d conf目录的附属目录
        conf  主配置文件存储目录(修改配置文件之前一定要备份!!!)
                httpd.conf
                    ServerRoot "/etc/httpd" 服务安装根目录
                    Listen 80 监听端口
                    Include conf.modules.d/*.conf 引用外部配置文件到当前文件中
                    User apache运行账户
                    Group apache  运行组
                    ServerName www.example.com:80 可用域名
                    DocumentRoot "/var/www/html" 网页文档根目录
                    DirectoryIndex index.html 默认访问首页


/usr/sbin 命令目录


/var/log/httpd日志目录

   日志级别:debug, info, notice, warn, error, crit,alert, emerg

   日志类型:访问日志access_log、 错误日志error_log


/var/www/html网页源码存放目录


/run/httpd  PID存储目录


/usr/share/doc/httpd-2.4.6模板配置文件

   httpd-vhosts.conf   虚拟主机头配置文件


2.编译安装

/usr/local/apache2

配置文件   conf

  extra     httpd-vhosts.conf   虚拟主机头配置

       httpd.conf  主配置其中代表的是:

               ServerRoot "/usr/local/apache2 服务安装根目录

               Listen 80 监听端口

               Include conf.modules.d/*.conf   引用外部配置文件到当前文件中

               User daemon 运行账户

               Group daemon  运行组

               ServerName www.example.com:80 可用域名

               DocumentRoot "/usr/local/apache2/htdocs"  网页文档根目录

               DirectoryIndex index.html   默认访问首页

四、虚拟主机头配置


1.基本配置

yum安装

  (1)

mkdir /etc/httpd/extra

   (2)

cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/http/extra

   (3)

vim /etc/httpd/conf/httpd.conf在文件末尾追加:
IncludeOptional extra/*.conf

   (4)将htpd.conf中Listen 80 注释掉

在httpd-vhosts.conf中加入:Listen 80


编译安装

   (1)vim /usr/local/apache2/conf/httpd.conf中去掉注释:

Include conf/exta/httpd-vhosts.conf

   (2)将htpd.conf中Listen 80 注释掉

在httpd-vhosts.conf中加入:Listen 80


2.实现方式

基于不同的端口号


1)编辑我们的配置文件  之后再输入我们需要监听的端口 例如: Listen 80  Listen 81

vim /usr/local/apache2/conf/extra/httpd.vhosts.conf

2)通过上面的操作我们的文件还是没有被加载,所以我对主配置文件进行操作

vim /usr/local/apache2/conf/httpd.conf

找到我们主机头的配置文件目录将注释删除(如图),这样就可以读取我们之前修改的文件了

3)通过上面的操作后我们就可以在主机头配置文件中根据需要配置我们的虚拟主机了

vim /usr/local/apache2/conf/extra/httped-vhosts.conf

其中他们的含义分别是


(描述的监听端口)

   ServerAdmin webmaster@dummy-host.example.com(当前你的管理员)

   DocumentRoot "/usr/local/apache2/docs/dummy-host.example.com"(默认访问的位置)

   ServerName dummy-host.example.com(名称)

   ServerAlias www.dummy-host.example.com(别名可以多个也可以注释)

   ErrorLog "logs/dummy-host.example.com-error_log"(错误日志,最好设置名称用来区别)

   CustomLog "logs/dummy-host.example.com-access_log" common(访问日志,最好设置名称用来区别)


建立不同的访问位置 如:


   ServerAdmin web1admin.ex.com


   DocumentRoot "/var/www/web1"


   ServerName web1.ex.com


   ServerAlias web01.ex.com


   ErrorLog "/var/log/httpd/web1.error_log"


   CustomLog "/var/log/httpd/web1.access_log" common





   ServerAdmin web2admin.ex.com


   DocumentRoot "/var/www/web2"


   ServerName web2.ex.com


   ServerAlias web02.ex.com


   ErrorLog "/var/log/httpd/web2.error_log"


   CustomLog "/var/log/httpd/web2.access_log" common




基于不同的域名


cd /etc/httpd/extra  在编辑vim httpd-vhosts.conf


Listen 80


如:

ServerAdmin web1admin.ex.com
    DocumentRoot "/var/www/web1"
    ServerName web1.ex.com
    ServerAlias web01.ex.com
    ErrorLog "/var/log/httpd/web1.error_log"
    CustomLog "/var/log/httpd/web1.access_log" common
    ServerAdmin web2admin.ex.com
    DocumentRoot "/var/www/web2"
    ServerName web2.ex.com
    ServerAlias web02.ex.com
    ErrorLog "/var/log/httpd/web2.error_log"
    CustomLog "/var/log/httpd/web2.access_log" common

基于不同的IP地址

cd /etc/httpd/extra/

编辑

vim httpd.vhosts.conf

   输入

Listen 192.168.115.128:80
                              Listen 192.168.115.135:80

配置多地址

      (1) 修改ens33的配置文件

         

IPADDR1=192.168.115.128
            PREFIX1=24
            IPADDR2=192.168.115.135
            PREFIX2=24

       (2)利用ens33的子接口实现

           临时

ifconfig ens33:0 192.168.115.136/24

           永久

cd /etc/sysconfig/network-scripts/
                      cp ifcfg-ens33 ifcfg-ens33:1
                      vim ifcfg-ens33:1

五、配置文件的检查语法


httpd -t -f /usr/local/apache2/conf/httpd.conf

六、配置https访问


yum安装:

   httpd-vhosts.conf内容全部注释

yum install -y mod_ssl
    cd /etc/httpd/conf.d/

   证书存储目录

       

/etc/pki/tls
    vim ssl.conf
    systemctl restart httpd


七、访问测试


curl返回结果为html的源码 curl -I(大写i) 返回响应头


例如:firefox    https://192.168.115.128

按住ctrl + F5  深度刷新,忽略本地的浏览器缓存

相关实践学习
日志服务之数据清洗与入湖
本教程介绍如何使用日志服务接入NGINX模拟数据,通过数据加工对数据进行清洗并归档至OSS中进行存储。
目录
相关文章
|
2月前
|
域名解析 Linux Apache
Linux Apache服务详解——虚拟网站主机功能实战
Linux Apache服务详解——虚拟网站主机功能实战
88 5
|
2月前
|
运维 Linux Apache
Linux Apache服务详解——Apache虚拟目录与禁止显示目录列表实战
Linux Apache服务详解——Apache虚拟目录与禁止显示目录列表实战
56 2
|
2月前
|
Linux 应用服务中间件 Apache
Linux Apache服务详解——Apache服务基础知识
Linux Apache服务详解——Apache服务基础知识
54 2
|
2月前
|
Ubuntu Java 测试技术
【Linux】一站式教会:Ubuntu(无UI界面)使用apache-jmeter进行压测
【Linux】一站式教会:Ubuntu(无UI界面)使用apache-jmeter进行压测
|
2月前
|
Java Linux
Flume【环境搭建 01】CentOS Linux release 7.5 安装配置 apache-flume-1.9.0 并验证
【2月更文挑战第16天】Flume【环境搭建 01】CentOS Linux release 7.5 安装配置 apache-flume-1.9.0 并验证
72 0
|
2月前
|
安全 Linux 网络安全
Linux _ apache服务器部署 不同域名—访问不同网站(多网站)
Linux _ apache服务器部署 不同域名—访问不同网站(多网站)
|
2月前
|
Ubuntu Linux Apache
linux下apache2更换目录
linux下apache2更换目录
|
2月前
|
Shell Linux Apache
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 apachectl命令 使用教程
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 apachectl命令 使用教程
186 1
|
2月前
|
Web App开发 存储 Linux
Linux Apache服务详解——Apache服务访问控制
Linux Apache服务详解——Apache服务访问控制
370 7
|
2月前
|
运维 Linux 网络安全
Linux Apache服务详解——用户个人主页实战
Linux Apache服务详解——用户个人主页实战
81 1