当前位置: 首页 > news >正文

Linux[高级管理]——使用源码包编译安装Apache网站

🏡作者主页:点击! 

👨‍💻Linux高级管理专栏:点击!

⏰️创作时间:2024年5月31日14点20分

🀄️文章质量:96分


Linux系统上编译和安装Apache HTTP Server是管理员和开发人员常用的一项技能。这种方法提供了更大的灵活性和控制权,允许你根据特定需求自定义配置和模块。通过从源代码编译安装Apache,可以确保使用最新的功能和修复,同时优化服务器性能和安全性。本文将详细介绍如何从源码包下载、解压、配置、编译和安装Apache HTTP Server,并进行基本配置以启动和运行一个Apache网站。

目录

💯趣站💯

↘️1.下载安装所需的包

🔙上传/解压安装包

↕️2.编译安装软件

↔️查看httpd版本号

↖️启动服务

↗️编辑配置文件

↙️查看端口

↙️主机名映射

↙️测试


完成效果

↘️1.下载安装所需的包

缺失安装包之后 会导致后续安装出错

yum install -y gcc gcc-c++ make apr apr-devel apr-util-devel pcre pcre-devel

各个软件包的作用

  1. gcc:GNU Compiler Collection的C编译器。用于编译C语言程序。

  2. gcc-c++:GNU Compiler Collection的C++编译器。用于编译C++语言程序。

  3. make:一个构建工具,用于自动化编译软件程序的过程,主要根据Makefile文件的指令进行编译。

  4. apr:Apache Portable Runtime库,提供了一组跨平台的编程接口,用于实现高性能的服务器应用程序。

  5. apr-devel:APR库的开发文件,包括头文件和静态库,供编写使用APR库的程序时使用。

  6. apr-util-devel:APR Utility库的开发文件,提供了一些APR库的辅助功能和扩展功能。

  7. pcre:Perl Compatible Regular Expressions库,提供了一套与Perl语言兼容的正则表达式功能。

  8. pcre-devel:PCRE库的开发文件,包含头文件和静态库,供编写使用PCRE库的程序时使用。

下载vim和上传工具(你的电脑可能已经安装,再敲一编也没事)

🔙上传/解压安装包

上传文件(Apache的安装包)

  1. zxftar命令的选项:

    • z:使用gzip解压缩。
    • x:提取文件。
    • f:指定要处理的文件名(在这里是httpd-2.4.59.tar.gz)。
  2. httpd-2.4.59.tar.gz:要解压的tar.gz文件名。

  3. -C /usr/src/:指定解压缩的目标目录(/usr/src/)。-C选项告诉tar将文件解压到指定目录,而不是当前目录。

↕️2.编译安装软件

进入你解压后的目录 也就是/usr/src/httpd....        可以TAB出来

./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enablecharset-lite --enable-cgi && make && make install

命令解释

  • ./configure:这是一个配置脚本,用于检查系统环境并设置编译选项。它生成一个适合系统的Makefile文件。

    • --prefix=/usr/local/httpd:指定安装路径。这里表示将软件安装到/usr/local/httpd目录下。

    • --enable-so:启用DSO(动态共享对象)支持,允许使用动态加载的模块。

    • --enable-rewrite:启用URL重写模块(mod_rewrite),用于重写请求的URL。

    • --enable-charset-lite:启用轻量级字符集转换支持。

    • --enable-cgi:启用CGI(Common Gateway Interface)支持,允许运行CGI脚本。

  • &&:逻辑AND操作符,确保前一条命令成功执行后才执行下一条命令。

  • make:根据configure生成的Makefile文件,编译源代码生成可执行文件和库。

  • make install:将编译生成的文件安装到指定的目录(--prefix指定的路径)。

编译安装完成之后查看

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

创建软连接

ln /usr/local/httpd/bin/* /usr/local/bin/

这条命令用于创建符号链接,将/usr/local/httpd/bin目录下的所有文件链接到/usr/local/bin目录中。这样可以方便地从命令行调用这些可执行文件,而不必输入完整路径。

好处

  • 方便使用:现在可以直接运行apachectlhttpd等命令,而不需要指定完整路径

↔️查看httpd版本号
root@localhost ~]# httpd -v
Server version: Apache/2.4.59 (Unix)
Server built: May 31 2024 11:42:35

 cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

/usr/local/httpd/bin/apachectl复制到/etc/init.d/目录并命名为httpd,是一种将Apache HTTP Server配置为系统服务的方式。这可以让你使用标准的服务管理命令来启动、停止和管理Apache HTTP Server。

↖️启动服务
[root@localhost ~] service httpd start
↗️编辑配置文件
[root@localhost ~] vim /usr/local/httpd/conf/httpd.conf

开启ServerName

[root@localhost ~] service httpd restart

↙️查看端口
[root@localhost ~] netstat -nultp | grep 80
tcp6 0 0 :::80 :::* LISTEN
19699/httpd

编辑网页文件(这里我随意写了个htmll测试使用)

[root@localhost ~] cd /usr/local/httpd/htdocs/
[root@localhost htdocs] ls
index.html
[root@localhost htdocs] vim index.html
[root@localhost htdocs] systemctl stop firewalld

↙️主机名映射
​[root@localhost ~] vim /etc/hosts

将你的IP地址和你的主机名关联起来

↙️测试

打开浏览器访问主机名或者IP地址都是可以的

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2r5gehowo8isg

http://www.lryc.cn/news/364862.html

相关文章:

  • Docker+JMeter+InfluxDB+Grafana 搭建性 能监控平台
  • NoSQL实战(MongoDB搭建主从复制)
  • 【讯为Linux驱动开发】3.内核空间和用户空间
  • AI论文:一键生成论文的高效工具
  • 申请医疗设备注册变更时,需要补充考虑网络安全的情况有哪些?
  • 打对钩的方式做人机验证(vue+javascript)
  • 可视化脚本用于使用MMDetection库进行图像的目标检测
  • React-组件通信
  • 低代码选型要注意什么问题?
  • hive切换spark引擎倒入数据乱码
  • fpga入门 串口定时1秒发送1字节
  • 总结一下自己,最近三年,我做了哪些工作
  • SpringCloud Gateway基础入门与使用实践总结
  • TensorBoard在pytorch训练过程中如何使用,及数据读取问题解决方法
  • 【Vue】普通组件的注册使用-全局注册
  • 爬虫之反爬思路与解决手段
  • 2.1.4 采用配置类与注解方式使用MyBatis
  • 微信小程序云开发实现利用云函数将数据库表的数据导出到excel中
  • python 字符串(str)、列表(list)、元组(tuple)、字典(dict)
  • 【源码】SpringBoot事务注册原理
  • 技巧:合并ZIP分卷压缩包
  • 数据挖掘 | 实验三 决策树分类算法
  • Python机器学习预测区间估计工具库之mapie使用详解
  • Linux基础指令磁盘管理002
  • Python怎么添加库:深入解析与操作指南
  • Python | 虚拟环境的增删改查
  • 【MySQL数据库】:MySQL内外连接
  • C# FTP/SFTP 详解及连接 FTP/SFTP 方式示例汇总
  • 二、【源码】实现映射器的注册和使用
  • Android Compose 十:常用组件列表 监听