Linux——web网站服务(一)

一、安装httpd服务器Apache网站服务

1、准备工作

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

#使用命令检查是否下载了httpd
[root@server ~]# rpm -qa httpd
#如果有则使用
[root@server ~]# rpm -e httpd --nodeps 

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

#先将光盘挂载到mnt目录
[root@localhost ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载[root@localhost ~]# rpm -ivh /mnt/Packages/apr-1.4.8-3.el7_4.1.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/apr-devel-1.4.8-3.el7_4.1.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/cyrus-sasl-devel-2.1.26-23.el7.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/expat-devel-2.1.0-10.el7_3.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/libdb-devel-5.3.21-24.el7.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/openldap-devel-2.4.44-20.el7.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/apr-util-devel-1.5.2-6.el7.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/apr-util-1.5.2-6.el7.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/pcre-devel-8.32-17.el7.x86_64.rpm 
[root@localhost ~]# rpm -ivh /mnt/Packages/pcre-8.32-17.el7.x86_64.rpm 

2、源码编译及安装

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

#进入ftp获取httpd压缩包
[root@localhost ~]# wget --ftp-user=135 --ftp-password=123.123 ftp://172.16.37.13/软件下载/y2/y2c/httpd-2.4.25.tar.gz

 1)解包

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

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

2)配置

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

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

3)编译及安装

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

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

3、确认安装结果

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

[root@localhost httpd-2.4.25]# cd /usr/local/httpd/
[root@localhost httpd]# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs  man  manual  modules

4、优化执行路径

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

#为bin目录创建软链接
[root@localhost httpd-2.4.25]# ln -s /usr/local/httpd/bin/* /usr/local/bin
[root@localhost httpd-2.4.25]# ls -l /usr/local/bin/httpd /usr/local/apachectl
ls: 无法访问/usr/local/apachectl: 没有那个文件或目录
lrwxrwxrwx. 1 root root 26 12月  9 00:57 /usr/local/bin/httpd -> /usr/local/httpd/bin/httpd
[root@localhost httpd-2.4.25]# 

 5、添加httpd系统服务

        CentOS 7系统下.将编译安装的程序添加为系统服务有两种方式:①通过chkconfig命令添加为系统服务,然后由systemctl进行管理,②在/lib/systemd/systern/目录下,手动编写以.service结尾的单元(unit)配置文件。
        1)使用chkconfig添加系统服务
若希望将httpd添加为系统服务,以便通过chkconfig进行管理.需要建立可控的服务脚本。例如,可将apachectl脚本复制为/etc/init ,d/httpd,并在文件开头添加chkconfig识别配置,然后将其添加为标准的Linux系统服务。

