Apacheサービスの最初の知り合い(1)--- CentOS7に基づいてhttpd2.4をコンパイルしてインストールします

APR:Apacheポータブルランタイムライブラリ、Apacheポータブルランタイムライブラリ。主に、複数のオペレーティングシステムプラットフォームで使用できる低レベルのサポートインターフェイスライブラリを上位レベルのアプリケーションに提供します。
環境の準備:
CentOS7
インストールパッケージの準備:
メインパッケージ:httpd-2.4.46.tar.gz
依存パッケージ:apr-1.7.0.tar.gz、apr-util-1.6.1.tar.gz
関連のインストールパッケージ

yum -y install gcc make pcre-devel openssl-devel expat-devel

インストールパッケージを/ usr / localに解凍します

tar xf apr-1.7.0.tar.gz -C /usr/local/
tar xf apr-util-1.6.1.tar.gz -C /usr/local/
tar xf httpd-2.4.46.tar.gz  -C /usr/local/

aprとapr-utilのソースコードをhttpdのソースコードとマージする

cd /usr/local/
mv apr-1.7.0/ httpd-2.4.46/srclib/apr
mv apr-util-1.6.1/ httpd-2.4.46/srclib/apr-util

[root@centos7 ~]#ll /usr/local/httpd-2.4.46/srclib/
total 16
drwxr-xr-x. 28 1001 1001 4096 Jan 22 09:31 apr
drwxr-xr-x. 21 1001 1001 4096 Jan 22 09:31 apr-util
-rw-r--r--.  1 root   40  121 Feb 11  2005 Makefile.in

3つを一緒にコンパイルしてインストールします

cd httpd-2.4.46
./configure \
--prefix=/app/httpd24 \  #设置安装位置
--enable-so \  #让apache核心装载DSO
--enable-ssl \ #开启SSL功能
--enable-cgi \ #实现CGI
--enable-rewrite \ #开启重读功能
--with-zlib \ #指定zlib压缩
--with-pcre \ #指定prec库
--with-included-apr \ #指定APR库
--enable-modules=most \  #开启绝大多数模块
--enable-mpms-shared=all \
--with-mpm=prefork #工作模式:prefork
make -j '可根据自己PC CPU内核按需设置,加快编译速度' && make install

専用ユーザーを作成する

useradd -s /sbin/nologin -r apache

httpdを実行しているユーザーを指定します

vim /app/httpd24/conf/httpd
user apache
group apache

環境変数を構成する

echo 'PATH=/app/httpd24/bin:$PATH' > /etc/profile.d/http24.sh
. /etc/profile.d/http24.sh

サービスユニットファイルを作成し、起動するように設定します

vim /usr/lib/systemd/system/httpd.service
[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
Documentation=man:httpd(8)
Documentation=man:apachectl(8)
[Service]
Type=forking
#EnvironmentFile=/etc/sysconfig/httpd
ExecStart=/app/httpd24/bin/apachectl start
#ExecStart=/app/httpd24/bin/httpd $OPTIONS -k start
ExecReload=/app/httpd24/bin/apachectl graceful
#ExecReload=/app/httpd24/bin/httpd $OPTIONS -k graceful
ExecStop=/app/httpd24/bin/apachectl stop
KillSignal=SIGCONT
PrivateTmp=true
[Install]
WantedBy=multi-user.target

systemctl enable --now  httpd

マンヘルプを設定する

vim /etc/man_db.conf
MANDATORY_MANPATH           /app/httpd24/man

おすすめ

転載: blog.csdn.net/weixin_50904580/article/details/112977933