哇~~真的是你呀!今天是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模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
7月前
|
运维 Linux Apache
Linux Apache服务详解——Apache虚拟目录与禁止显示目录列表实战
Linux Apache服务详解——Apache虚拟目录与禁止显示目录列表实战
112 2
|
4月前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
4月前
|
Ubuntu 应用服务中间件 Linux
在Linux中,如何配置Web服务器(如Apache或Nginx)?
在Linux中,如何配置Web服务器(如Apache或Nginx)?
|
4月前
|
Linux Apache
在Linux中,apache有几种工作模式,分别介绍下其特点,并说明什么情况下采用不同的工作模式?
在Linux中,apache有几种工作模式,分别介绍下其特点,并说明什么情况下采用不同的工作模式?
|
4月前
|
应用服务中间件 Linux 网络安全
在Linux中,如何配置Apache或Nginx Web服务器?
在Linux中,如何配置Apache或Nginx Web服务器?
|
4月前
|
Ubuntu 应用服务中间件 Linux
在Linux中,如何查看Apache或Nginx服务的状态?
在Linux中,如何查看Apache或Nginx服务的状态?
|
4月前
|
关系型数据库 Linux 网络安全
"Linux系统实战:从零开始部署Apache+PHP Web项目,轻松搭建您的在线应用"
【8月更文挑战第9天】Linux作为服务器操作系统,凭借其稳定性和安全性成为部署Web项目的优选平台。本文以Apache Web服务器和PHP项目为例,介绍部署流程。首先,通过包管理器安装Apache与PHP;接着创建项目目录,并上传项目文件至该目录;根据需要配置Apache虚拟主机;最后重启Apache服务并测试项目。确保防火墙允许HTTP流量,正确配置数据库连接,并定期更新系统以维持安全。随着项目复杂度提升,进一步学习高级配置将变得必要。
384 0
|
4月前
|
应用服务中间件 Linux API
Linux 利用 Cloudflare API 配置 acme.sh 自动续签 SSL (Apache、Nginx适用)
安装acme.sh工具,命令为`curl https://get.acme.sh | sh -s email=你的邮箱`。接着配置Cloudflare API,创建并记录API令牌及Zone ID。最后通过`acme.sh --issue -d 你的域名 --dns dns_cf`签发SSL证书,对于Nginx可使用`acme.sh --install-cert`命令安装证书,并设置自动重载Nginx服务。
|
5月前
|
Linux 持续交付 Apache
在Linux中通过ansible自动化部署apache服务
【7月更文挑战第11天】Linux中用Ansible自动化部署Apache服务:1. 确保Ansible已安装;2. 在`/etc/ansible/hosts`配置目标主机,如\[webservers\] server1 server2;3. 编写Playbook `apache_deploy.yml`更新系统并安装、启动Apache;4. 执行`ansible-playbook apache_deploy.yml`。适用于快速部署至多台服务器,减少配置错误和成本。
|
7月前
|
安全 Linux 网络安全
Linux _ apache服务器部署 不同域名—访问不同网站(多网站)
Linux _ apache服务器部署 不同域名—访问不同网站(多网站)
189 1
下一篇
DataWorks