linux-centos7 最小化系统 -源码编译安装apache服务详细步骤

    技术2022-07-12  78

    文章目录

    前言一:安装apache步骤详解1.1:安装准备环境 :centos7.6 最小化安装版1.2 首先安装编译相关软件1.3: 然后准备解压相关源码包1.4 源码编译安装 expat 软件1.5 源码编译安装apache软件 二.配置相关参数2.1 . 将apache软件交给service管理2.2 编辑http主页内容2.3 本地测试 三 .扩展知识3.1 .apache 常用编译参数:3.2 .用于apr的configure脚本的选项:.3.3用于apr-util的configure脚本的选项:3.4 .netstat命令介绍

    前言

    Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

    一:安装apache步骤详解

    1.1:安装准备环境 :centos7.6 最小化安装版

    源码包:apr-1.7.0.tar.bz2 apr-util-1.6.1.tar.gz expat-2.2.9.tar.gz httpd-2.4.43.tar.bz2

    1.2 首先安装编译相关软件

    Yum install -y gcc gcc -c++ automake autoconf libtool make bzip2 pcre pcre-devel zlib-devel net-tools

    1.3: 然后准备解压相关源码包

    将apr包和apr-util 软件包解压到httpd-2.4.4.43/srclib 下

    [root@ shanan abc]# ls apr-1.7.0.tar.bz2 expat-2.2.9 httpd-2.4.43 apr-util-1.6.1.tar.gz expat-2.2.9.tar.gz httpd-2.4.43.tar.bz2 tar bxvf apr-util-1.6.1.tar.gz -C /opt/abc/httpd-2.4.43/srclib/ tar jxvf apr-1.7.0.tar.bz2 -C /opt/abc/httpd-2.4.43/srclib/ [root@ shanan abc]# cd httpd-2.4.43 [root@ shanan httpd-2.4.43]# cd srclib/ [root@ shanan srclib]# ls apr-1.7.0 apr-util-1.6.1 Makefile.in 将文件重命名 [root@ shanan srclib]# mv apr-1.7.0 apr [root@ shanan srclib]# mv apr-util-1.6.1 apr-util [root@ shanan srclib]# ls apr apr-util Makefile.in [root@ shanan srclib]# cd ..

    1.4 源码编译安装 expat 软件

    ./configure --prefix=/usr/local/expat make make install

    1.5 源码编译安装apache软件

    [root@ shanan httpd-2.4.43]# ./configure \ -- prefix=/usr/local/ apache \ //指定安装路径 --enable-so \ //开启核心功能模块 --enable- rewrite \ //开启重写功能,防盗链使用 --enable- mods- - shared=most \ //开启共享模块 --with-mpm-worker \ //开启工作模式 --disable-cgid \ //禁止用一个外部 CGI 守护进程执行CGI脚本 --disable-cgi \ //禁止编译 CGI 版本的 PHP --with-expat=/usr/local/expat //指明依赖的expat所在的目录

    回车

    ...................... //省略若干 Server Version: 2.4.43 Install prefix: /usr/local/apache C compiler: gcc -std=gnu99 CFLAGS: -g -O2 -pthread CPPFLAGS: -DLINUX -D_REENTRANT -D_GNU_SOURCE LDFLAGS: LIBS: C preprocessor: gcc -E

    然后 Make

    然后 Make install

    Installing build system files Installing man pages and online manual mkdir /usr/local/apache/man mkdir /usr/local/apache/man/man1 mkdir /usr/local/apache/man/man8 mkdir /usr/local/apache/manual make[1]: 离开目录“/opt/abc/httpd-2.4.43[root@ shanan httpd-2.4.43]# 源码编译安装完成

    二.配置相关参数

    2.1 . 将apache软件交给service管理

    [root@ shanan httpd-2.4.43]# grep -v "#" /usr/local/apache/bin/apachectl > /etc/init.d/httpd [root@ shanan /]# vi /etc/init.d/httpd //修改配置文件 增加以下3行内容 #!/bin/sh #chkconfig: 2345 10 90 #description: Activates/Deactivates Apache Web Server [root@ shanan /]# chmod +x /etc/init.d/httpd 增加执行权限 [root@ shanan /]# chkconfig --add httpd //将httpd 加入linux服务列表 [root@ shanan /]# chkconfig --list httpd //查看linux服务列表 注:该输出结果只显示 SysV 服务,并不包含 原生 systemd 服务。SysV 配置数据 可能被原生 systemd 配置覆盖。 要列出 systemd 服务,请执行 'systemctl list-unit-files' 查看在具体 target 启用的服务请执行 'systemctl list-dependencies [target]' httpd 0:关 1:关 2:开 3:开 4:开 5:开 6:关 [root@ shanan /]# chkconfig --level 35 httpd on //在模式3和模式5下开启HTTP服务 [root@ shanan /]# ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf //给httpd 配置文件 建立软连接到/etc方便管理 vi /etc/httpd.conf //编辑httpd配置文件 Listen 192.168.100.55:80 // 监听本主机80端口 ServerName www.example.com:80 //设置域名 [root@ shanan init.d]# service httpd start //启动httpd 服务 [root@ shanan /]# netstat -ntap | grep 80 //扫描查看80 端口 tcp 0 0 192.168.100.55:80 0.0.0.0:* LISTEN 8213

    2.2 编辑http主页内容

    [root@ shanan htdocs]# ls index.html [root@ shanan htdocs]# pwd /usr/local/apache/htdocs //配置文件路径 [root@ shanan htdocs]# vi index.html // 修改如下 <html><body><h1>静夜思</h1></body></html> <p>窗前明月光</p> <br>疑是地上霜 <br/> <br>举头忘明月<br/> <span>低头思故乡</span> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">: ~ ~ [root@ shanan init.d]# systemctl stop firewalld //关闭防火墙

    2.3 本地测试

    三 .扩展知识

    3.1 .apache 常用编译参数:

    ./configure //配置源代码树 –prefix=/usr/local/apache //体系无关文件的顶级安装目录PREFIX ,也就Apache的安装目录。 –enable-module=so //打开 so 模块,so 模块是用来提 DSO 支持的 apache 核心模块 –enable-deflate=shared //支持网页压缩 –enable-expires=shared //支持 HTTP 控制 –enable-rewrite=shared //支持 URL 重写 –enable-cache //支持缓存 –enable-file-cache //支持文件缓存 –enable-mem-cache //支持记忆缓存 –enable-disk-cache //支持磁盘缓存 –enable-static-support //支持静态连接(默认为动态连接) –enable-static-Linux/1727.html’ target=’_blank’>htpasswd //使用静态连接编译 htpasswd – 管理用于基本认证的用户文件 –enable-static-htdigest //使用静态连接编译 htdigest – 管理用于摘要认证的用户文件 –enable-static-rotatelogs //使用静态连接编译 rotatelogs – 滚动 Apache 日志的管道日志程序 –enable-static-logresolve //使用静态连接编译 logresolve – 解析 Apache 日志中的IP地址为主机名 –enable-static-htdbm //使用静态连接编译 htdbm – 操作 DBM 密码数据库 –enable-static-ab //使用静态连接编译 ab – Apache HTTP 服务器性能测试工具 ./configure --prefix=/usr/local/apache //指定安装路径 –enable-headers // 文件头信息改写,压缩功能需要 –enable-modules=most //开启共享模块 –enable-so //开启核心功能模块 –with-mpm=worker //开启工作模式 –enable-deflate //压缩功能,网页可以达到40%的压缩,节省带宽成本,但会对cpu压力有一点提高 –enable-rewrite //开启重写功能,防盗链所使用 –enable-proxy //(代理功能有必要,因为可以处理跨域问题以及可以分离一些其它的请求处理) –enable-static-checkgid //使用静态连接编译 checkgid –disable-cgid //禁止用一个外部 CGI 守护进程执行CGI脚本 –disable-cgi //禁止编译 CGI 版本的 PHP –disable-userdir //禁止用户从自己的主目录中提供页面 –with-mpm=worker //让apache以worker方式运行 –enable-authn-dbm=shared //对动态数据库进行操作。Rewrite时需要。 –enable-deflate //压缩功能,网页可以达到40%的压缩,节省带宽成本,但会对cpu压力有一点提高 –enable-rewrite //开启重写功能,防盗链所使用 –enable-proxy //(代理功能有必要,因为可以处理跨域问题以及可以分离一些其它的请求处理) –with-zlib 支持zlib压缩 –with-pcre 支持正则表达式 –with-apr=/usr/local/apr 指明依赖的apr所在目录 –with-apr-util=/usr/local/apr-util/ 指明依赖的apr-util所在的目录 –enable-mpms-shared=all 以共享方式编译的模块 –with-mpm=prefork 指明httpd的工作方式为prefork –with-expat=/usr/local/expat 指明依赖的expat所在的目录

    3.2 .用于apr的configure脚本的选项:

    可选特性: –enable-experimental-libtool //启用试验性质的自定义libtool –disable-libtool-lock //取消锁定(可能导致并行编译崩溃) –enable-debug //启用调试编译,仅供开发人员使用。 –enable-maintainer-mode //打开调试和编译时警告,仅供开发人员使用。 –enable-profile //打开编译profiling(GCC) –enable-pool-debug[=yes|no|verbose|verbose-alloc|lifetime|owner|all] //打开pools调试 –enable-malloc-debug //打开BeOS平台上的malloc_debug –disable-lfs //在32-bit平台上禁用大文件支持(large file support) –enable-nonportable-atomics //若只打算在486以上的CPU上运行Apache ,那么使用该选项可以启用更加高效的基于互斥执行的原子操作。 –enable-threads //启用线程支持,在线程型的MPM上必须打开它 –disable-threads //禁用线程支持,如果不使用线程化的MPM ,可以关闭它以减少系统开销。 –disable-dso //禁用DSO支持 –enable-other-child //启用可靠子进程支持 –disable-ipv6 //禁用IPv6支持

    可选的额外程序包: –with-gnu-ld //指定C编译器使用 GNU ld –with-pic //只使用 PIC/non-PIC 对象[默认为两者都使用] –with-tags[=TAGS] //包含额外的配置 –with-installbuilddir=DIR //指定APR编译文件的存放位置(默认值为:’${datadir}/build’) –without-libtool //禁止使用libtool连接库文件 –with-efence[=DIR] //指定Electric Fence的安装目录 –with-sendfile //强制使用sendfile(译者注:Linux2.4/2.6内核都支持) –with-egd[=DIR] //使用EDG兼容的socket –with-devrandom[=DEV] //指定随机设备[默认为:/dev/random]

    .3.3用于apr-util的configure脚本的选项:

    可选的额外程序包: –with-apr=PATH //指定APR的安装目录(–prefix选项值或apr-config的路径) –with-ldap-include=PATH //ldap包含文件目录(带结尾斜线) –with-ldap-lib=PATH //ldap库文件路径 –with-ldap=library //使用的ldap库 –with-dbm=DBM //选择使用的DBM类型DBM={sdbm,gdbm,ndbm,db,db1,db185,db2,db3,db4,db41,db42,db43,db44} –with-gdbm=PATH //指定GDBM的位置 –with-ndbm=PATH //指定NDBM的位置 –with-berkeley-db=PATH //指定Berkeley DB的位置 –with-pgsql=PATH //指定PostgreSQL的位置 –with-mysql=PATH //参看INSTALL.MySQL文件的内容 –with-sqlite3=PATH //指定sqlite3的位置 –with-sqlite2=PATH //指定sqlite2的位置 –with-expat=PATH //指定Expat的位置或’builtin’ –with-iconv=PATH //iconv的安装目录

    3.4 .netstat命令介绍

    netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

    从整体上看,netstat的输出结果可以分为两个部分:一个是Active Internet connections,称为有源TCP连接,其中”Recv-Q”和”Send-Q”指 的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到;另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。

    语法格式:netstat [参数]

    常用参数:

    Processed: 0.013, SQL: 9