Linux,Web网站服务(一)

 1.准备工作

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

[root@node01 ~]# rpm -e http --nodeps

 挂载光盘到/mnt目录

[root@node01 ~]# mount /dev/cdrom /mnt

 

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

[root@node01 ~]# rpm -ivh /mnt/Packages/apr-1.4.8-3.el7_4.1.x86_64.rpm

[root@node01 ~]# rpm -ivh /mnt/Packages/apr-devel-1.4.8-3.el7_4.1.x86_64.rpm

[root@node01 ~]# rpm -ivh /mnt/Packages/cyrus-sasl-devel-2.1.26-23.el7.x86_64.rpm

[root@node01 ~]# rpm -ivh /mnt/Packages/expat-devel-2.1.0-10.el7_3.x86_64.rpm

[root@node01 ~]# rpm -ivh /mnt/Packages/libdb-devel-5.3.21-24.el7.x86_64.rpm

[root@node01 ~]# rpm -ivh /mnt/Packages/openldap-devel-2.4.44-20.el7.x86_64.rpm

[root@node01 ~]# rpm -ivh /mnt/Packages/apr-util-devel-1.5.2-6.el7.x86_64.rpm

[root@node01 ~]# rpm -ivh /mnt/Packages/apr-util-1.5.2-6.el7.x86_64.rpm

[root@node01 ~]# rpm -ivh /mnt/Packages/pcre-devel-8.32-17.el7.x86_64.rpm

[root@node01 ~]# rpm -ivh /mnt/Packages/pcre-8.32-17.el7.x86_64.rpm

去ftp把 httpd-2.4.25.tar.gz 压缩包下载下来

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

 下载完成

2.源码编译及安装

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

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

[root@node01 ~]# tar zxf httpd-2.4.25.tar.gz -C /usr/src/
[root@node01 Packages]# cd /usr/src/httpd-2.4.25/

 解包完成

2)配置

    根据服务器的实际应用需要,可以灵活设置不同的定制选项,如指定安装路径、启用字符集支 持等,若要获知可用的各种配置选项及其含义,可以执行“./configure --help”命令,其中“./” 表示当前目录。 

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

 如果显示没有该目录就创建一个文件夹

[root@node01 httpd-2.4.25]# mkdir /usr/local/httpd 

3)编译及安装

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

[root@node01 httpd-2.4.25]# make

[root@node01 httpd-2.4.25]# make install

3.确认安装结果

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

[root@node01 ~]# ls /usr/local/httpd/

4.优化执行路径

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

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

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

[root@node01 ~]# httpd -v

5.添加httpd系统服务

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

1)使用chkconfig添加系统服务

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

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

#chkconfig: 35 85 21 //服务识别参数,在级别3、5中启动;启动和关闭//的顺序分别为85、21#description:Startup script for the Apache HTTP Server //服务描述信息
[root@node01 ~]# chkconfig --add httpd

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

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

[root@node01 ~]# vim /lib/systemd/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@node01 ~]# systemctl enable httpd.service //开机启动

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

成功执行上述操作以后,在日常维护过程中,既可以直接使用apachectl 工具来控制httpd服务, 也可以使用systemctl命令控制httpd 服务。例如,当执行“systemctl start httpd.service”命令时,等 同于执行“/usr/local/httpd/bin/apachectl start”命令,它们都用来启动httpd 服务器程序。

1.2.1 Web站点的部署过程 

1.确定网站名称、IP地址

    若要向hternet 中发布一个Web站点,需要申请一个合法的互联网P地址,并向DNS服务提供 商注册一个完整的网站名称,在企业内部网络中,这些信息可以自行设置,例如,Web主机的P地 址为192.168.4.123.网站名称为www.bdqn.com。

    当然,若要在客户机的浏览器中通过地址www.bdqn.com来访问此Web站点,还应该有可用的 DNS域名服务。例如,客户机所使用的DNS 服务器应能够将www.bdqn.com解析为IP地址 192.168.4.123.

   在Web服务器本机中,将IP地址设置为192.168.4.123,将主机名称设置为www.bdqn.com: 并修改/etc/hosts文件,添加相应的映射记录以提高本地解析速度。

