昆山网站设计公司/云优化
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系统的根目录。
相关文章:

Linux,Web网站服务(一)
1.准备工作 为了避免发生端口冲突,程序冲突等现象,建议卸载使用RPM方式安装的httpd [rootnode01 ~]# rpm -e http --nodeps 挂载光盘到/mnt目录 [rootnode01 ~]# mount /dev/cdrom /mnt Apache的配置及运行需要apr.pcre等软件包的支持,因此…...

Monkey工具之fastbot-iOS实践
背景 目前移动端App上线后 crash 率比较高, 尤其在iOS端。我们需要一款Monkey工具测试App的稳定性,更早的发现crash问题并修复。 去年移动开发者大会上有参加 fastbot 的分享,所以很自然的就想到Fastbot工具。 Fastbot-iOS安装配置 准备工…...

我想当个程序员
1、为什么当初选择计算机行业 能从事这个行业,也和当时经济情况有关系。 初中开始感兴趣,大学软件工程专业。大四报的android的培训,后来进的对日外包,没想到签合同当天被辞,非技术原因,性格导致。后来回家…...

ACM32如何保护算法、协议不被破解或者修改
ACM32具有以下几种功能,可以保护算法、协议不被破解或者修改。 1.存储保护 RDP读保护 WRP写保护 PCROP 专有代码读保护 MPU存储区域权限控制 Secure User Memory存储区域加密 2.密码学算法引擎 AES HASH 随机数生成 …...

Android Studio(Flutter)常用快捷键
快捷键说明Ctrl Alt M抽取方法Ctrl Alt W抽取组件Alt Enter包裹组件Shift F6重命名Ctrl Alt L代码格式化Ctrl Alt O删除无用importCtrl X删除光标所在行Ctrl D复制一行代码Ctrl C复制Ctrl V粘贴Ctrl Z撤销Ctrl /注释一行代码Ctrl Shift /注释一段代码Ctrl S…...

CSS特效030:日蚀动画
CSS常用示例100专栏目录 本专栏记录的是经常使用的CSS示例与技巧,主要包含CSS布局,CSS特效,CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点,CSS特效主要是一些动画示例,CSS花边是描述了一些CSS…...

746.使用最小花费爬楼梯
给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯顶部的最低花费。 示例 1…...

【业务功能篇132】生产环境中出现oom问题,排查思路
1、使用dmesg命令查看系统日志 dmesg |grep -E ‘kill|oom|out of memory’,可以查看操作系统启动后的系统日志,这里就是查看跟内存溢出相关联的系统日志。 2、这时候,需要启动项目,使用ps命令查看进程 ps -aux|grep java命令查…...

如何将html网页免费转为excel?
一、直接复制。 直接复制是最简单有效、快捷的解决方案,操作方法如下: 1、用鼠标像平常复制文本一样,将整个网页表格选中。 2、点击右键,点击“复制”。 3、打开excel软件,鼠标点击任意单元格。 4、点击右键&#…...

手撕分布式缓存---HTTP Server搭建
经过了前两个章节的学习,分布式缓存的存储与新增我们已经实现了,并且对其做了高可用处理。本章节我们剥离和缓存强相关的逻辑,开始搭建一个HTTP服务器,毕竟缓存数据库搭建完之后别人没法访问也是没有用处的。这一章节我们重点学习…...

2. PyTorch——Tensor和Numpy
2.1Tensor和Numpy Tensor和Numpy数组之间具有很高的相似性,彼此之间的互操作也非常简单高效。需要注意的是,Numpy和Tensor共享内存。由于Numpy历史悠久,支持丰富的操作,所以当遇到Tensor不支持的操作时,可先转成Numpy…...

C#随笔 | List.Sort()使用小计
1、使用List.Sort()对基本数值类型数据进行排序 案例:对存放int数据的List进行排序 其实C#中的List的Sort函数中的比较函数CompareTo有三种结果 1, -1 ,0分别代表大,小,相等。默认List的排序是升序排序。 举个例子:在比较函数Co…...

【WebRTC】用WebRTC做即时视频聊天应用
【配套项目源码】 打开即用,设置一个免费的Agora账户就可以实现视频电话。非常好的WebRTC学习和应用项目。 用VSCode打开即可。 https://download.csdn.net/download/weixin_41697242/88630069 【什么是WebRTC?】 WebRTC是一套基于JS的API,能够建立端对端的直接通信,实…...

GPT-4.5 要来了!谷歌大模型 Gemini 确实给够压力
GPT-4 还没用明白,GPT-4.5 就要发布了。 最近,OpenAI 泄露了 GPT-4.5 的发布页面,除了进一步增强复杂推理和跨模态理解,GPT-4.5 增加了一个更加强大的功能——3D。 3D 功能的进一步支持,也就意味着多模态最后一块版图…...

美易官方:加密资产将破坏金融稳定,无法取消就要加强监管
在近日的一次公开演讲中,国际货币基金组织(IMF)总裁格奥尔基耶娃表示,如果世界各国大量采用加密资产,将会对金融稳定造成破坏,并且无法取消这种破坏,因此需要加强对加密资产的监管。我们的目标是…...

