基于 Linux 安装 web 服务及基本配置

2023-11-13

在网络环境中,web 服务无疑是最为流行的应用系统。有了 web 站点,企业可以充分展示自己的作品,宣传企业形象。web 站点还为企业提供了与客户交流、电子商务交易平台等丰富的网络应用。
Apache HTTP Server 是 ASF 旗下著名的软件项目,其正式名称是“httpd”,也就是历史上的 Apache 网站服务器。
那我们为什么不选择使用系统盘中的httpd服务呢,因为系统盘中的httpd不方便更新,麻烦。
Apache 的话不管是卸载还是更新新版本,都很方便。
Apache 的主要特点:
1、开放源代码
2、跨平台使用
3、支持各种 Web 编程语言
4、模块化设计
5、运行稳定
6、良好的安全性
下面是Apache 的源码编译安装包,需要可以下载,也可自行从网页上下载:
https://pan.baidu.com/s/1LFabNY2sbFqnPI1lluuV2w
提取码:olpz

接下来我们就可以来安装 httpd 服务了
准备工作:

为了避免发生端口冲突、程序冲突等现象,我们可以使用:
rpm   -qa  |  grep   httpd   (查询系统中的httpd)
如果有的话 ,使用 :rpm -e httpd --nodeps  (nodeps:不检测依赖关系)

Apache 的配置及运行需要几个软件包的支持,因此我们需要从系统光盘中预先安装这些软件及其开发包(devel) 以便提供相应的库和头文件。
基于 Linux 安装 web 服务及基本配置
依赖包都安装完毕后,我们将下载获得的 httpd 源码包解压并释放到 /usr/src 中,然后切换到源码目录中:

[root@localhost tmp]# tar zxf httpd-2.4.25.tar.gz -C /usr/src/
#-C 指定解压到的位置

配置:
根据服务器的实际应用需要,可以灵活设置不同的定制选项(需要的话可以执行 “./configure --help 获取”)

[root@localhost httpd-2.4.25]# ./configure   --prefix=/usr/local/httpd   --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
--prefix:指定将 httpd 服务程序安装到那个目录下
--enable-so:启用动态加载模块支持
--enable-rewrite:启用网页地址重写功能
--enable-charset-lite:启动字符集支持
--enable-cgi:启用 CGI 脚本程序支持

接下来,编译及安装:

[root@localhost httpd-2.4.25]# make && make install    
& make :进行编译,将源代码转换为可执行的程序    
& make install :将编译完的 httpd 程序及相关目录、文件复制到预设的安装目录(--prefix 选项指定)

确认安装结果:
[root@localhost /]# /usr/local/httpd/bin/apachectl start # 执行此命令启动服务
启动之后可以执行此命令查看 tcp 的80端口有没有启用:

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

基于 Linux 安装 web 服务及基本配置
通过源码编译安装的 httpd 服务,程序路径并不在默认的搜索路径中,执行起来比较麻烦,为了使该服务使用时更加方便,可以为相关程序添加符号链接

[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/bin/apachectl 
lrwxrwxrwx 1 root root 28 7月  27 17:08 /usr/local/bin/apachectl -> /usr/src/httpd/bin/apachectl
lrwxrwxrwx 1 root root 24 7月  27 17:08 /usr/local/bin/httpd -> /usr/src/httpd/bin/httpd

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

[root@localhost httpd-2.4.25]# httpd -v
Server version: Apache/2.4.25 (Unix)
Server built:   Jul 27 2019 16:48:44

添加 httpd 为系统服务:
Centos 7 系统下,将编译安装的程序添加为系统服务有两种方式:
1、通过 chkconfig 命令添加,然后由 systemctl 进行管理;我们需要建立可控的服务脚本,例如,可将 apachectl 脚本复制为 /etc/init.d/httpd 并在文件开头添加 chkconfig 识别配置

[root@www /]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@www /]# vim /etc/init.d/httpd 
 #!/bin/bash   // shell环境
 #chkconfig: 35 85 21    //服务识别参数 在级别3、5中启动 启动和关闭的顺序分别是85、21
 #description: Apache HTTP Server   //服务描述信息
[root@www /]# chkconfig --add httpd   // 将httpd添加为系统服务

2、在/lib/systemd/system/目录下,手动编写以.service结尾的单元 (unit)配置文件。内容如下:

[root@www /]# 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/httpd/bin/apachectl $OPTIONS
ExecReload=/bin/kill  -HUP  $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=graphical.target

基于 Linux 安装 web 服务及基本配置
编写完 httpd.service 文件后,执行如下命令设置 httpd 开机启动:

[root@www /]# systemctl enable httpd.service 
Created symlink from /etc/systemd/system/graphical.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@www /]# systemctl is-enabled httpd.service 
enabled

