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

        在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.mzph.cn/news/207580.shtml

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

相关文章

Launcher3 一键改变Icon Shape 原理浅析

Launcher3 一键改变Icon Shape 原理浅析 在Android O Launcher3 Google 团队增加了一个新特性&#xff0c;可以在设置里面更改 桌面Icon 形状&#xff0c;分别可以改为系统默认、方形、方圆形、圆形、泪珠形。 在Android P Launcher3 Google团队继续保持这一神奇特性&#xff0…

离高薪测试你可能只差这个理解:python 内存管理机制

近期有小伙伴跟我反馈 &#xff0c;面试有遇到面试官问 python 内存管理机制相关的问题&#xff0c;因为之前没有特地的去了解过&#xff0c;所以不知道怎么回答。 所以今天就专门写了这篇 python 内存管理机制的文章&#xff0c;来给大家系统的梳理一下内存管理机制的知识点&…

1.查看表的基本结构,表的详细结构和修改表名

查看表的基本结构,表的详细结构和修改表名 1.查看数据表基本结构 有强迫症或健忘症的小伙伴们在建好数据库和表以后&#xff0c;通常会怀疑自己刚才是不是敲错了&#xff0c;怎么办&#xff1f;如果不是使用图形界面是不是就没法查看啦&#xff1f; 不存在的&#xff0c;这就…

大创项目推荐 医学大数据分析 - 心血管疾病分析

文章目录 1 前言1 课题背景2 数据处理3 数据可视化4 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于大数据的心血管疾病分析 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f9…

给Flask加上百度翻译功能,这样可以用中文进行搜索了

上一篇博客&#xff1a;Flask之手搓bootstrap翻页-CSDN博客 里&#xff0c;对 OMDb API - The Open Movie Database 的搜索&#xff0c;只能使用英文&#xff0c;才能搜索出电影信息&#xff0c;如果使用中文&#xff0c;是搜索不到结果的。这里就需要使用翻译&#xff0c;把中…

多功能智能遥测终端机 5G/4G+北斗多信道 视频采集传输

计讯物联多功能智能遥测终端机&#xff0c;全网通5G/4G无线通信、弱信号地区北斗通信&#xff0c;多信道自动切换保障通信联通&#xff0c;丰富网络接口及行业应用接口&#xff0c;支持水利、环保、工业传感器、控制终端、智能终端接入&#xff0c;模拟量/数字量/信号量采集&am…

深入理解 Python 中的 eval 函数

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com eval 是 Python 中一个强大而灵活的函数&#xff0c;它允许将字符串作为代码执行。然而&#xff0c;由于其潜在的安全风险&#xff0c;使用时需要谨慎。本文将深入探讨 eval 函数的各个方面&#xff0c;包括基本…

delphi/python 实现小红书xhs用户作品列表和图片/视频无水印解析

技术学习&#xff0c;请勿用与非法用途&#xff01;&#xff01;&#xff01; 成品图用户作品列表接口 /api/sns/web/v1/user_posted?num30&cursor&user_id642bf0850000000011022c4e&image_scenes http Get方式&#xff0c;请求头需要带上x-s x-t签名验证笔记明细…

直流负载箱的技术发展趋势和创新有哪些?

直流负载箱广泛应用于电子、通信、航空航天等领域&#xff0c;随着科技的不断发展&#xff0c;直流负载箱也在不断创新和改进&#xff0c;直流负载箱在负载电流和电压的测量方面要求高精度和高稳定性。未来的发展趋势是提高负载箱的测量精度和稳定性&#xff0c;以满足更高要求…

uniapp 使用 $emit和$on——$on中无法为data中的变量赋值

问题在于this的指向&#xff0c; 解决办法是使用变量保存$on&#xff0c;其次再为data中的值赋值 以下是具体代码&#xff1a; 1、html代码&#xff1a; <view class"form_picker" click"selePositionFun()"><view class""><inp…

Git

第1章 Git 概述 Git 是一个免费的、开源的分布式版本控制系统&#xff0c;可以快速高效地处理从小型到大型的各种项目。 Git 易于学习&#xff0c;占地面积小&#xff0c;性能极快。 它具有廉价的本地库&#xff0c;方便的暂存区域和多个工作流分支等特性。其性能优于 Subversi…

系统设计之数据库

为您的项目选择正确的数据库是一项复杂的任务。许多数据库选项都适合不同的用例&#xff0c;很快就会导致决策疲劳。 我们希望这份备忘单提供高级指导&#xff0c;以找到符合您项目需求的正确服务并避免潜在的陷阱。 注意&#xff1a;Google 关于其数据库用例的文档有限。尽管…

软件测试卷王的自述,我难道真的很卷?

前言 前段时间去面试了一个公司&#xff0c;成功拿到了offer&#xff0c;薪资也从12k涨到了18k&#xff0c;对于工作都还没两年的我来说&#xff0c;还是比较满意的&#xff0c;毕竟一些工作3、4年的可能还没我高。 我可能就是大家说的卷王&#xff0c;感觉自己年轻&#xff…

北邮22级信通院数电:Verilog-FPGA(12)第十二周实验(2)彩虹呼吸灯(bug已解决 更新至3.0)

北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章&#xff0c;请访问专栏&#xff1a; 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 目录 一.代码部分 1.1一些更新和讲解 1.2改正后的…

解密HubSpot CMS Hub:构建引人入胜的企业网站!

在数字化时代&#xff0c;网站是企业与客户互动的重要窗口。为了在竞争激烈的市场中脱颖而出&#xff0c;企业需要一个现代化、用户友好且高度可定制的网站。而HubSpot CMS Hub作为一款领先的内容管理系统&#xff0c;为企业提供了独特的优势&#xff0c;让网站建设变得更加轻松…

Private Set Intersection from Pseudorandom CorrelationGenerators 最快PSI!导览解读

目录 一、概述 二、相关介绍 三、性能对比 四、技术细节 1.KKRT 2.Pseudorandom Correlation Generators 3.A New sVOLE-Based BaRK-OPRF 4.BaRK-OPRF 五、总结 参考文献 一、概述 这篇文章的主要脉络和核心思想是探讨如何利用伪随机相关生成器&#xff08;PCG&#…

【AI】以大厂PaaS为例,看人工智能技术方案服务能力的方向(2/2)

目录 三、解决方案 3.1 人脸身份验证 3.2 图像审核&#xff08;暴恐、色情等&#xff09; 3.3 人脸会场签到 3.4 机器人视觉 3.5 视频审核 3.6 电商图文详情生成 3.7 智能客服 接上回&#xff1a; 【AI】以大厂PaaS为例&#xff0c;看人工智能技术方案服务能力的方向&…

麒麟系统进入救援模式或者是crtl D界面排查方法

如出现以下图片的情况可能需要修复磁盘&#xff1a; V10GFB-desktop&#xff1a; 开机后发现一致卡在此界面&#xff1a; 按esc键后有以下报错信息说明在/etc/fstab里面编写的外挂磁盘的命令有问题 解决方法如下&#xff1a;进入单用户模式对/etc/fstab进行修改&#xff1a; …

智能优化算法应用:基于侏儒猫鼬算法无线传感器网络(WSN)覆盖优化 - 附代码

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

天津大数据培训机构品牌 数据分析师的发展方向

大数据专业还是有一定难度的&#xff0c;毕竟大数据开发技术所包含的编程技术知识是比较杂且多的如果是计算机专业的学生或者自身有一定基础的人学&#xff0c;相对来说会比较容易&#xff0c;但对于零基础小伙伴学习来说&#xff0c;想要学习大数据&#xff0c;难度还是很高的…