目前世界主流的web服务器软件
apache: linux

  • 跨平台,windows,linux
  • 不同的机器平台运行

nginx: linux
Lighttpd: linux
lis: window

  • apache 支持多域名虚拟主机功能:
    • 多对一,不同的域名解析到同一个ip地址。liao.118.com和liaotest.118.com
  • 基于端口的多虚拟主机
    • www.liao.com:81
    • www.liao.com:82

linux安装apache

inux安装软件的方式

  • 去官网获取软件源代码,自由选择版本,获取源码后,进行源代码编译安装,扩展额外的功能,自定义安装路径,额外扩展功能
  • rpm包手动安装,不好用,需要自行解决软件依赖。
  • 配置yum源,使用yum自动化安装,解决依赖关系
  1. 1.配置好yum源,直接使用阿里云的
  2. https://developer.aliyun.com/mirror/
  3. curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
  4. wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
  5. 2.安装httpd(apache)
  6. yum install -y httpd
  7. 3.启动并设置开机自启
  8. systemctl restart httpd
  9. systemctl enable httpd
  10. systemctl status httpd
  11. 4.查看端口是否开启(80)
  12. netstat -ntlp
  13. 5.查看apache进程
  14. [root@apache171 ~]# ps -ef | grep httpd | grep -v "grep"
  15. root 2557 1 0 18:33 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
  16. apache 2558 2557 0 18:34 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
  17. apache 2559 2557 0 18:34 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
  18. apache 2560 2557 0 18:34 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
  19. apache 2561 2557 0 18:34 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
  20. apache 2562 2557 0 18:34 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
  21. apache 2563 2557 0 18:34 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
  22. apache 2564 2557 0 18:34 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
  23. apache 2565 2557 0 18:34 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND

apache配置文件详解

  1. rpm -ql httpd | grep ".conf"
  2. #最主要的是:/etc/httpd/conf
  3. grep -Ev "^[# ]|^$" /etc/httpd/conf/httpd.conf
  4. #去掉注释开头和空白
  5. ServerRoot "/etc/httpd"
  6. Listen 80 #监听端口
  7. Include conf.modules.d/*.conf
  8. #通过include语法,把其他目录中的配置文件包含进来,实现配置文件简洁化
  9. User apache #httpd用户
  10. Group apache #httpd用户组
  11. ServerAdmin root@localhost #管理员邮箱
  12. <Directory /> #针对 "/" 目录局部生效
  13. AllowOverride none
  14. Require all denied
  15. </Directory>
  16. DocumentRoot "/var/www/html" #资源目录
  17. <Directory "/var/www">
  18. </Directory>
  19. <Directory "/var/www/html">
  20. </Directory>
  21. <IfModule dir_module>
  22. </IfModule>
  23. <Files ".ht*">
  24. </Files>
  25. ErrorLog "logs/error_log" #错误日志
  26. LogLevel warn
  27. <IfModule log_config_module>
  28. </IfModule>
  29. <IfModule alias_module>
  30. </IfModule>
  31. <Directory "/var/www/cgi-bin">
  32. </Directory>
  33. <IfModule mime_module>
  34. </IfModule>
  35. AddDefaultCharset UTF-8 #字符格式
  36. <IfModule mime_magic_module>
  37. </IfModule>
  38. EnableSendfile on
  39. IncludeOptional conf.d/*.conf #设置子配置文件

apache配置文件学习

文件路径 文件作用
/etc/httpd/conf/httpd.conf apache主配置文件
/etc/httpd apache主配置目录
/etc/httpd/conf.d/*.conf apache子配置文件
/usr/sbin/httpd 二进制脚本
/var/log/httpd/ 日志路径access.log error.log
/var/www/html 默认站点资源目录
/usr/lib/systemd/system/httpd.service httpd服务脚本文件
/usr/lib64/httpd/modules/ httpd模块文件路径

apache常见参数解析

参数 解析
ServerRoot “/etc/httpd” 定义服务工作目录
ServerAdmin root@localhost 管理员邮箱地址
User apache 运行服务的用户信息
Group apache 允许服务的用户组
ServerName www.example.com:80 填写服务器域名
DocumentRoot “/var/www/html” 定义网站根目录

定义网站数据目录的权限
Listen 监听的IP地址和端口号
DirectoryIndex index.html 默认的首页页面文件
ErrorLog “logs/error_log” 定义错误日志位置
CustomLog “logs/access_log”combined 定义访问日志路径

apache多通道工作模式