httpd.conf 是 httpd 服务的主配置文件。
若要向 Internet 中发布一个 web 站点,需要申请一个合法的 IP地址,并向 DNS服务器提供商注册一个完整的网站名称。
配置httpd服务:编辑主配置文件,查找配置项 ServerName,在附近添加内容,用于设置网站名称

[root@www /]# vim usr/local/httpd/conf/httpd.conf 
……//省略部分内容
ServerName www.test.com
……//省略部分内容

修改完毕之后可以使用带“-t ” 选项的 apachectl 命令进行语法检测,显示如下表示正确

[root@www /]# apachectl -t
Syntax OK

部署网页文档:网站根目录位于 /usr/local/httpd/htdocs 下

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

若想通过域名访问httpd服务器,需要在客户机上指定DNS服务器地址或在hosts文件中增加 httpd服务器的 IP解析记录。
DNS参考文章:https://blog.51cto.com/14227204/2384462

httpd 服务器使用了两种类型的日志:访问日志和错误日志。这两种日志分别为 access_log 和 error_log ,均位于/usr/localhttpd/logs 目录下,通过查看访问日志,可以及时了解 web站点的访问情况。

[root@www /]# tail /usr/local/httpd/logs/access_log 
192.168.1.123 - - [27/Jul/2019:18:00:13 +0800] "GET / HTTP/1.1" 200 45
192.168.1.123 - - [27/Jul/2019:18:00:13 +0800] "GET /favicon.ico HTTP/1.1" 404 209
192.168.1.123 - - [27/Jul/2019:18:00:17 +0800] "GET / HTTP/1.1" 304 -
192.168.1.123 - - [27/Jul/2019:18:00:17 +0800] "GET /favicon.ico HTTP/1.1" 404 209
192.168.1.123 - - [27/Jul/2019:18:00:18 +0800] "GET / HTTP/1.1" 304 -