2.配置并启动httpd服务

 1)配置httpd服务

     编辑httpd 服务的主配置文件httpd.conf,查找配置项“ServerName“.在附近添加一行内容 “ServiceName www.bdgn.com”,用于设置网站名称.关于httpd.conf文件中的更多配置项,将在1.2.2 小节中详细介绍。 

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

    修改httpd.conf文件的配置内容以后,建议使用带‘-t”选项的apachectl 命令对配置内容进行 语法检查(或使用“httpd -t”命令)。如果没有语法错误,将会显示“Syntax OK”的信息,否则需 要根据错误提示信息来修正配置。

[root@node01 ~]# apachectl -t

2)启动httpd服务

   使用脚本文件/usr/local/httpd/bin/apachectl,分别通过'start”‘stop‘restart选项进行控制, 可用来启动,终止,重启httpd服务。或者使用systemctl 命令控制/lib/systemd/system/httpd.service 配置文件,从而实现对httpd服务进行控制。正常启动httpd服务以后,默认将监听TCP协议的80 端口。

[root@node01 ~]# systemctl start httpd.service //启动httpd服务
[root@node01 ~]# netstat -anpt | grep httpd

3.部暑网页文档

    对于新编译安装的httpd 服务,网站根目录位于/usr/local/httpd/htdocs 下,需要将Web 站点的 网页文档复制或上传到此目录下。httpd服务器默认已提供了一个名为index.html的测试网页(可显 示字串“It works!”),作为访问网站时的默认首页。

[root@node01 ~]# cat /usr/local/httpd/htdocs/index.html

4.在客户机中访问Web站点

    在客户机的网页浏览器中,通过域名或IP地址访问httpd服务器,将可以看到Web站点的页面 内容。若使用的是httpd服务默认的首页,则页面会显示“Ilt works!”.如图中所示,表示httpd服 务已经正常运作。 

可通过修改配置文件来改变显示内容

[root@node01 ~]# vim /usr/local/httpd/htdocs/index.html

 

注:若想通过域名访问httpd服务器,需要在客户机上指定DNS服务地 址或在hosts文件中增加httpd服务器IP地址的解析记录,以达到地址解析的目的,才可以通过域名访问httpd服务器。

5.查看Web站点的访问情况

    httpd 服务器使用了两种类型的日志:访问日志和错误日志。这两种日志的文件名分别为 access_log和error_log.均位于/usr/local/httpd/logs目录下。

    通过查看访问日志文件access_log.可以及时了解Web站点的访问情况,访问日志中的每行对 应一条访问记录,记录了客户机的P地址,访问服务器的日期和时间,请求的网页对象等信息,例 如,当从客户机192.168.4.110访问Web站点以后,访问日志将会记录“192.168.4.110…… GET/HTTP/1.1……的消息。

[root@node01 ~]# tail /usr/local/httpd/logs/access_log

1.2.2 httpd.conf配置文件

   若要对Web站点进行更加具体,更加强大的配置,仅仅学会添加“ServerName”配置项显然是远远不够的,还需要进一步熟悉httpd.conf 配置文件,了解其他各种常见的配置项。

     主配置文件htpd.conf 由注释行、设置行两部分内容组成。与大多数Linux配置文件一样,注释 性的文字以“#”开始,包含了对相关配置内容进行的说明和解释,除了注释行和空行以外的内容 都是配置行,构成了Web服务的有效配置,根据配置所作用的范围不同,设置行又可分为全局配置. 区域配置。

1.全局配置项

    全局配置决定httpd服务器的全局运行参数,使用“关键字值的配置格式。例如,配置网站名 称时使用的“ServerName www.bdon.com”.其中“ServerName”为配置关键字,而“www.bdon.com” 为对应的值。

   每条全局配置都是一项独立的配置,不需要包含在其他任务区域中.以下列出了 htpd.conf 文件 中最常用的一些全局配置项。

在上述设置行中,各全局配置项的含义如下。

> ServerRoot:设置httpd服务器的根目录,该目录下包括了运行Web站点必需的子目录和文 件,默认情况下,httpd服务器的根目录为httpd的安装目录,因此本章中默认的根目录为 /us/local/httpd,与编译安装时所指定的httpd 安装目录相同,在httpd.conf 配置文件中 如果指定目录或文件位置时不使用绝对路径,则该目录或文件位置都认为是在服务器的根 目录下。

> Listen:设置 httpd 服务器监听的网络端口号,默认为80。

> User:设置运行 httpd进程时的用户身份,默认为daemon。

> Group:设置运行htpd进程时的组身份,默认为daemon。

