• Linux高级应用——web网站服务


    • 作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 

    • 公众号:网络豆云计算学堂

    •  座右铭:低头赶路,敬事如仪

    • 个人主页: 网络豆的主页​​​​​

    目录

     前言

    一.Apache

    1.Apache介绍

     2.Apache的特点

    3.Apache版本

     二.安装httpd服务器

    1.编译安装httpd服务器的优点

    2.获得Apache服务器的源码包

    3.编译安装操作步骤

    4.CentOS 7上编译安装httpd服务的步骤:

    三.httpd服务的目录结构

    1.主要目录和文件:

    2.Web站点部署过程

    四.httpd.conf配置文件

    1.全局配置项

    2.常用的全局配置参数

    本章总结


     前言

    相信大家在Windows上部署web服务也是有一定的了解与实践,那么你知道如何在Linux上部署web网站吗?


    一.Apache

    1.Apache介绍

    Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

    官网:http://httpd.apache.org


     2.Apache的特点

    ①开放源代码、跨平台应用

    Apache服务器可以运行在绝大数软硬件平台上,所有UNIX操作系统都可以运行,甚至可以良好的运行在Windows系统平台上

    ②支持多种网页编程语言

    (Apache服务器可支持的网页编程语言包括Perl、PHP、Python、java等)

    ③模块化设计 、运行稳定、良好的安全性


    3.Apache版本

    1.X
    • 目前最高版本是1.3,运行稳定
    • 向下兼容性较好,但缺乏一些较新的功能
    2.X
    • 目前最高版本是2.4
    • 具有更多的功能特性
    • 1.X相比,配置管理风格存在较大差异

     二.安装httpd服务器

    1.编译安装httpd服务器的优点

    • 具有较大的自由度,功能可定制
    • 可及时获得最新的软件版本
    • 普遍适用于大多数Linux版本,便于移植使用

    2.获得Apache服务器的源码包

    地址:http://httpd.apache.org/download.cgi


    3.编译安装操作步骤

    4.CentOS 7上编译安装httpd服务的步骤:

    1.安装依赖库

    sudo yum install gcc make zlib-devel pcre-devel openssl-devel
    

    2.下载httpd源码包

    1. wget http://httpd.apache.org/download.cgi -O httpd-2.4.51.tar.gz

    3.解压源码包

    1. tar -zxvf httpd-2.4.51.tar.gz
    2. cd httpd-2.4.51

    4.配置编译选项

    ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --with-mpm=prefork --with-included-apr --with-apxs=/usr/sbin/apxs --with-ssl=/usr/local/httpd/conf/extra --with-pcre=/usr/local/httpd/lib --with-z=/usr/local/httpd --with-curl=/usr/local/curl --enable-deflate --enable-userdir --with-included-apr-util=/usr/local/httpd/include --with-included-apr=$(which apr-1-config) --with-included-apr-util=$(which apr-1-installed) --with-ssl=/usr/local/httpd/conf/extra --with-ssl=$(which openssl)
    

    5.编译并安装

    make && sudo make install
    

    6.启动httpd服务器

    sudo /usr/local/httpd/bin/apachectl start
    

    7.设置开机自启动

    1. sudo /usr/local/httpd/bin/a2enmod rewrite
    2. sudo /usr/local/httpd/bin/update-rc.d httpd defaults

    三.httpd服务的目录结构

    1.主要目录和文件:

    1. /usr/local/httpd:Apache安装目录,包含所有的配置文件、模块和其他相关文件。
    2. /usr/local/httpd/conf:Apache的配置文件目录,包含主配置文件httpd.conf和其他一些配置文件,如ssl.conf、vhost.conf等。
    3. /usr/local/httpd/include:Apache的头文件目录,包含所有使用的库和函数的头文件。
    4. /usr/local/httpd/lib:Apache的库文件目录,包含所有编译好的动态链接库文件。
    5. /usr/local/httpd/logs:Apache的日志文件目录,包含访问日志、错误日志和其他一些日志文件。
    6. /usr/local/httpd/modules:Apache的模块目录,包含所有已编译好的模块文件。
    7. /usr/sbin/apxs:Apache的扩展模块编译器。
    8. /usr/sbin/httpd:Apache的主程序,用于启动、停止和管理服务器进程。
    9. /usr/sbin/setenvif:Apache的环境变量设置工具,用于根据请求的User-Agent等信息设置环境变量。

    2.Web站点部署过程

    1. 确定网站的名称和IP地址。
    2. 配置启动httpd服务。
    3. 部署网页文档。
    4. 在客户端访问web站点。
    5. 查看web站点的访问情况。


    四.httpd.conf配置文件

    1.全局配置项

    决定httpd服务器的全局运行参数

    1. ServerRoot "/usr/local/httpd"
    2. Listen 80
    3. User daemon
    4. Group daemon
    5. ServerAdmin webmaster@benet.com
    6. ServerName www.benet.com
    7. DocumentRoot "/usr/local/httpd/htdocs"
    8. DirectoryIndex index.html index.php
    9. ErrorLog logs/error_log
    10. LogLevel warn
    11. CustomLog logs/access_log common
    12. PidFile logs/httpd.pid
    13. CharsetDefault UTF-8
    14. Include conf/extra/httpd-default.conf
    15. ……

    2.常用的全局配置参数

    1. ServerRoot:服务目录
    2. Listen:监听的IP地址、端口号
    3. User:运行服务的用户身份
    4. Group:运行服务的组身份
    5. ServerAdmin:管理员邮箱
    6. ServerName:网站服务器的域名
    7. DocumentRoot:网页文档的根目录
    8. DirectoryIndex:默认的索引页文件
    9. ErrorLog:设置错误日志文件的路径
    10. LogLevel:记录日志的级别,默认为warn
    11. CustomLog:访问日志文件的位置
    12. PidFile:保存httpd进程PID号的文件
    13. AddDefaultCharset:设置站点中的网页默认使用的字符集编码
    14. Timeout:网络连接超时,默认为300
    15. KeepAlive:是否保持连接,可选OnOff
    16. MaxKeepAliveRequests:每次连接最多请求文件数
    17. KeepAliveTimeout:保持连接状态时的超时时间
    18. Include:需要包含进来的其他配置文件

    本章总结

    • Apache编译安装基本过程
    • Linux系统下添加系统服务的方法
    • Web站点的部署过程
    • httpd.conf配置文件中常用的全局配置项
    • httpd.conf配置文件中常用的区域配置项

  • 相关阅读:
    MySql中的锁
    docker - window Docker Desktop升级
    Springboot 就这样读配置,全部都整理好了
    单线程、多线程Reactor模型
    业务可视化-让你的流程图"Run"起来(3.分支选择&跨语言分布式运行节点)
    Windows系统无法激活Python虚拟环境的解决方案:无法加载文件 ,因为在此系统上禁止运行脚本。
    《WEB安全渗透测试》(31)BeEF-XSS一款红队XSS神器
    SpringBoot中企业微信的API调用
    wireshark抓包本地IDEA xml格式报文教程以及postman调用接口
    Linux知识点:系统目录结构的理解,环境变量的作用和添加,创建自己的共享库并使用,引用第三方库
  • 原文地址:https://blog.csdn.net/yj11290301/article/details/133269373