web网站服务

Apache

在Linux系统中通过Apache来搭建web网站服务

特点:

开放源代码、跨平台应用

支持多种网页编程语言

模块化设计、运行稳定、良好的安全性

安装Apache

源码包安装Apache(确保系统没有安装rpm包的Apache服务)

安装前准备

解压包apache软件包

解压插件apr和apr-util压缩包,并复制到apache源码目录下的srclib目录下,并去掉版本号

安装编译工具:gcc、gcc-c++、make、pcre-devel

1.配置

./configure--prefix=/usr/local/apache--enable-so

--enable-ewrite--enable-harset-list--enable-mods-shared=most--with-mpm=worker

(--enable-mods-shared=most动态编译为DSO模块

--with-mpm=worker配置apache以何种模式编译--prefix=/usr/local/apache2安装位置--enable-so支持动态加载模块--enable﹔ewrite支持URL重写--enable-charse-lite支持字符集)

2.编译

make

3.安装

makeinstall

Apache的安装目录和文件

服务目录:/usr/local/apache/(配置时指定的)

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

网页目录:/usr/local/apache/htdocs/

服务脚本:/usr/local/apache/bin/apchectl

执行程序:/usr/local/apache/bin/httpd

访问日志:/usr/local/apache/logs/access_log

错误日志:/usr/local/apache/logs/error_log

源码包安装apache服务后,为了更方便得管理,可以把程序脚本添加到默认搜索路径,即修改PATH变量,或者给程序脚本创建链接到PATH中存在的目录中。

修改PATH变量:PATH=$PATH:/usr/local/apache/bin

(此修改在重启系统后失效,可以写在/etc/profile等文件中)

创建链接:

ln‐s/usr/local/apache/bin/*/usr/local/bin

管理:apachectl{start|restart|stop}

也可以将apachectl拷贝到/etc/init.d/目录中,并添加为系统服务,通过service和chkconfig来管理。

cp/usr/local/apache/bin/apachectl/etc/init.d/httpd

编辑/etc/init.d/httpd

主配置文件中的常用全局配置项

ServerRoot:httpd服务的根目录

Listen:监听的端口号,默认为80

User和Group:运行httpd进程的用户和组身份

ServerAdmin:管理员邮箱

ServerName:网站服务器的域名(FQDN)

DocumentRoot:网页文档的根目录

DirectoryIndex:默认文档,多个以空格隔开

Include:include引入其他配置文件

PidFile:保存httpd进程PID号的文件

ErrorLog:错误日志文件的位置

CustomLog:访问日志文件的位置

LogLevel:记录日志的级别,默认为warn

Timeout:网络连接超时,默认为300秒

KeepAlive:是否保持连接,可选On或Off

MaxKeepAliveRequests:每次连接最多请求文件数

KeepAliveTimeout:保持连接状态时的超时时间

区域配置项:

<Directory/var/www>

OptionsFollowSymLinks控制选项,允许使用符号链接

AllowOverrideNone不允许隐含控制文件中覆盖配置

Orderdeny,allow访问控制类型

Denyfromall禁止任何人访问

Requireallgranted授权所有用户访问

</Directory>

Options:访问链接方式,有多种,例如OptionsIndexes表示允许以目录形式访问,即如果没有默认文档,就以目录形式直接访问此目录中的文件内容。

区域配置项针对某一个网页目录设置,以<Directory>开始,以</Directory>结尾,选项配置在中间,有点类似html的标签,在标签中指定网页目录,例如<Directory/var/www>,就是针对/var/www目录做的设置。

Require:要求授权用户才能访问,allgranted表示授权所有用户,alldenied则表示都不授权

Order:用来配置客户机的访问限制,控制选项有两种

allow,deny:拒绝所有未明确允许的客户机(白名单)

deny,allow:允许所有未明确拒绝的客户机(黑名单)通过Denyfrom来列出拒绝/允许的主机列表。可以是IP地址、IP网段、主机名、域名等,多个以空格隔开。使用“all”表示任意主机。

例如:(只允许192.168.1.0网段和192.168.2.9的主机访问)

Orderallow,deny

allowfrom192.168.1.0/24192.168.2.9

虚拟主机(一台主机上管理多个不同的网站)

虚拟主机和虚拟目录等区域性配置一般写在单独的配置文件中,然后在主配置文件中使用include引入,方便管理

(注:在主配置文件中的所有相对路径都是基于apache的根目录的,也就是/usr/local/apache)

虚拟主机的三种实现方式:基于IP、端口号、主机名

配置(httpd.conf)

虚拟主机的配置和区域配置一样,配置项写在在一对标签<VirtualHost></VirtualHost>中。

<VirtualHost192.168.1.1>

DocumentRoot/var/www/benet

ServerNamewww.ibm.com

</VirtualHost>

DocumentRoot:指定网站的根目录

ServerName:网站的域名

其它配置选项和全局配置中一样

l基于IP的虚拟主机

通过不同IP访问不同的网站

2基于不同端口虚拟主机

首先httpd服务要监听设定端口在主配置文件中通过

Listen选项设置

Listen8001

Listen8002

通过http://192.168.1.1:端口号进行访问

3基于域名的虚拟主机

通过域名进行访问

注:基于域名的虚拟主机需要DNS支持,且设置了域名虚拟主机,再通过IP进行访问时,访问的是第一个虚拟主机。

虚拟目录

通过Alias来定义

访问:http://域名/虚拟目录名

例如:http://www.benet.com/vdir

转载于:https://blog.51cto.com/huyongjun/1307122

搭建LAMP架构之Apache2.4.4安装及管理相关推荐

  1. 快速搭建LAMP架构

    快速搭建LAMP架构 1.安装apache 2.部署mysql 3.部署php结合apache 4.验证 5.部署一个论坛disuz 1.安装apache [root@localhost ~]# yu ...

  2. 基于Centos7.5源码编译搭建LAMP架构

    简介LAMP源码编译搭建LAMP架构 为什么要源码编译 一般来说,我们软件的安装方式有Yum(rpm),和源码编译两种方式,那么为什么我们需要源码编译安装一部分软件?选择源码编译安装软件有以下几个原因 ...

  3. 手动搭建lamp架构

    #lamp平台搭建: *环境说明: 系统平台 ip地址 需要安装的服务 centos7 192.168.110.128 httpd-2.4 mysql-5.7 php php-mysql 一.安装ht ...

  4. 【ubuntu】搭建lamp架构

    文章目录 一.准备工作 1.更新源 2.更新软件 3.防火墙UFW 二.安装apache2 1.安装apache包 2.网页浏览查看 三.安装mysql 1.安装mysql 2.查看mysql 3.设 ...

  5. 一步步教你搭建LAMP架构

    编译安装Apache服务 先关闭防火墙 [root@zcy1 ~]#systemctl stop firewalld [root@zcy1 ~]#systemctl disable firewalld ...

  6. 如何用两台虚拟机搭建LAMP架构访问qq农场

    一.准备事项: 1.准备两台干净的虚拟机,关闭防火墙,并已安装yum的base仓库和epel附加仓库,建议用阿里云仓库. Last login: Fri Aug 12 17:22:26 2022 [r ...

  7. LAMP源码编译安装及一键部署LAMP架构

    文章目录 一.什么是LAMP? 1.LAMP平台概述 2.构建LAMP平台顺序 3.编译安装的优点 4.各组件的主要作用 二.LAMP架构流向 三.编译安装Apache服务 1.先关闭防火墙 2.将软 ...

  8. LAMP架构概述+搭建论坛平台

    1.LAMP动态网站架构组成 lamp的全称是linux+apache+mysql+php apache 主要实现如下功能: 第一:处理 http 的请求.构建响应报文等自身服务: 第二:配置让 Ap ...

  9. ubuntu版php开发工具,Ubuntu 中搭建 LAMP 及 php 开发工具

    Ubuntu 中搭建 LAMP 及 php 开发工具 Step1. 安装 Apache 1.在 terminal 中输入一下命令并执行: sudo apt-get install apache2 2. ...

最新文章

  1. Matlab编程与数据类型 -- 函数M文件的组成
  2. python os 获取当前路径的绝对路径的上层目录_os 模块常用函数
  3. php 常用字符串函数
  4. iOS-CoreImage简单使用
  5. server2008 sql 账号只读权限_SQL Server 2008数据库创建用户只读权限的两种方式(转载)...
  6. 《恋上数据结构第1季》B树
  7. 两行命令实现 ubuntu 上自动更新 Vscode
  8. 互联网开发人员压力到底有多大?
  9. 探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页...
  10. 软件测试岗简历模板制作指南
  11. 微软win2008停止服务器,微软终止对windows server 2008 企业版和2008 R2的支持
  12. 计算机键盘有哪些作用,电脑键盘各个按键有哪些作用 电脑键盘各个按键作用介绍...
  13. 【原创】EXCEL数组公式(1)----数组公式和普通公式计算具体比较
  14. C/C++要点全掌握(二)——堆栈、指针
  15. 重磅 !微软官方出了免费 Python 视频教程
  16. java,go,python
  17. 此文记录了我从研二下学期到研三上学期的找工历程,包括百度、腾讯、网易、移动、电信、华为、中兴、IBM八家企业的面试总结和心得--转...
  18. 劲爆!开源芯片死结打开了?道翰天琼认知智能机器人平台API接口大脑为您揭秘
  19. Tableau 中国教育水平发展指标历史数据(六)识字率
  20. Oracle中scott数据库,浅析Oracle中sys、system和Scott用户下的数据库连接问题

热门文章

  1. Http网络传递参数中文乱码问题解决办法
  2. 开发环境搭建3:linux下tuxedo安装
  3. 如何批量修改公式的字体
  4. web前端开发常用的优化技巧汇总
  5. 三次样条插值算法C++实现
  6. python for IOS,支持iPhone
  7. 国产网游制作现状、差距及提高
  8. 28天打造专业红客(四)
  9. error: '[class name]' does not name a type
  10. 十大经典排序算法(动图演示)(转)