(一)Web 网站服务之 Apache

一、Apache 的作用和特点

  1. 作用:Apache 是一款开源的网站服务器端软件,为网站的运行提供了稳定的基础。
  2. 特点
    • 开源免费:这使得任何人都可以免费使用和修改它。
    • 模块化设计:具有高度的灵活性,可以根据需求选择不同的模块进行安装。
    • 灵活性强:能够适应各种不同的网站需求。
    • 安全性强:尤其是在 2.x 版本中,支持 https 协议加密功能,保障网站数据的安全。
    • 跨平台:可以在不同的操作系统上运行。
    • 支持静态语言和动态语言:为网站的开发提供了更多的选择。

二、Apache 版本

  1. 1.x 版本:简称 1.0 版本,支持 http 协议,但不支持 https,安全性较差。
  2. 2.x 版本:简称 2.0 版本,支持 https 协议加密功能,提高了网站的安全性。

三、Apache 程序包类型

  1. rpm:稳定性强,但功能相对较少,更新速度也较慢。
  2. 源代码安装:功能多,安装灵活,可以根据用户的具体需求进行定制。

四、安装 Apache

  1. 挂载程序光盘解压源代码程序
    • 首先,使用命令[root@centos01 ~]# mount /dev/cdrom /mnt/挂载程序光盘。
    • 然后,使用命令[root@centos01 ~]# tar zxf /mnt/httpd-2.2.17.tar.gz -C /usr/src/解压源代码程序,并切换到源代码程序目录[root@centos01 ~]# cd /usr/src/httpd-2.2.17/
  2. 编译安装源代码程序
    • 配置源代码程序,使用命令[root@centos01 httpd-2.2.17]#./configure --prefix=/usr/local/httpd/ --enable-so --enable-rewrite --enable-charset-lite --enable-cgi,指定安装位置、动态加载模块、地址重写、支持更多字符编码以及支持脚本功能。
    • 编译安装源代码程序,使用命令[root@centos01 httpd-2.2.17]# make && make install
    • 查看安装目录是否创建,使用命令[root@centos01 httpd-2.2.17]# ls -ld /usr/local/httpd/
    • 优化命令系统,使其能够识别 apache 的服务管理命令,使用命令[root@centos01 ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
    • 生成服务控制文件并添加执行权限,使用命令[root@centos01 ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd[root@centos01 ~]# chmod +x /etc/init.d/httpd
    • 修改服务控制文件,使用命令[root@centos01 ~]# vim /etc/init.d/httpd,添加脚本管理服务、控制服务启动和关闭以及描述信息。
    • 添加系统服务,使用命令[root@centos01 ~]# chkconfig --add httpd[root@centos01 ~]# chkconfig --level 35 httpd on,设置字符和图形化开机自动启动。
    • 对主配置进行备份,使用命令[root@centos01 ~]# cp /usr/local/httpd/conf/httpd.conf /usr/local/httpd/conf/httpd.conf.bak
  3. apache 目录和文件
    • 常见目录
      • /usr/local/httpd/:安装 Apache 服务根目录。
      • /usr/local/httpd/bin/:可执行程序管理 apache 服务。
      • /usr/local/httpd/cgi-bin/:存储脚本。
      • /usr/local/httpd/conf/:Apache 配置文件目录。
      • /usr/local/httpd/logs/:存储 Apache 日志。
      • /usr/local/httpd/htdocs/:默认网站根目录。
    • 主配置文件
      • /usr/local/httpd/conf/httpd.conf:主配置文件。
      • /usr/local/httpd/conf/extra/httpd-vhosts.conf:虚拟主配置文件。
    • 主配置常见参数
      • ServerRoot:Apacha 安装的根目录。
      • Listen:监听的端口默认 80。
      • User:管理 apache 服务进程用户 daemon。
      • Group:管理 apache 服务进程组 daemon。
      • ServerAdmin:发生故障发送邮件。
      • ServerName:监听网站域名。
      • DocumentRoot:默认网站根目录位置。
      • <Directory "/usr/local/httpd//htdocs">:网站根目录区域配置。
      • ErrorLog:错误日志。
      • LogLevel:日志级别。
      • CustomLog:成功日志。
      • DirectoryIndex:网站主页。

五、配置 Apche 网站服务器

  1. 安装配置 DNS 服务器
    • 删除系统自带的 yum 仓库,使用命令[root@centos02 ~]# rm -rf /etc/yum.repos.d/CentOS-*
    • 使用 yum 安装 dns,使用命令[root@centos02 ~]# yum -y install bind bind-utils
    • 修改主配置文件,使用命令[root@centos02 ~]# vim /etc/named.conf,设置监听 DNS 服务器 IP 地址和端口以及区域数据存储位置,并定义域名 benet.com 的主 DNS 服务器和区域数据库文件。
    • 修改 DNS 区域配置文件,使用命令[root@centos02 ~]# vim /var/named/benet.com.zone,设置域名的 TTL、SOA、NS、A 记录等。
    • 启动服务并设置服务开机自动启动,使用命令[root@centos02 ~]# systemctl restart named[root@centos02 ~]# systemctl enable named
  2. 配置 Apache 服务器
    • 设置网站根目录,使用命令[root@centos01 ~]# mkdir /web[root@centos01 ~]# echo "www.benet.com" > /web/index.html
    • 修改主配置文件,使用命令[root@centos01 ~]# vim /usr/local/httpd/conf/httpd.conf,指定监听 IP 地址和端口、管理进程用户和组、故障发送电子邮件、监听域名和网站端口、指定网站根目录、设置区域配置以及网站主页等。
    • 检查主配置文件是否错误,使用命令[root@centos01 ~]# httpd -t
    • 检查版本信息,使用命令[root@centos01 ~]# httpd -v
    • 重启服务加载配置,使用命令[root@centos01 ~]# systemctl restart httpd
    • 查看日志动态变化,使用命令[root@centos01 ~]# tail -f /usr/local/httpd/logs/access_log

通过以上步骤,我们可以成功安装和配置 Apache 网站服务器,为网站的运行提供稳定、安全的服务。

相关推荐
OpenTiny社区9 分钟前
把 SearchBox 塞进项目,搜索转化率怒涨 400%?
前端·vue.js·github
编程猪猪侠38 分钟前
Tailwind CSS 自定义工具类与主题配置指南
前端·css
qhd吴飞42 分钟前
mybatis 差异更新法
java·前端·mybatis
YGY Webgis糕手之路1 小时前
OpenLayers 快速入门(九)Extent 介绍
前端·经验分享·笔记·vue·web
患得患失9491 小时前
【前端】【vueDevTools】使用 vueDevTools 插件并修改默认打开编辑器
前端·编辑器
ReturnTrue8681 小时前
Vue路由状态持久化方案,优雅实现记住表单历史搜索记录!
前端·vue.js
UncleKyrie1 小时前
一个浏览器插件帮你查看Figma设计稿代码图片和转码
前端
遂心_1 小时前
深入解析前后端分离中的 /api 设计:从路由到代理的完整指南
前端·javascript·api
你听得到111 小时前
Flutter - 手搓一个日历组件,集成单日选择、日期范围选择、国际化、农历和节气显示
前端·flutter·架构
风清云淡_A2 小时前
【REACT18.x】CRA+TS+ANTD5.X封装自定义的hooks复用业务功能
前端·react.js