一文读懂Java中的设计模式——适配器模式,对于兼容不同系统特别适用!
适配器模式概念 适配器(变压器)模式:这种模式的核心是当你想实现一个接口但又不想实现所有接口方法,只想去实现一部分方法时,就用默认的适配器模式,他的方法是在接口和具体实现类中添加一个抽象类…...

2023年国内外评分前十的项目管理软件推荐
1、进度猫 作为国产项目进度管理软件新秀,是一款以甘特图为向导的轻量级可视化在线项目管理工具 通过甘特图/思维导图为核心进行项目管理计划,使项目经理能够计划、可视化目标和里程碑、设置任务和到期日期。 甘特图进行有序的项目规划,及…...

3.electron之vue3.0的桌面应用程序
如果可以实现记得点赞分享,谢谢老铁~ Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 Electron 将 Chromium 和 Node.js 嵌入到了一个二进制文件中,因此它允许你仅需一个代码仓库,就可以撰写支持 Windows、…...

数字图像处理(实践篇)二十二 使用opencv进行人脸、眼睛、嘴的检测
目录 1 xml文件 2 涉及的函数 3 实践 使用opencv进行人脸、眼睛、嘴的检测。 1 xml文件 方法① 下载 地址:https://github.com/opencv/opencv/tree/master/data/haarcascades 点击haarcascade_frontalface_default.xml文件 对着Raw右键,选择“链接另存为”,选择代码所…...

旺店通·企业奇门对接打通金蝶云星空查询仓库接口与仓库新增接口
旺店通企业奇门对接打通金蝶云星空查询仓库接口与仓库新增接口 接通系统:旺店通企业奇门 旺店通是北京掌上先机网络科技有限公司旗下品牌,国内的零售云服务提供商,基于云计算SaaS服务模式,以体系化解决方案,助力零售企…...

PostgreSQL获取以前的时间
要在 PostgreSQL 中获取前10秒的数据,可以使用以下查询语句: SELECT * FROM your_table WHERE timestamp_column > now() - interval 10 seconds;要获取前 10 分钟的数据,可以使用以下查询语句: SELECT * FROM your_tabl…...

逆向获取某音乐软件的加密(js逆向)
本文仅用于技术交流,不得以危害或者是侵犯他人利益为目的使用文中介绍的代码模块,若有侵权请联系作者更改。 老套路,打开开发者工具,直接开始找到需要的数据位置,然后观察参数,请求头,cookie是…...

C语言—每日选择题—Day42
第一题 1. 下面程序输出的结果是() #include <stdio.h> int main () {int x;x printf("I See, Sea in C");printf("x%d" , x); } A:2 B:随机值 C:都不是 D:15 答案及解析 D p…...

jsp文件引用的css修改后刷新不生效问题
问题 在对 JavaWeb 项目修改的过程中,发现修改了 jsp 文件引入的 css 文件的代码后页面的样式没有更新的问题。 原因 导致这个问题的原因可能是因为浏览器缓存的问题。 解决方法 下面介绍两种解决方法,供大家参考: 1、给 link 标签的 c…...

SpringBoot运维中的高级配置
🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 ps:点赞👍是免费的,却可以让写博客的作者开心好久好久😎 📚系列专栏:Java全栈,…...

Centos7下OpenLDAP安装
openldap server 安装配置 openldap server 安装 # yum 安装相关包 $ sudo yum -y install openldap openldap-servers openldap-devel compat-openldap openldap-clients# 复制一个默认配置到指定目录下,并授权,这一步一定要做,然后再启动服务,不然生产密码时会报错 # Op…...

2036开关门,1109开关门
一:2036开关门 1.1题目 1.2思路 1.每次都是房间号是服务员的倍数的时候做处理,所以外层(i)枚举服务员1~n,内层(j)枚举房间号1~n,当j % i0时,做处理 2.这个处理指的是&…...

最简单的pixel刷机和安装面具、lsposed
一 下载手机对应的系统 1,手机usb连接然后重启进入Fastboot模式:adb reboot bootloader2,找到你下载的系统,Windows 系统 直接运行 flash-all.bat上图 :左边就是安卓11和12的系统,右边是对应的手机型号 下…...

深度学习第5天:GAN生成对抗网络
☁️主页 Nowl 🔥专栏 《深度学习》 📑君子坐而论道,少年起而行之 文章目录 一、GAN1.基本思想2.用途3.模型架构 二、具体任务与代码1.任务介绍2.导入库函数3.生成器与判别器4.预处理5.模型训练6.图片生成7.不同训练轮次的结果对比 一…...

从零开始搭建企业管理系统(七):RBAC 之用户管理
RBAC 之用户管理 创建表(Entity)用户表角色表权限表用户角色表关系注解ManyToMany 角色权限表 接口开发UserControllerUserServiceUserServiceImplUserRepository 问题解决update 更新问题懒加载问题JSON 循环依赖问题 根据上一小结对表的设计࿰…...