(一)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 网站服务器,为网站的运行提供稳定、安全的服务。

相关推荐
学不会•18 分钟前
css数据不固定情况下,循环加不同背景颜色
前端·javascript·html
活宝小娜3 小时前
vue不刷新浏览器更新页面的方法
前端·javascript·vue.js
程序视点3 小时前
【Vue3新工具】Pinia.js:提升开发效率,更轻量、更高效的状态管理方案!
前端·javascript·vue.js·typescript·vue·ecmascript
coldriversnow3 小时前
在Vue中,vue document.onkeydown 无效
前端·javascript·vue.js
我开心就好o3 小时前
uniapp点左上角返回键, 重复来回跳转的问题 解决方案
前端·javascript·uni-app
开心工作室_kaic4 小时前
ssm161基于web的资源共享平台的共享与开发+jsp(论文+源码)_kaic
java·开发语言·前端
刚刚好ā4 小时前
js作用域超全介绍--全局作用域、局部作用、块级作用域
前端·javascript·vue.js·vue
沉默璇年5 小时前
react中useMemo的使用场景
前端·react.js·前端框架
yqcoder5 小时前
reactflow 中 useNodesState 模块作用
开发语言·前端·javascript
2401_882727575 小时前
BY组态-低代码web可视化组件
前端·后端·物联网·低代码·数学建模·前端框架