> ServerAdmin:设置htpd服务器的管理员E-mail 地址,可以通过此E-mail 地址及时联系 Web 站点的管理员。

2.区域配置项

    除了全局配置项以外,httpd.conf文件中的大多数配置是包括在区域中的,区域配置使用一 对组合标记,限定了配置项的作用范围。例如,最常见的目录区域配置的形式如下所示。

在以上区域定义中,设置了一个根目录的区域配置,其中添加的访问控制相关配置只对根目录 有效,而不会作用于全局或其他目录区域,需要注意的是,这里所说的根目录是指设置httpd服务器 的根目录(ServerRoot 所设置的值),而不是CentOS系统的根目录。

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

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

相关文章

牛客网SQL训练2—SQL基础进阶

文章目录 一、基本查询二、数据过滤三:函数四:分组聚合五:子查询六:多表连接七:组合查询八:技能专项-case when使用九:多表连接-窗口函数十:技能专项-having子句十一:技能…

Web信息收集,互联网上的裸奔者

Web信息收集,互联网上的裸奔者 1.资产信息收集2.域名信息收集3.子域名收集4.单点初步信息收集网站指纹识别服务器类型(Linux/Windows)网站容器(Apache/Nginx/Tomcat/IIS)脚本类型(PHP/JSP/ASP/ASPX)数据库类型(MySQL/Oracle/Accees/SqlServer) 5.单点深入信息收集截…

Linux-----10、查找命令

# 查找命令 # 1、 命令查找 Linux下一切皆文件! which 命令 :找出命令的绝对路径 whereis 命令 :找出命令的路径以及文档手册信息 [rootheima ~]# which mkdir /usr/bin/mkdir[rootheima ~]# whereis mkdir mkdir: /usr/bin/mkdir /usr/…

一款计算机顶会爬取解析系统 paper info

一款计算机顶会爬取解析系统 paper info 背景项目实现的功能 技术方案架构设计项目使用的技术选型 使用方法本地项目部署使用ChatGPT等大模型创建一个ChatGPT助手使用阿里云 顶会数据量 百度网盘pfd文件json文件 Q&A github链接 :https://github.com/codebricki…

(反序列化)小记录

