Linux高级管理-搭建网站服务

news2024/11/27 14:36:45

        在Ihternet 网络环境中,Web 服务无疑是最为流行的应用系统。有了Web站点,企业可以充分 展示自己的产品,宣传企业形象。Web站点还为企业提供了与客户交流、电子商务交易平台等丰富 的网络应用。部署与维护Web 服务是运维工程师必须掌握的一个技能。 本章将介绍著名的Web网站服务—“Apache HTTP Server”的安装及httpd服务的基本配置。

       Apache HTTP Server是广泛应用的Web应用系统之一,要运用好它,必须先了解它的特点及其编译安装过程。

安装httpd服务器

        在配置 Apache 网站服务之前,需要正确安装好httpd服务器软件。httpd服务器的安装可以选用 RPM安装、源码编译安装这两种方式,前者相对比较简单、快速,但是在功能上存在一定的局限性。 在实际的生产环境中,使用源码编译安装的方式要更加普遍。

1.准备工作

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


把系统光盘先挂载到目录 /mnt/

[root@lgcllc ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载

Apache的配置及运行需要apr.pcre等软件包的支持,因此应从系统光盘镜像中预先安装这些软 件及其开发包(devel),以便提供相应的库和头文件,确保Apache的安装顺利完成。

[root@lgcllc ~]# rpm -ivh /mnt/Packages/apr-1.4.8-3.el7_4.1.x86_64.rpm 
[root@lgcllc ~]# rpm -ivh /mnt/Packages/apr-devel-1.4.8-3.el7_4.1.x86_64.rpm 
[root@lgcllc ~]# rpm -ivh /mnt/Packages/cyrus-sasl-devel-2.1.26-23.el7.x86_64.rpm
[root@lgcllc ~]# rpm -ivh /mnt/Packages/expat-devel-2.1.0-10.el7_3.x86_64.rpm 
[root@lgcllc ~]# rpm -ivh /mnt/Packages/libdb-devel-5.3.21-24.el7.x86_64.rpm 
[root@lgcllc ~]# rpm -ivh /mnt/Packages/openldap-devel-2.4.44-20.el7.x86_64.rpm 
[root@lgcllc ~]# rpm -ivh /mnt/Packages/apr-util-devel-1.5.2-6.el7.x86_64.rpm 
[root@lgcllc ~]# rpm -ivh /mnt/Packages/apr-util-1.5.2-6.el7.x86_64.rpm 
[root@lgcllc ~]# rpm -ivh /mnt/Packages/pcre-devel-8.32-17.el7.x86_64.rpm 
[root@lgcllc ~]# rpm -ivh /mnt/Packages/pcre-8.32-17.el7.x86_64.rpm 

2.源代码编译及安装

(1)解包

-连接FTP把httpd-2.4.25.tar.gz下载下来
[root@lgcllc ~]# wget --ftp-user=135 --ftp-password=123.123 ftp://172.16.37.13/软件下载/y2/y2c/httpd-2.4.25.tar.gz

-或者直接从主机鼠标移过来
[root@lgcllc ~]# rz -E
rz waiting to receive.


挂载到/usr/src目录
[root@lgcllc ~]# tar zvxf httpd-2.4.25.tar.gz -C /usr/src



(2)配置

根据服务器的实际应用需要,可以灵活设置不同的定制选项,如指定安装路径、启用字符集支 持等。

[root@lgcllc ~]# cd /usr/src/
[root@lgcllc src]# ls
debug  httpd-2.4.25  kernels
[root@lgcllc httpd-2.4.25]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-like --enable-cgi

上述配置命令中,各选项的含义如下。

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

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

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

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

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

(3)编译及安装

完成配置以后,执行“make"命令进行编译,将源代码转换为可执行的程序;然后执行"make install” 命令完成最后的安装过程;将编译完的httpd程序及相关目录、文件复制到预设的安装目录(由配置 时的“一-prefix”选项指定)。其中“make”的过程可能会需要较长的时间。

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

3.确认安装结果

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

[root@lgcllc ~]# ls /usr/loca/httpd/
bin    cgi-bin  error   icons    logs  manual
build  conf     htdocs  include  man   modules

在安装后的/usr/local/httpd目录下,主要子目录的用途如下.

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

/usr/local/httpd/cgi-bin:存放各种CGl程序文件。

/usr/local/httpd/logs:存放httpd服务的日志文件。

/usr/local/httpd/conf:存放httpd服务的各种配置文件,包括主配置文件httpd.conf、增强 配置子目录 extra 等。

/usr/local/httpd/htdocs:存放网页文档,包括默认首页文件 index.html等。 /usr/local/httpd/modules:存放httpd 服务的各种模块文件。

4.优化执行路由

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

[root@lgcllc httpd-2.4.25]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
[root@lgcllc httpd-2.4.25]# ls -l /usr/local/bin/httpd /usr/local/bin/apachectl 


这样,再执行相关命令时就不用输入冗长的路径了。例如,当执行“httpd-v”命令(用于查看 程序版本)时,即相当于执行“/usr/local/httpd/bin/httpd-v”命令。

[root@lgcllc httpd-2.4.25]# httpd -v
Server version: Apache/2.4.25 (Unix)
Server built:   Dec  9 2023 01:49:29

5.添加httpd系统服务

CentOS 7系统下,将编译安装的程序添加为系统服务有两种方式:①通过chkconfig命令添加为 系统服务,然后由systemctl进行管理;②在/lib/systemd/system/目录下,手动编写以.service结尾 的单元(unit)配置文件。

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

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

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

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

#description: Startup script for the Apache HTTP Server  //服务描述信息


                       
[root@lgcllc ~]# chkconfig --add httpd  //将httpd添加为系统服务

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

在/lib/systemd/system/目录下,建立一个以.service结尾的单元(unit)配置文件,用于控制由 systemd控制或监控的htpd服务。配置文件主要分为三个部分,控制单元[Unit]的定义,服务[Service] 的定义以及安装部分[Install],具体内容如下所示。

[root@lgcllc ~]# 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
 
[Intall]
WantedBy=graphical.target

配置文件的各配置项的作用如下所示

 > Description:设置服务单元描述字符串。

> After:设置服务单元的启动先后顺序。例如,httpd.ervice 单元文件中出现“After= network.target“表示启动时先启动network.target.后启动httpd.service,关闭时顺序相反。 与After字段相对应的还有一个Before字段,如htpd.service 单元文件中出现 “Before=network.target”表示启动时先启动httpd.service,后启动network.target.

>Type:设置服务进程的启动类型.需要注意的是,当启动类型为forking时需要同时设置PIDFile 配置项,以帮助systemd准确定位到服务的主进程,

>PIDFile:设置服务的守护进程的PID文件.

>ExecStart:设置服务启动时执行的命令。

>ExecReload:设置服务重新加载时执行的命令。

>KillMode:设置在单元停止时,杀死进程的方法。

>process表示仅杀死主进程。

>Restart:设置服务进程正常退出.异常退出、被杀死,超时的时候,是否重启该服务.on-failure 表示仅在进程异常退出时重启。

>RestartSec:设置在重启服务前暂停多长时间,默认值是100毫秒(100ms). > WantedBy:设置该服务所在的Target(运行目标)。

>WantedBy=graphical.target(图形界面多 用户系统)是指,httpd 所在的Target是graphical.target,这个设置非常重要,因执行systemctl enable httpd.service”命令时,httpd.service 的符号链接就会放在/etc/systemd/system 目录 下的graphical.terget.wants子目录中。在系统进入graphical,target 运行目标时,该目录下的 所有服务均开机启动。该配置项常用的Target 除了 graphical.target之外,还有multi-user.target (非图形界面多用户系统)。

[root@lgcllc ~]# systemctl enable httpd.service
[root@lgcllc ~]# systemctl is-enabled httpd.service
enabled

完成结果:

查看/usr/local/httpd/htdocs/index.html  可以看到网页的内容

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

客户机直接访问服务器IP就可以进入 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1296068.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【抽象策略模式】实践

前言 刚果商城&#xff0c;用户登录 Or 注册 发送邮箱验证码场景&#xff0c;使用抽象策略模式实现 什么是抽象策略模式 抽象策略模式是一种行为型设计模式&#xff0c;它允许定义一系列算法&#xff0c;将每个算法封装起来&#xff0c;并使它们可以互相替换。这使得客户端代码…

消息队列的基本概念以及作用

目录 一、消息队列概述1.1 什么是消息队列1.2 消息队列的作用和优势1.2.1 解耦1.2.2 异步1.2.3 削峰 1.3 引入消息队列带来的问题1.4 典型应用场景 参考资料 一、消息队列概述 1.1 什么是消息队列 消息队列(Message Queue, MQ)是一种用于在应用程序之间或不同组件之间进行异步…

maven学习笔记总结

目录 一、maven简介 二、GAVP属性 三、基于 IDLE 的 Maven 工程创建 1&#xff09;java标准工程&#xff08;Javase&#xff09;的创建 2&#xff09;java企业工程&#xff08;Javaee&#xff09;的创建 a&#xff09;手动创建 b&#xff09;插件方式创建&#xff08;fil…

模电笔记。。。。

模电 2.8 蜂鸣器 按照蜂鸣器驱动方式分为有源蜂鸣器和无源蜂鸣器 有源的有自己的震荡电路&#xff0c;无源的要写代码控制。 里面有个线圈&#xff0c;相当于电感&#xff0c;储能&#xff0c;通直隔交。 蜂鸣器的参数&#xff1a;额定电压&#xff0c;工作电压&#xff0…

vue3递归组件---树形组件

第一种方式&#xff0c;直接自己调用自己 Tree.vue <template><div class"tree"><div v-for"(item, index) in data" :key"item.name">每一层 {{ item.name }}<Tree v-if"item?.children?.length" :dataitem…

IT外包驻场加速企业IT创新

随着科技的快速发展&#xff0c;企业在追求创新和应用IT技术方面面临挑战。IT外包驻场服务成为许多企业的选择&#xff0c;助力企业实现快速、高效的IT项目实施和应用。 IT外包驻场服务的主要目标是帮助企业在IT创新方面取得突破。这种服务模式不仅仅是提供技术支持&#xff0c…

java 之 继承与多态的详细介绍

文章目录 类的继承1. 基本语法2. 继承的特点3. 方法的重写&#xff08;方法的覆盖&#xff09;super 关键字1. 调用父类的构造器2. 访问父类的成员变量3. 调用父类的方法4. 在构造器中调用父类方法封装性以及访问修饰符抽象方法1. 声明抽象类2. 抽象方法3. 继承抽象类4. 抽象类…

继承与派生(2)

1.派生类的权限&#xff1a;派生类的成员函数可以访问基类的public和protected类型的成员&#xff0c;而派生类的对象只能访问public类型的成员 2.创建顺序&#xff08;先创造后析构&#xff09;&#xff1a;基类函数&#xff0c;派生类函数&#xff0c;组合类函数 类的组合按…

12v转48v升压电源芯片:参数、特点及应用领域

12v转48v升压电源芯片&#xff1a;参数、特点及应用领域 随着电子设备的日益普及&#xff0c;电源芯片的需求也在不断增长。今天我们将介绍一款具有广泛应用前景的升压电源芯片——12v转48v升压电源芯片。该芯片具有宽输入电压范围、高效率、固定工作频率等特点&#xff0c;适…

ShardingSphere 使用distinct或者GROUP BY 报类强转的错

ShardingSphere 使用distinct或者GROUP BY 报错 distinct 使用sharding-sphere分表后 对于使用distinct 会报错 类型对象属性转化异常 &#xff0c;但是去掉DISTINCT后 成功运行 无报错 返回结果正常 但是没有了去重 SELECT DISTINCTlog.* FROMwork_log log,work_log_visi…

网络运维与网络安全 学习笔记2023.12.1

网络运维与网络安全 学习笔记 第三十二天 今日目标 ACL原理与类型、基本ACL配置、高级ACL配置 高级ACL之ICMP、高级ACL之telnet ACL原理与类型 项目背景 为了企业的业务安全&#xff0c;要求不同部门对服务器有不同的权限 PC1不能访问Server PC2允许访问Server 允许其他所…

【C语言】网络字节序和主机字节序

网络字节序和主机字节序是计算机中字节的两种排序方式&#xff0c;它们主要用于解决不同计算机之间数据通信的问题。 一、网络字节序 也被称为大端字节序&#xff0c;是一种标准的字节序。在网络通信中&#xff0c;如果两台主机的字节序不同&#xff0c;可能会导致数据解释的二…

使用命令行移除VSAN中故障磁盘

原创作者&#xff1a;运维工程师 谢晋 使用命令行移除VSAN中故障磁盘 前提故障盘移除 前提 客户有套VSAN环境内有一台服务器的磁盘组出现了一块故障的数据盘&#xff0c;但该盘已经处于完全掉线状态&#xff0c;无法进行正常移除。如下图&#xff1a; 如果遇到这种情况&am…

电子眼+无人机构建平安城市视频防控监控方案

电子眼&#xff08;也称为监控摄像机&#xff09;可以通过安装在城市的不同角落&#xff0c;实时监控城市的各个地方。它们可以用于监测交通违法行为、监控公共场所的安全以及实时监测特定区域的活动情况。通过电子眼的应用&#xff0c;可以帮助警方及时发现并响应各类安全事件…

Linux文件系统与基础IO

文章目录 1 C文件接口1.1 fopen1.2 fwrite、fread、rewind、fclose 2 文件系统调用2.1 open2.1.1 参数2&#xff1a;flags2.1.2 参数3&#xff1a;mode2.1.3 返回值——file descriptor 2.2 write2.3 read2.4 close 3 文件的本质3.1 struct file3.2 一个进程如何与多个文件相关…

倒计时模块复习

经典回顾倒计时 倒计时的基本布局介绍。 一个内容区域和一个输入区域&#xff0c;内容区域进行划分 直接使用flex布局会更快一点。 js代码 我们利用一下模块化思想&#xff0c;直接把获得时间这个功能写成一个函数。方便后续的调用 function getTime() {const date new Date…

使用pytorch查看中间层特征矩阵以及卷积核参数

这篇是我对哔哩哔哩up主 霹雳吧啦Wz 的视频的文字版学习笔记 感谢他对知识的分享 1和4是之前讲过的alexnet和resnet模型 2是分析中间层特征矩阵的脚本 3是查看卷积核参数的脚本 1设置预处理方法 和图像训练的时候用的预处理方法保持一致 2实例化模型 3载入之前的模型参数 4载入…

智能优化算法应用:基于驾驶训练算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于驾驶训练算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于驾驶训练算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.驾驶训练算法4.实验参数设定5.算法结果6.参考…

带大家做一个,易上手的家常辣子鸡

先从冰箱拿出鸡肉解冻 拿小半根葱 去掉最外面一层皮 切成小段 最备好 花椒 干辣椒 准备四五个大料 起锅烧油 这道菜需要放其他菜两到三倍的油 油温上来之后 放入干辣椒和花椒进行翻炒 等它们都烧黑之后捞出来 这样 辣味就留在油里面了 然后 倒入鸡肉 葱段 大料 然后 倒…

从0到1,手把手带你开发截图工具ScreenCap------001实现基本的截图功能

ScreenCap---Version&#xff1a;001 说明 从0到1&#xff0c;手把手带你开发windows端的截屏软件ScreenCap 当前版本&#xff1a;ScreenCap---001 支持全屏截图 支持鼠标拖动截图区域 支持拖拽截图 支持保存全屏截图 支持另存截图到其他位置 GitHub 仓库master下的Scr…