Linux(八)Apache服务器

一 简介

  1 www:world wide web 万维网

    http 协议: 超文本传输协议

    HTML语言: 超文本标识语言

  2 URL:统一资源定位 协议+域名:端口+网页文件名
    http://www.sina.com.cn:80/11/index.html

  3 搭建www的服务器的方法
    windows      IIS  +asp+SQLserver
         Internet Information server
    Linux    apache+mysql+php

二 安装
  1、lamp源码安装
    生产环境,技术要求高,复杂
  2、rpm包安装 yum安装
    httpd
    mysql
    mysql-server
    php
    php-devel
    php-mysql

三 相关文件

  apache配置文件
    源码包安装:/usr/lcoal/apache2/etc/httpd.conf
          /usr/local/apache2/etc/extra/*.conf

  rpm包安装:/etc/httpd/conf/httpd.conf

  默认网页保存位置:
    源码包:/usr/local/apache2/htdocs/
    rpm包安装:/var/www/html/

  日志保存位置
    源码包:/usr/local/apache2/logs/
    rpm包: /var/log/httpd/
    rpm包默认使用日志处理程序 /var下都会轮替 源码包才需要设置
  日志处理:
    1日志切割 apache自带日志里面自带日志切割
    2日志轮替 linux自带日志管理logrorate.conf
      加入/usr/local/apache2/logs/access_log{
          daily
          rotate 30
        }
      logrotate -f /etc/logrotate.conf

    所有日志都要进行日志轮替

四 配置文件

  vi /root/.bashrc
    alias sta=’/usr/local/apache2/bin/apachectl start’
    alias sto=’/usr/local/apache2/bin/apachectl stop’

  source /root/.bashrc

  注意:apache配置文件严格区分大小写

  1 针对主机环境的基本配置

    ServerRoot apache主目录
    Listen 监听端口
    LoadModule 加载的相关模块

      User
      Group 用户和组
      ServerAdmin 管理员邮箱
      ServerName 服务器名(没有域名解析时,使用临时解析。不开启)
      ErrorLog "logs/error_log 错误日志
      CustomLog "logs/access_log" common 正确访问日志
      DirectoryIndex index.html index.php 默认网页文件名,优先级顺序
      Include etc/extra/httpd-vhosts.conf 子配置文件中内容也会加载生效

  2 主页目录及权限

    DocumentRoot "/usr/local/apache2//htdocs"
  主页目录

    <Directory "/usr/local/apache2//htdocs">
      #Directory关键字定义目录权限

      Options Indexes FollowSymLinks
      #options
        None:没有任何额外权限
        All: 所有权限
        Indexes:浏览权限(当此目录下没有默认网页文件时,显示目录内容)
        FollowSymLinks:准许软连接到其他目录
      AllowOverride None
      #定义是否允许目录下.htaccess文件中的权限生效
        None:.htaccess中权限不生效
        All:文件中所有权限都生效
        AuthConfig:文件中,只有网页认证的权限生效。

      Require all granted 访问控制列表 403错误 404错误

#定义此目录的允许访问权限
例1:仅允许IP为192.168.1.1的主机访问
Require all denied
Require ip 192.168.1.1

例子2.仅允许192.168.1.0/24网络的主机访问
Require all denied
Require ip 192.168.1.0/24

例子3.禁止192.168.1.2的主机访问,其他的都允许访问,
<RequireAll>
Require all granted
Require not ip 192.168.1.2
</RequireAll>

例子4.允许所有访问,
Require all granted

例子5.拒绝所有访问,
Require all denied

  3 目录别名 用途 扩展网站目录,增加服务器,使用二级域名,使用目录别名
      子配置文件名 etc/extra/httpd-autoindex.conf

          Alias /icons/   "/usr/local/apache2//icons/"
         apache以为在这里    实际目录位置
    定义别名    /icons/----
      http://192.168.1.253/icons/

      <Directory "/usr/local/apache2//icons">
        Options Indexes MultiViews
        AllowOverride None
        Require all granted
      </Directory>

  4 用户认证
  限制特定目录,只有指定用户可以访问。

    1) 建立需要保护的目录

       使用别名,在系统位置建立目录,然后保护

       mkdir -p /share/soft

    2)修改配置文件,允许权限文件生效
      vi /usr/local/apache2/etc/httpd.conf
      Alias /soft/ "/share/soft/"

      <Directory "/share/soft">
        Options Indexes
        AllowOverride All          #开启权限认证文件.htaccess
        Require all granted
      </Directory>

    重启apache

    3)在指定目录建立权限文件
    cd /share/soft

    vi .htaccess #不区分大小写
      AuthName "50 docs"          #提示信息
      AuthType basic              #加密类型
      AuthUserFile /share/apache.passwd    #密码文件,文件名自定义。
      require valid-user            #允许密码文件中所有用户访问

  4)建立密码文件,加入允许访问的用户。用户和系统用户无关
    /usr/local/apache2/bin/htpasswd -c /share/apache.passwd test1
      -c 建立密码文件,只有添加第一个用户时,才能-c
    /usr/local/apache2/bin/htpasswd -m /share/apache.passwd test2
      -m 再添加更多用户时

5 虚拟主机

1)分类
  基于IP的虚拟主机: 一台服务器,多个IP,搭建多个网站
  基于端口的虚拟主机: 一台服务器,一个ip,搭建多个网站,每个网络使用不同端口访问
  基于名字的虚拟主机: 一台服务器,一个ip,搭建多个网站,每个网站使用不同域名访问

2)步骤:
  ① 解析试验域名
    www.sina.com
    www.sohu.com
  C:\WINDOWS\system32\drivers\etc\hosts      windows
  /etc/hosts                          Linux

  ② 规划网站主目录
      /share/sina--------------www.sina.com
      /share/sohu ------------ www.sohu.com

  ③ 修改配置文件
    vi /usr/local/apache2/etc/httpd.conf
    Include etc//extra/httpd-vhosts.conf
    #打开虚拟主机配置文件
    vi /usr/local/apache2/etc/extra/httpd-vhosts.conf

<Directory "/usr/local/apache2/htdocs/sina">
  Options Indexes
  AllowOverride None
  Require all granted
</Directory>

<Directory "/usr/local/apache2/htdocs/sohu">
  Options Indexes
  AllowOverride None
  Require all granted
</Directory>

<VirtualHost 192.168.150.253>
#注意,只能写ip
ServerAdmin [email protected]
#管理员邮箱
DocumentRoot "/usr/local/apache2/htdocs/sina"
#网站主目录
ServerName www.sina.com
#完整域名
ErrorLog "logs/sina-error_log"
#错误日志
CustomLog "logs/sina-access_log" common
#访问日志
</VirtualHost>

<VirtualHost 192.168.150.253>
ServerAdmin [email protected]
DocumentRoot "/usr/local/apache2/htdocs/sohu"
ServerName www.sohu.com
ErrorLog "logs/sohu.com-error_log"
CustomLog "logs/sohu.com-access_log" common
</VirtualHost>

6 rewrite 重写功能 URL
在URL中输入一个地址,会自动跳转为另一个

  1)域名跳转 www.sina.com ------> www.sohu.com

    开启虚拟主机,并正常访问

    [[email protected] ~]# vi /usr/local/apache2/etc/httpd.conf
    LoadModule rewrite_module modules/mod_rewrite.so
    #打开重写模块,记得重启apache

      修改配置文件,使sina目录的.htaccess文件生效

      [[email protected] etc]# vi extra/httpd-vhosts.conf

<Directory "/usr/local/apache2/htdocs/sina">
  Options Indexes FollowSymLinks
  AllowOverride All
  Require all granted
</Directory>

  vi /usr/local/apache2/htdocs/sina/.htaccess
    RewriteEngine on                #开启rewrite功能    
    RewriteCond %{HTTP_HOST} www.sina.com  #把以www.sina.com 开头的内容赋值给HTTP_HOST变量
    RewriteRule .* http://www.sohu.com      #.* 输入任何地址,都跳转到http://www.sohu.com

  2)网页文件跳转
    vi /usr/local/apache2/htdocs/sina/.htaccess
    RewriteEngine on
    RewriteRule index(\d+).html index.php?id=$1
    # 输入index(数值).html时,跳转到index.php文件,同时把数值当成变量传入index.php

7 常用子配置文件

  httpd-autoindex.conf apache系统别名

  httpd-default.conf 线程控制 *

  httpd-info.conf 状态统计网页

  httpd-languages.conf 语言编码 *

  httpd-manual.conf apache帮助文档

  httpd-mpm.conf 最大连接数 *

  httpd-multilang-errordoc.conf 错页面 *

  httpd-ssl.conf ssl安全套接字访问

  httpd-userdir.conf 用户主目录配置

  httpd-vhosts.conf 虚拟主机

时间: 2024-10-06 01:57:10

Linux(八)Apache服务器的相关文章

Linux下Apache服务器并发优化

 Linux/UnixLinux系统下Apache 并发数的优化 Apache Http服务器采用prefork或者是worker两种并发控制模式. preforkMPM 使用多个子进程,每个子进程只有一个线程.每个进程在某个确定的时间只能维持一个连接.在大多数平台 上,PreforkMPM在效率上要比Worker MPM要高,但是内存使用大得多.prefork的无线程设计在某些情况下将比worker更有优势:它可以使用那些没有处理好线程安全的第三方模块,并 且对于那些线程调试困难的平台而言,它

linux下apache服务器

apacheWEB服务器 就是用来发布网站的prefork模式和worker模式 prefork 使用多个子进程,每个子进程有一个线程,每个进程在某个特定时间内只能维持一个连接worker 使用多个子进程,每个子进程有多个线程,每个线程在某个特定时间内只能维持一个连接小网站用nginx 大网站用apache安装 启动/etc/httpd/ start ps -ef |grep httpnetstat -ntl |grep 80然后访问主机网页 看有没有测试页 发布网页的目录在/var/www/h

linux下apache服务器的安装、启动、查看

一.apache的启动 apahce启动命令:/你的安装目录/apachectl start apaceh启动 apache停止命令/你的安装目录/apachectl stop   停止 apache重新启动命令:/你的安装目录/apachectl restart 重启 三.查看 netstat -nltup |grep httpd 查看本机上是否启动成功apache

linux 下apache搭建和虚拟主机的配置

apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一. Linux 下apache服务器的搭建 安装并更新apache yum install httpd 启动服务 默认情况下 apache在/var/www/html存放web页面 在该目录下新建一个index.html网页 编辑html文件 此时在客户机浏览器输入服务器地址,简单的搭建完成!

Linux下安装配置Apache服务器

Linux下安装配置Apache服务器 1. 安装Apache [[email protected] ~]# yum –y install httpd 2. 启动Apache [[email protected] ~]# systemctl start httpd 3. 查看进程 [[email protected] ~]# systemctl status httpd httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib

linux 搭建https 服务器 (apache)

一.  安装准备 1.    安装Openssl 要使Apache支持SSL,需要首先安装Openssl支持.这里使用的是openssl-0.9.8k.tar.gz 下载Openssl:http://www.openssl.org/source/ tar -zxf openssl-0.9.8k.tar.gz    //解压安装包 cd openssl-0.9.8k                 //进入已经解压的安装包 ./config                          //配

Linux下搭建Apache服务器(完整版)

Linux下搭建Apache服务器(完整版) 什么是Apache? Apache Licence是著名的非盈利开源组织Apache采用的协议.该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件).需要满足的条件也和BSD类似 Apache主要特点 1.开放源代码.跨平台应用 2.支持多种网页编程语言 3.模块化设计 .运行稳定.良好的安全性 Apache软件版本 1.X  1.目前最高版本是1.3,运行稳定  2.向下兼容性较好,但缺乏一些较新

Linux中如何安装Apache服务器

由于学习的需要,所有手动安装了一下Apache源码包,安装过程中的问题千奇百怪,但是如果弄清楚了问题出在哪里,那么也不是太难.如果有学习者出现安装中的问题,可仔细阅读该教程. 首先下载httpd软件包(下载地址http://httpd.apache.org/download.cgi#apache24). 由于本人是在虚拟机中安装的CentOs7.0,所以我们还需要下载一个软件用来将下载在Windows中的包文件放置在Linux中.(下载地址:http://winscp.net/eng/docs/

在Linux系统中如何设置APACHE服务器里的后台页面只允许某个IP地址访问

补充资料 本网络中使用LINUX服务器,web服务器是由APACHE搭建,IP地址为192.168.1.5,后台页面为/admin/login.jsp . 如何设置后台页面LOGIN.JSP只允许192.168.1.10访问.而前台页面所有人都可以访问?请回答的详细点,比如在APACHE的哪个部分添加怎样的字段. 谢谢 我记得论坛有帖子说怎么设置访问权限的.搜索下.........  以下供参考,比较忙没有时间整理....... 1.修改http.conf 假设你想控制权限的目录的不同访问权限,