Web网站服务(一)

1、安装httpd服务器。

1、准备工作。

为了避免发生端口冲突,程序冲突等现象,建议卸载使用RPM方式安装的httpd。

##检查是否安装了httpd
[root@localhost ~]# rpm -qa | grep "httpd"

##如果安装了使用下面命令卸载
[root@localhost ~]# rpm -e httpd --nodeps

        Apache的配置及允许需要apr、pcre等软件包的支持,因此应从系统光盘镜像中预先安装这些软件及开发包(devel)。

##将光盘挂载到/mnt/目录
[root@localhost ~]# mount /dev/cdrom /mnt/

##查看挂载状态
[root@localhost ~]# df -TH
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sda2      xfs        54G  5.1G   49G   10% /
devtmpfs       devtmpfs  494M     0  494M    0% /dev
tmpfs          tmpfs     510M     0  510M    0% /dev/shm
tmpfs          tmpfs     510M  8.8M  502M    2% /run
tmpfs          tmpfs     510M     0  510M    0% /sys/fs/cgroup
/dev/sda1      xfs       1.1G  171M  893M   17% /boot
tmpfs          tmpfs     102M   13k  102M    1% /run/user/42
tmpfs          tmpfs     102M     0  102M    0% /run/user/0
/dev/sr0       iso9660    11G   11G     0  100% /mnt

##切换到光盘镜像目录的"Packages"目录下
[root@localhost ~]# cd /mnt/Packages/

##安装软件包
[root@localhost Packages]rpm -ivh apr-1.4.8-3.el7_4.1.x86_64.rpm 
[root@localhost Packages]rpm -ivh apr-devel-1.4.8-3.el7_4.1.x86_64.rpm 
[root@localhost Packages]rpm -ivh cyrus-sasl-devel-2.1.26-23.el7.x86_64.rpm 
[root@localhost Packages]rpm -ivh expat-devel-2.1.0-10.el7_3.x86_64.rpm 
[root@localhost Packages]rpm -ivh libdb-devel-5.3.21-24.el7.x86_64.rpm 
[root@localhost Packages]rpm -ivh openldap-devel-2.4.44-20.el7.x86_64.rpm 
[root@localhost Packages]rpm -ivh apr-util-devel-1.5.2-6.el7.x86_64.rpm 
[root@localhost Packages]rpm -ivh apr-1.4.8-3.el7_4.1.x86_64.rpm 
[root@localhost Packages]rpm -ivh pcre-devel-8.32-17.el7.x86_64.rpm 
[root@localhost Packages]rpm -ivh pcre-8.32-17.el7.x86_64.rpm 

2、源码编译及安装。

 源码编译安装httpd服务的过程主要包含解包、配置、编译及安装

(1)解包

将下载获得的httpd源码包解压并释放到/usr/src目录下,且切换到展开后的源码目录中。

[root@localhost ~]# tar zxvf httpd-2.4.25.tar.gz -C /usr/src
[root@localhost ~]# cd /usr/src/httpd-2.4.25/

(2)配置

配置选项及其含义可以执行"./configure --help"命令,其中"./"表示当前目录。

[root@localhost httpd-2.4.25]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi

--prefix:指定将httpd服务程序安装到哪个目录下,如/usr/ local /httpd。

--enable-so:启用动态加载模块支持,使httpd 具备进步扩展功能的能力。

--enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。

--enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页。

--enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力。

(3)编译及安装

        完成配置以后,执行"make"命令进行编译,将源代码转换为可执行的程序,然后执行"make install"命令完成最后的安装过程。

[root@localhost httpd-2.4.25]# make
[root@localhost httpd-2.4.25]# make install

3、确认安装结果

        由于指定的安装目录为/usr/local/httpd,因此httpd服务的各种程序、模块、帮助文件等都将复制到此目录下。(蓝色为目录)

bin:存放httpd服务的各种执行程序文件,包括主程序httpd、服务控制工具apachectl等。
cgi-bin:存放各种CGI程序文件

logs:存放httpd服务的日志文件
conf:存放httpd 服务的各种配置文件,包括主配置文件 httpd , conf、增强配置子目录extra 等。
htdocs:存放网页文档,包括默认首页文件index,html等。

modules:存放httpd服务的各种模块文件
 

4、优化执行路径

         通过源码编译安装的httpd服务,程序路径并不在默认的搜索路径中,为了使该服务在使用时更加方便,可以为相关程序添加符号链接。

##创建软链接
[root@localhost httpd]# ln -s /usr/local/httpd/bin/* /usr/local/bin