#将apachectl脚本复制为etc/init.d/httpd
[root@localhost ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
#进入httpd配置文件
[root@localhost ~]# vim /etc/init.d/httpd #chkconfig:35 85 31 //服务识别参数,在级别3、5启动:启动和关闭的顺序分别为85/21
#description:Startup script for the Apache HTTP Server //服务描述信息[root@localhost ~]# chkconfig --add httpd   //将http添加为系统服务

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

[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`

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

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

 6、配置并启动http服务

 1)配置http服务

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

[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf
//更改第200行内容#ServerName www.bdqn.com:80

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

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

2)启动httpd服务

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

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

3)部署网页文档

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

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

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

相关文章

c语言插入排序及希尔排序详解

目录 前言: 插入排序: 希尔排序: 前言: 排序在我们生活中无处不在,比如学生成就排名,商品价格排名等等,所以排序在数据结构的学习中尤为重要,今天就为大家介绍两个经典的排序算法&…

异常处理详解

异常概述 什么是异常? 异常是程序在“编译”或者“执行”的过程中可能出现的问题,注意:语法错误不算在异常体系中。 比如:数组索引越界、空指针异常、 日期格式化异常,等。 为什么要学习异常? 异常一旦出现了,如果…

.9.png编译报错

android项目中使用9-patch图编译报错:AAPT: error: file failed to compile. 原因是因为.9.png图中有线之间断开或者黑点的存在,把线连上或者把黑点去掉就可以了。如下:

2024 年 SEO 现状

搜索引擎优化(SEO)一直以来都是网络知名度和成功的基石。随着我们踏上 2024 年的征程,SEO领域正在经历重大变革,有些变革已经开始,这对企业、创作者和营销人员来说既是挑战也是机遇。 语音搜索 语音搜索曾是一个未来…

Python爬取酷我音乐

🎈 博主:一只程序猿子 🎈 博客主页:一只程序猿子 博客主页 🎈 个人介绍:爱好(bushi)编程! 🎈 创作不易:喜欢的话麻烦您点个👍和⭐! 🎈…

用23种设计模式打造一个cocos creator的游戏框架----(十三)模板方法模式

1、模式标准 模式名称:模板方法模式 模式分类:行为型 模式意图:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。Template Method 使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 结构图&#xff1a…

BigData之Google Hadoop中间件安装

前言 Hadoop / Zookeeper / Hbase 因资源有限 这三个都是安装在同一台Centos7.9的机器上 但通过配置 所以在逻辑上是distributed模式 1 Java安装 1.1 下载java11 tar/opt/java/jdk-11.0.5/ 1.2 环境配置修改 文件/etc/profile export JAVA_HOME/opt/java/jdk-11.0.5/ e…

【复现】vid2vid_zero

问题及解决方法总结。 code:GitHub - baaivision/vid2vid-zero: Zero-Shot Video Editing Using Off-The-Shelf Image Diffusion Models 1.AttributeError: UNet2DConditionModel object has no attribute encoder 据说是预训练模型结构不匹配,偷懒把a…

java工程(ajax/axios/postman)向请求头中添加消息

1、问题概述 在项目中我们经常会遇到需要向请求头中添加消息的场景,然后后端通过request.getRequest()或者RequestHeader获取请求头中的消息。 下面提供几种前端向请求头添加消息的方式 2、创建一个springmvc工程用于测试 2.1、创建工程并引入相关包信息 sprin…

家具制造ERP软件包含哪些功能?家具制造业ERP系统哪个好

不同的家具有不同的用料、品质、制造工时、营销渠道等,而有些家具制造企业采用传统的管理方式在处理物料BOM、生产实际成本核算、库存盘点、供应商选择、班组计件核对、生产领用以及物料追溯等方面存在不少提升空间。 与此同时也有很多的皮具制造企业借助ERP软件优…

​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案

随着“第四次工业革命”的爆炸式发展,众多企业都将自己的业务与迅速发展的应用开发和网站建设领域高度绑定。而对于众多有上云需求的企业和个人用户来说,选择一款自己的服务器配置就成为了一项至关重要的任务。而随着需求端的不断扩大,云服务…

宝塔PostgreSQL设置数据库远程访问

宝塔PostgreSQL设置数据库远程访问 宝塔的PostgreSQL1. 添加数据库2. 打开PostgreSQL设置界面3. 修改配置4. 重载配置/重启数据库 Docker的PostgreSQL1. postgresql.conf2. pg_hba.conf3. 重启数据库 注意其他问题 宝塔PostgreSQL设置数据库远程访问?docker容器Post…

arm-linux设备fsck命令移植

arm-linux设备fsck命令移植 文章目录 **arm-linux设备fsck命令移植**1、下载e2fsprogs-源码2、解压3、进入源码目录4、配置编译环境:使用以下命令配置交叉编译环境5、测试 1、下载e2fsprogs-源码 首先要确定自己的文件系统格式,IG2000的文件系统是ext4&…

【银行测试】第三方支付功能测试点+贷款常问面试题(详细)

前言 1、第三方支付功能测试点 支付流程: 我们在测试一个功能时,需要先了解一下这个逻辑,而订单支付逻辑普遍都会有以下内容: 1)创建本地唯一订单号; 2)去调用支付,在支付平台生…

kubeadm搭建单master多node的k8s集群--小白文,图文教程

参考文献 K8S基础知识与集群搭建 kubeadm搭建单master多node的k8s集群—主要参考这个博客,但是有坑,故贴出我自己的过程,坑会少很多 注意: 集群配置是:一台master:zabbixagent-k8smaster,两台…

pycharm手动安装包

1.下载对应的包 TTS PyPI 2.手动解压,找到文件放到pycharm对应项目的lib文件夹中 以TTS包为例,找到下载并解压的包中的2个文件,一个名称一个info结尾 3.放到项目的lib文件夹中 eg:路径;C:\doc\myProject\speaker\venv…

离散型随机变量的分布律(也称概率质量函数:probability mass function, PMF)

设是一个离散型随机变量,可能的取值为,取各个值的概率记为: (1) 其中 并且, 公式(1)就称为离散型随机变量的分布律,也称概率质量函数:probability ma…

【漏洞修复】Cisco IOS XE软件Web UI权限提升漏洞及修复方法

关于Cisco IOS XE软件Web UI权限提升漏洞及修复方法 文章目录 漏洞基本信息漏洞影响范围确认设备是否受影响漏洞修复方法推荐阅读 漏洞基本信息 Cisco IOS XE Unauthenticatd Remote Command Execution (CVE-2023-20198) (Direct Check) Severity:Critical Vulnerability Pri…

react中img引入本地图片的方式

在html文件中&#xff0c;可以直接<img src./roadBook.png /> 但是在jsx文件中&#xff0c;不支持这种写法 必须这样写 在css样式中 App.css .img{background: url(./img/roadBook.png) }App.js import ./App.css;<div classNameimg></div> 1.基于es6Mod…

Zabbix自定义飞书webhook告警媒介1

说明&#xff1a;此配置仅适用于7版本及以上&#xff0c;低版本可能有问题 JavaScript 内容如下&#xff1a; try {var sourceData JSON.parse(value),req new HttpRequest(),response;if (sourceData.HTTPProxy) {req.setProxy(sourceData.HTTPProxy);}req.addHeader(Conte…