目录
开放源代码:这是 Apache 服务器的重要特性之一,也是其他特性的基础。Apache
服务程序由全世界的众多开发者共同维护,并且任何人都可以自由使用,这充分体
现了开源软件的精神。
跨平台应用:这个特性得益于 Apache 的源代码开放。Apache 服务器可以运行在
绝大多数软硬件平台上,所有 UNIX 操作系统都可以运行 Apache 服务器,甚至
Apache 服务器可以良好地运行在大多数 Windows 系统平台中。Apache 服务器的
跨平台特性使其具有被广泛应用的条件。
支持各种 Web 编程语言:Apache 服务器可支持的网页编程语言包括 Perl、PHP、
Python、Java 等,甚至微软的 ASP 技术也可以在 Apache 服务器中使用。支持各
种常用的 Web 编程语言使 Apache 具有更广泛的应用领域。
模块化设计:Apache 并没有将所有的功能集中在单一的服务程序内部,而是尽可
能地通过标准的模块实现专有的功能,这为 Apache 服务器带来了良好的扩展性。
其他软件开发商可以编写标准的模块程序,从而添加 Apache 本身并不具有的
其他功能。
运行非常稳定:Apache 服务器可用于构建具有大负载访问量的 Web 站点,很多知
名的企业网站都使用 Apache 作为 Web 服务软件。
良好的安全性:Apache 服务器具有相对较好的安全性,这是开源软件共同具有的
特性。并且,Apache 的维护团队会及时对已发现的漏洞提供修补程序,为 Apache
的所有使用者提供尽可能安全的服务器程序。
[root@node1 ~]# rpm -e httpd --nodeps
错误:未安装软件包 httpd
[root@node1 ~]# yum -y install apr-util-devel pcre-devel
[root@node1 ~]# tar zxf httpd-2.4.25.tar.gz -C /usr/src/
[root@node1 ~]# cd /usr/src/httpd-2.4.25/
[root@node1 httpd-2.4.25]#
[root@node1 httpd-2.4.25]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
完成配置以后,执行“make”命令进行编译,将源代码转换为可执行的程序;然后执行“make install”命令完成最后的安装过程;将编译完的 httpd 程序及相关目录、文件自动复制到预设的安装目录(由配置时的“--prefix”选项指定)。其中“make”的过程可能会需要较长的时间。?
[root@node1 httpd-2.4.25]# make && make install
[root@node1 ~]# ls /usr/local/httpd/
bin build cgi-bin conf error htdocs icons include logs man manual modules
[root@node1 ~]#
[root@node1 ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin
[root@node1 ~]# ls -l /usr/local/bin/httpd /usr/local/bin/apachectl
lrwxrwxrwx 1 root root 30 1月 2 10:57 /usr/local/bin/apachectl -> /usr/local/httpd/bin/apachectl
lrwxrwxrwx 1 root root 26 1月 2 10:57 /usr/local/bin/httpd -> /usr/local/httpd/bin/httpd
[root@node1 ~]#
[root@node1 ~]# httpd -v
Server version: Apache/2.4.25 (Unix)
Server built: Jan 2 2024 10:51:56
[root@node1 ~]#
[root@node1 ~]# cd /lib/systemd/system/
[root@node1 system]# vim httpd.service
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart= /usr/local/bin/apachectl $OPTIONS
ExecrReload= /bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
[root@node1 system]#
[root@node1 system]# systemctl enable httpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@node1 system]# systemctl is-enabled httpd.service
enabled
[root@node1 system]#
[root@node1 ~]# hostname www.kgc.com
[root@node1 ~]# vim /etc/hostname
www.kgc.com
[root@node1 ~]# vim /etc/hosts
173.17.17.11 www.kgc.com
[root@node1 ~]#
(1)配置httpd服务
[root@node1 ~]# vim /usr/local/httpd/conf/httpd.conf
ServerName www.kgc.com
[root@node1 ~]# /usr/local/httpd/bin/apachectl -t
Syntax OK
[root@node1 ~]#
(2)启动 httpd服务
[root@node1 ~]# systemctl start httpd.service
[root@node1 ~]# netstat -anpt | grep httpd
tcp6 0 0 :::80 :::* LISTEN 21864/httpd
[root@node1 ~]#
[root@node1 ~]# cat /usr/local/httpd/htdocs/index.html
<html><body><h1>It works!</h1></body></html>
[root@node1 ~]#
[root@www ~]# tail /usr/local/httpd/logs/access_log
192.168.103.1 - - [03/Jan/2024:10:11:28 +0800] "GET /favicon.ico HTTP/1.1" 404 209
192.168.103.1 - - [03/Jan/2024:10:11:28 +0800] "GET /favicon.ico HTTP/1.1" 404 209
192.168.103.1 - - [03/Jan/2024:10:11:28 +0800] "GET /favicon.ico HTTP/1.1" 404 209
192.168.103.1 - - [03/Jan/2024:10:12:17 +0800] "-" 408 -
192.168.103.1 - - [03/Jan/2024:10:13:37 +0800] "GET / HTTP/1.1" 200 45
192.168.103.1 - - [03/Jan/2024:10:13:37 +0800] "GET /favicon.ico HTTP/1.1" 404 209
192.168.103.1 - - [03/Jan/2024:10:13:38 +0800] "GET /favicon.ico HTTP/1.1" 404 209
192.168.103.1 - - [03/Jan/2024:10:13:38 +0800] "GET /favicon.ico HTTP/1.1" 404 209
192.168.103.1 - - [03/Jan/2024:10:13:39 +0800] "GET / HTTP/1.1" 304 -
192.168.103.1 - - [03/Jan/2024:10:14:28 +0800] "-" 408 -
[root@www ~]#
?