httpd 各主配置项含义如下:
基于 Linux 安装 web 服务及基本配置
基于 Linux 安装 web 服务及基本配置
以上只是 httpd中比较主要的全局配置项,还有很多其他的,在此就不一一列举了
除了全局配置项以外,httpd.conf 文件中的大多数配置是包括在区域中的。区域配置项使用一对组合标记,限定了配置项的作用范围,例如,最常见的目录区域配置的形式如下:
基于 Linux 安装 web 服务及基本配置
在以上区域定义中,设置了一个根目录的区域配置,其中添加的访问控制相关配置只对根目录有效,而不会作用于全局或其他区域。(注意:这里的根目录是指httpd服务器 server root 指定的值,而不是Centos 7 系统的根目录)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于 Linux 安装 web 服务及基本配置 的相关文章

  • 双系统安装win7出现grub怎么解决

    我们在重装系统时 特别苹果装双系统时 会出现安装过程或者安装后的问题 发现系统开机显示grub 导致不能正常进入系统 让人很是着急 其实出现这种情况是因为系统找不到主引记录所导致 只要重建主引记录mbr即可解决 下面小编就教教大家win7系
  • TeslaMate特斯拉神器本地Docker部署实现无公网远程访问

    文章目录 1 Docker部署TeslaMate 2 本地访问TeslaMate 3 Linux安装Cpolar 4 配置TeslaMate公网地址 5 远程访问TeslaMate 6 固定TeslaMate公网地址
  • 虚拟主机操作系统 Windows、Linux

    操作系统将直接影响服务器的性能 安全性和可用性 因此确保选择合适的操作系统对于成功运行您的网站或应用程序至关重要 以下是一些考虑因素 可帮助您选择适合您需求的虚拟主机操作系统 1 熟悉度和技术支持 如何选择操作系统应该考虑您的经验水平和熟悉
  • 内网穿透的应用-使用Net2FTP轻松部署本地Web网站并公网访问管理内网资源

    文章目录 1 前言 2 Net2FTP网站搭建 2 1 Net2FTP下载和安装 2 2 Net2FTP网页测试 3 cpolar内网穿透 3 1 Cpolar云端设置 3 2 Cpolar本地设置
  • 【镜像压缩】linux 上 SD/TF 卡镜像文件压缩到实际大小的简单方法(树莓派、nvidia jetson)

    文章目录 1 备份 SD TF 卡为镜像文件 2 压缩镜像文件 2 1 多分区镜像文件的压缩 树莓派 普通 linux 系统等 2 2 单分区镜像文件的压缩 Nvidia Jetson Nano 等 3 还原镜像文件到 SD TF 卡
  • 服务器集群是如何提高计算性能的?

    服务器集群是一种将多台服务器连接起来协同工作的技术 通过集群配置 可以提高计算性能 可靠性和可扩展性 以下是服务器集群如何提高计算性能的详细解释 一 并行处理能力 服务器集群的核心优势在于其并行处理能力 通过将多个服务器组成一个集群 可以将
  • Jenkins流水线怎么做?

    问CHAT Jenkins流水线怎么做 CHAT回复 Jenkins流水线是一种创建 测试和部署应用程序的方法 以下是为Jenkins创建流水线的步骤 1 安装Jenkins 首先你需要在你的服务器上安装Jenkins 这个过程可能会根据你
  • 基于成本和服务质量考虑的不确定性下,电动汽车充电网络基础设施需求预测和迭代优化的分层框架研究(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码 数据
  • 5个步骤,教你瞬间明白线程和线程安全

    记得今年3月份刚来杭州面试的时候 有一家公司的技术总监问了我这样一个问题 你来说说有哪些线程安全的类 我心里一想 这我早都背好了 稀里哗啦说了一大堆 他又接着问 那你再来说说什么是线程安全 然后我就GG了 说真的 我们整天说线程安全 但是对
  • Linux终端常见用法总结

    熟悉Linux终端的基础用法和常见技巧可以极大提高运维及开发人员的工作效率 笔者结合自身学习实践 总结以下终端用法供同行交流学习 常 见 用 法 1 快捷键 1 1 Alt 在光标位置插入上一次执行命令的最后一个参数 1 2 Ctrl R
  • RF自动化环境安装+自动化实例解析

    RF定义 通用型的 自动测试框架 绝大部分的软件的的自动化系统都可以采用它 特点 测试数据文件 Test Data 对应一个个的测试用例 测试数据文件里面使用的功能小模块叫关键字 由测试库 Test Library Robot Framew
  • 用户数据中的幸存者偏差

    幸存者偏差 Survivorship bias 是一种常见的逻辑谬误 意思是没有考虑到筛选的过程 忽略了被筛选掉的关键信息 只看到经过筛选后而产生的结果 先讲个故事 二战时 无奈德国空防强大 盟军战机损毁严重 于是军方便找来科学家统计飞机受
  • Python自动化操作:简单、有趣、高效!解放你的工作流程!

    今天跟大家分享一套自动化操作流程解决方案 基于 Python语言 涉及 pyautogui pyperclip pythoncom win32com 依赖包 安装命令为 pip install pyautogui pip install p
  • Jenkins 插件下载速度慢、安装失败了!我教你怎么解决!

    Jenkins部署完毕 如果不安装插件的话 那它就是一个光杆司令 啥事也做不了 所以首先要登陆管理员账号然后点击系统管理再点击右边的插件管理安装CI CD必要插件 但是问题来了 jenkins下载插件速度非常慢 而且经常提示下载插件失败 真
  • messages,CentOS 7不收集日志或不存在 /var/log/messages

    var log message var log secure等都不记录了 并且都是空文件 重启机器 reboot 无效 重启日志 systemctl start rsyslog 无效 怀疑空间不足 删除 var log messages 重
  • Python爬虫实战:IP代理池助你突破限制,高效采集数据

    当今互联网环境中 为了应对反爬虫 匿名访问或绕过某些地域限制等需求 IP代理池成为了一种常用的解决方案 IP代理池是一个包含多个可用代理IP地址的集合 可以通过该代理池随机选择可用IP地址来进行网络请求 IP代理池是一组可用的代理IP地址
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • tcpdump抓包

    tcpdump抓包 基本概念 1 类型的关键字 host 指明一台主机 如 host 10 1 110 110 net 指明一个网络地址 如 net 10 1 0 0 port 指明端口号 如 port 8090 2 确定方向的关键字 sr
  • Kubernetes (十二) 存储——Volumes配置管理

    一 卷的概念 官方地址 卷 Kubernetes https v1 24 docs kubernetes io zh cn docs concepts storage volumes 二 卷的类型及使用 emptyDir卷 1 创建编辑文件
  • ESP10B 锁定连接器

    ESP10B 锁定连接器 ESP10B 电机新增内容包括双极型号标准 NEMA 尺寸 17 23 和 34 的步进电机现在包括输出扭矩范围从 61 盎司英寸到 1291 盎司英寸的双极型号 该电机配有带锁定连接器的尾缆 可轻松连接 每转可步

随机推荐

  • 基于单片机ISP技术原理及在线编程器的实现

    编程接口一般 芯片不焊在电路中 如华邦的51单片机 40引脚 可能是串口下载 STC 焊在板上的USB转串口下载 下面的ATMEL的ISP是模拟SPI下载 用单片机的P1 5P1 6P1 7下载 以ATMEL公司的AT89S51 AT89S
  • 我所理解的设计模式(C++实现)——适配器模式(Adapter Pattern)

    解决的问题 适配器模式把一个类的接口变换成客户端所期待的另一种接口 从而使原本接口不匹配而无法在一起工作的两个类能够在一起工作 比如说我的hp笔记本 美国产品 人家美国的电压是110V的 而我们中国的电压是220V 要在中国能使用 必须找个
  • Csdn爬虫自动评论

    前言 因为发现自己的csdn博客被机器人自动评论 这些博客很多都是对别人进行评论 然后别人就有可能回访或者点赞关注等等 基本上总积分非常高 为了覆盖掉这些机器评论 本篇主要是实现java爬虫对自己的博客所有文章进行自动评论 一 准备分析工作
  • vscode插件一draw.io绘图工具

    vscode 插件推荐一draw io 日常工作中需要制作时序图 流程图等 这里推荐的是vscode的插件中draw io 先自行在官网下载vscode https code visualstudio com 安装后打开vscode 如图在
  • c++ map 析构函数_C++核心准则C.36:析构函数不应该失败

    C 36 A destructor may not fail析构函数不应该失败 Reason 原因 In general we do not know how to write error free code if a destructor
  • Crazyswarm framework

    Crazyswarm framework 1 Tools Crazyfile Chooser Simulation sim flag 2 软件架构 使用方法 参考论文 应用的论文 3使用教程 参考网页 配置文件 example 基础 轨迹生
  • k8s 部署dubbo

    docker pull chenchuxin dubbo admin docker tag chenchuxin dubbo admin hub redblue ai com dubbo admin cat lt lt END gt dub
  • sql 数据查询返回值问题

    1 create 返回值 若发生错误 返回false 成功则返回创建的数据 2 add 返回值 addAll 返回值 成功 id或true 失败 false 成功 如果主键是自动增长型 返回值为新增记录Id值 addAll为最大值 否则返回
  • Microsoft Store打不开的解决方案

    Microsoft Store无法打开的解决方案 一 方案一 1 按Win i键 点击 网络和internet 2 转到 代理 关闭 使用代理服务器 3 尝试打开 microsoft store 二 方案二 1 按Win R键 输入inet
  • PHP请求微信接口获取用户电话号

    前言情景剧 业务场景是为了在用户登录的时候判断其是否已经成功注册 没有成功注册的话就将获取到的openid和session key加密后作为token传给前端 然后让前台通过组件获得code之后连着token一起传给后端 后端拿着code再
  • 服务机器人串口配置

    服务机器人串口配置 1 确定串口号 2 查看串口号对应的kernels 3 修改rules 1 确定串口号 如下图 以雷达为了例子 插拔之后 可知串口号为 ttyUSB1 2 查看串口号对应的kernels 3 修改rules 更改KERN
  • 搭建Zerotier内网穿透网络及彻底删除zerotier方法

    搭建Zerotier内网穿透网络 1 注册zerotier账号并登录https my zerotier com 2 访问https my zerotier com network 点击Create a Network 之后再Your Net
  • Java 【基础】 模拟log4j,输出当前语句的行数,和类路径

    一直很好奇log4j 是如何获取到当前输出的行数的 今天学到了 原来是堆栈跟踪 把代码贴出来给大家看一下 模拟log4j public static void debug String string System out println 调
  • declare-styleable的使用

    declare styleable是给自定义控件添加自定义属性用的 可以定义多种类型 int Boolean string等等 参考链接
  • 正则表达式去除冗长代码,tppabs

    利用正则表达式去除网页中的冗长没用代码 1 btppabs h 2 tpa http 3 清除css内的 tpa http s gif png jpg 4 tpa
  • org.springframework.http.converter.HttpMessageNotWritableException

    这里说无法将 对应对象转换 原因在于没有导入json 依赖 所以无法转换 org springframework http converter HttpMessageNotWritableException No converter fou
  • SD/MMC存储器启动方案在SoC中的设计与实现

    原文地址 http blog csdn net allen6268198 article details 7745208 引言 SD MMC存储器以其成本低廉 存储容量大 性能优良 安全性高等特点越来越广泛地应用于便携式设备和家用电子设备
  • Android Studio中设置鼠标悬停显示文档提示方法

    有些小伙伴在开发的过程中可能会习惯使用文档注释 那么在Android Studio中如何设置启用文档注释呢 1 首先打开Android Studio 点击菜单栏中的 File选项菜单 点击如下的Settings 进行设置 2 点击Edito
  • Windows10系统下swin-transformer目标检测环境搭建

    Swin Transformer Object Detection环境搭建 前言 1 环境准备 2 虚拟环境创建 3 安装pytorch 4 安装mmcv 5 安装mmdet 6 安装apex 7 测试 前言 刚搞明白了分类 又进来了检测这
  • 基于 Linux 安装 web 服务及基本配置

    在网络环境中 web 服务无疑是最为流行的应用系统 有了 web 站点 企业可以充分展示自己的作品 宣传企业形象 web 站点还为企业提供了与客户交流 电子商务交易平台等丰富的网络应用 Apache HTTP Server 是 ASF 旗下