目录 [CISCN 2023 华北]ez_date 绕过MD5和sha1强相关绕过 date()绕过 payload [FSCTF 2023]ez_php [CISCN 2023 华北]ez_date <?php error_reporting(0); highlight_file(__FILE__); class date{public $a;public $b;public $file;public function __wakeup(){if(is_a…

【快刊】Springer旗下2区,仅1个月左右录用,国人极其友好!

计算机类 • 好刊解读 今天小编带来Springer旗下计算机领域好刊&#xff0c;如您有投稿需求&#xff0c;可作为重点关注&#xff01;后文有相关领域真实发表案例&#xff0c;供您投稿参考~ 01 期刊简介 ✅出版社&#xff1a;Springer ✅影响因子&#xff1a;4.0-5.0 ✅期刊…

docker小白第三天

docker小白第三天 docker为什么会比虚拟机快 1、docker有着比虚拟机更少的抽象层。不需要Hypervisor实现硬件资源虚拟化&#xff0c;运行在docker容器上的程序直接使用的都是实际物理机的硬件资源&#xff0c;因此在CPU、内存利用率上docker将会在效率上有明显优势。 2、dock…

Vray批量云渲染怎么设置?Vray批量云渲染教程

V-Ray&#xff0c;作为业界知名的渲染引擎&#xff0c;其内置的Batch Render&#xff08;批处理渲染&#xff09;功能让艺术家和设计者们能够高效率地处理多场景或多视角的渲染任务。通过这一功能&#xff0c;用户可以设置一系列渲染队列&#xff0c;无需监督即可自动完成整个渲…

【期末向】“我也曾霸榜各类NLP任务”-bert详解

预训练语言模型 预训练语言模型于 2015 年被首次提出&#xff08;Dai & Le,2015&#xff09;。首先我们要了解一下什么是预训练模型&#xff0c;举个例子&#xff0c;假设我们有大量的维基百科数据&#xff0c;那么我们可以用这部分巨大的数据来训练一个泛化能力很强的模型…

C语言编程经典100例——21至30例

目录 第 21 例 第 22 例 第 23 例 第 24 例 第 25 例 第 26 例 第 27 例 第 28 例 第 29 例 第 30 例 第 21 例 程序源码&#xff1a; /* 题目&#xff1a;猴子吃桃问题&#xff1a;猴子第一天摘下若干个桃子&#xff0c;当即吃了一半&#xff0c;还不过瘾&#xf…

渗透测试框架——Cobalt Strike

渗透测试框架——Cobalt Strike Cobalt Strike是一款非常成熟的渗透测试框架。Cobalt Strike在3.0版本之前是基于Metasploit框架工作的&#xff0c;可以使用Metasploit的漏洞库。从3.0版本开始&#xff0c;Cobalt Strike不再使用Metasploit的漏洞库&#xff0c;成为一个独立的…

JavaEE:多线程(1):线程是啥?怎么创建和操作?

进程的问题 本质上来说&#xff0c;进程可以解决并发编程的问题 但是有些情况下进程表现不尽如人意 1. 如果请求很多&#xff0c;需要频繁的创建和销毁进程的时候&#xff0c;此时使用多进程编程&#xff0c;系统开销就会很大 2. 一个进程刚刚启动的时候&#xff0c;需要把…

自动化测试Selenium node 配置

查看自己chrome浏览器的版本 下载chromedriver对应版本&#xff0c;下载当前版本中最大版本。 https://npm.taobao.org/mirrors/chromedriver 安装java jdk &#xff0c;版本至少1.7, 并配置jdk环境变量 以下2个文件放在同一个目录下 Cmd地址切换到第四点目录下&#xff0c;然…

Android开发的技术与开发流程

目录 引言 1. Android开发环境搭建 1. 安装Java Development Kit&#xff08;JDK&#xff09; 2. 安装Android Studio 3. 配置虚拟设备&#xff08;可选&#xff09; 4. 创建你的第一个Android项目 5. 连接实体设备&#xff08;可选&#xff09; 2. Android基础知识 1…

影响云渲染质量的几大要素是什么?影响云渲染质量的主要原因有?

对于3D渲染从业者而言&#xff0c;实现高效和高质量的渲染是一个常见的挑战。由于三维场景的复杂性&#xff0c;相关计算和处理通常需要大量的计算能力和存储&#xff0c;尤其是当面对着高分辨率图像、详细的动画或全局光照效果等要求时&#xff0c;渲染时间往往会大幅增加。针…

了解构造函数原型对象的语法特征,掌握 JavaScript 中面向对象编程的实现方式,基于面向对象编程思想实现 DOM 操作的封装。(第三天)

有什么不懂可以去看我前两天的笔记 https://blog.csdn.net/weixin_70007095/article/details/134905674 目录 有什么不懂可以去看我前两天的笔记 JavaScript 进阶 - 第3天笔记 编程思想 面向过程 面向对象 构造函数 原型对象 constructor 属性 对象原型 原型继承 原型链 JavaSc…

HarmonyOS学习 第2节 DevEco Studio工程介绍

工程配置页 界面布局介绍 代码编辑区、通知栏、工程目录区、预览区 工程目录区 便于理解&#xff0c;可以切换为 Ohos AppScope主要用于存放整个应用公共的信息与资源 entry默认的初始模块ets文件用于存放编写的代码文件configuration存放相应模块的配置文件resources对应模块…

leetcode 1466

leetcode 1466 使用dfs 遍历图结构 如图 node 4 -> node 0 -> node 1 因为节点数是n, 边长数量是n-1。所以如果是从0出发的路线&#xff0c;都需要修改&#xff0c;反之&#xff0c;如果是通向0的节点&#xff0c;例如节点4&#xff0c;则把节点4当作父节点的节点&…

保障网络安全:了解威胁检测和风险评分的重要性

在当今数字时代&#xff0c;网络安全问题变得愈发突出&#xff0c;而及时发现和迅速应对潜在威胁成为保障组织信息安全的首要任务。令人震惊的是&#xff0c;根据2023年的数据&#xff0c;平均而言&#xff0c;检测到一次网络入侵的时间竟然长达207天。这引起了对安全策略和技术…

威睿三合一电驱动系统斩获“2023汽车新供应链百强-金辑奖”

10月19日&#xff0c;2023第五届“金辑奖”颁奖盛典在上海圆满落幕。威睿公司“高效低噪碳化硅电驱动系统”在动力总成电气化领域脱颖而出&#xff0c;荣获“2023中国汽车新供应链百强”荣誉称号。 “金辑奖”由盖世发起&#xff0c;旨在“发现好公司推广好技术成就汽车人”&a…