##查看软链接
[root@localhost httpd]# ls -l /usr/local/bin/httpd /usr/local/bin/apachectl
lrwxrwxrwx 1 root root 30 12月  8 15:21 /usr/local/bin/apachectl -> /usr/local/httpd/bin/apachectl
lrwxrwxrwx 1 root root 26 12月  8 15:21 /usr/local/bin/httpd -> /usr/local/httpd/bin/httpd

这样,在执行相关命令时就不用输入冗长的路径了

[root@localhost httpd]# httpd -v
Server version: Apache/2.4.25 (Unix)
Server built:   Dec  8 2023 15:10:27

5、添加httpd系统服务。

CentOS 7系统下,将编译安装的程序添加为系统服务有两种方式:

通过chkconfig命令添加系统服务,然后由systemctl进行管理

在/lib/systemd/system/目录下,手动编写以".service"结尾的单元(unit)配置文件

(1)使用chkconfig添加系统服务

        若希望将httpd添加为系统服务,以便通过chkconfig进行管理,需要建立可控的服务脚本。例如,可将apachectl脚本复制为/etc/inti.d/httpd,并在文件开头添加识别配置,然后将其添加为标准的Linux系统服务。

[root@localhost ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@localhost ~]# vim /etc/init.d/httpd 

chkconfig:35 85 21  //服务识别参数,在级别3、5中启动;启动和关闭的顺序分别分85、21 

将httpd添加为系统服务        

[root@localhost ~]# chkconfig --add httpd

(2)建立[service].server配置文件

        在/lib/systemd/system/目录下,建立一个以".service"结尾的单元(unit)配置文件,用于控制由systemd控制或监控的httpd服务。配置文件主要分为三个部分,控制单元[unit]的定义、服务[Service]的定义、安装部分[install]

[root@localhost ~]# vim /lib/systemd/system/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
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=graphical.target

httpd.service文件编写完成后,执行命令设置httpd开机自启动

##配置开机自启动
[root@localhost ~]# systemctl enable httpd.service 
Created symlink from /etc/systemd/system/graphical.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

##查看自启动状态
[root@localhost ~]# systemctl is-enabled httpd.service 
enabled

成功执行后,既可以使用apachectl工具控制httpd服务,也可以使用systemctl命令控制httpd服务。执行"systemctl start httpd.service"等同于"/usr/local/httpd/bin/apachectl start" 

2、httpd服务器的基本配置

2.1、配置并启动httpd服务

(1)配置httpd服务

        编辑httpd服务的主配置文件httpd.conf,查找配置项"ServerName",在附近添加一行内容"ServiceName www.bdqn.com"。用于设置网站名称。

[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf 

        修改httpd.conf文件的配置内容后,使用"apachectl -t"对配置内容进行语法检查或使用"httpd -t"命令。

[root@localhost ~]# apachectl -t
Syntax OK

(2)启动httpd服务

正常启动httpd服务以后,默认将监听TCP协议的80端口

[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since 五 2023-12-08 16:13:51 CST; 6s ago

[root@localhost ~]# netstat -anpt | grep httpd
tcp6       0      0 :::80                   :::*                    LISTEN      30620/httpd  

2.2、部署网页文档

        对于新编译安装的httpd服务,网站根目录位于/usr/local/httpd/htdocs下,需要将网页文档复制或上传到此目录下。默认提供一个名为index.html的测试网页。

[root@localhost ~]# cat /usr/local/httpd/htdocs/index.html 
<html><body><h1>It works!</h1></body></html>

2.3、在客户机中访问Web站点

2.4、查看Web站点的访问情况

        httpd服务器使用了两种类型的日志:访问日志和错误日志。分别位于/usr/local/httpd/logs目录下。通过查看访问日志文件access_log可以及时了解Web站点的访问情况。

[root@localhost ~]# tail /usr/local/httpd/logs/access_log 
192.168.136.1 - - [08/Dec/2023:16:19:23 +0800] "GET / HTTP/1.1" 200 45
192.168.136.1 - - [08/Dec/2023:16:19:23 +0800] "GET /favicon.ico HTTP/1.1" 404 209
192.168.136.1 - - [08/Dec/2023:16:20:15 +0800] "-" 408 -
192.168.136.1 - - [08/Dec/2023:16:24:57 +0800] "-" 408 -
192.168.136.1 - - [08/Dec/2023:16:24:57 +0800] "-" 408 -
192.168.136.1 - - [08/Dec/2023:16:26:48 +0800] "GET / HTTP/1.1" 304 -
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值