この記事は https://typecodes.com/web/centos7compilenginx.html から転載されています
コンパイル エラーがある場合は、次を確認してください: https://typecodes.com/web/solvenginxcompileerror.html
1 依存関係ライブラリの設定、コンパイルおよびNginx1.9.0 をインストールします
最初にログイン権限のない nginx という名前のユーザーと nginx という名前のユーザー グループを作成し、次に nginx に必要な依存ライブラリと依存パッケージをインストールし、最後に .configure でインストールの詳細を設定します。さらに、pcre tar パッケージのバックアップ アドレス: https://dn-vfhky.qbox.me/libs/nginx/pcre-8.36.tar.gz、および zlib tar パッケージのバックアップ アドレス: https://dn -vfhky を追加します。 .qbox.me/libs/nginx/zlib-1.2.8.tar.gz。
#######新しい nginx ユーザーと nginx グループを作成します
[root@typecodes ~]# groupadd -r nginx && useradd -r -g nginx -s /bin/false -M nginx
###### # yum は nginx に必要な依存関係をインストールします
[root@typecodes ~]# yum -y install openssl openssl-devel libxml2-devel libxslt-devel perl-devel perl-ExtUtils-Embed
#######公式サイトから Nginx1 をダウンロード.9.0 tar パッケージをダウンロードし、サーバーに抽出します
[root@typecodes ~]# wget -c http://nginx.org/download/nginx-1.9.0.tar.gz
[root@typecodes ~]# tar -zxf nginx-1.9.0.tar.gz && cd nginx-1.9.0
#######Nginx の Rewrite 機能をサポートするために、pcre の tar パッケージをダウンロードし、解凍します
[root@typecodes nginx- 1.9.0]# wget -c http://git.typecodes.com/libs/php/pcre-8.36.tar.gz && tar -zxf pcre-8.36.tar.gz
#####をダウンロードしますNginx の Gzip 圧縮機能をサポートするために、zlib tar パッケージを解凍してください
[root@typecodes nginx-1.9.0]# wget -c http://git.typecodes.com/libs/nginx/zlib-1.2.8。 tar.gz
[root@ typecodes nginx-1.9.0]# tar -zxf zlib-1.2.8.tar.gz
#######Nginx1.9.0のインストールに必要なディレクトリを作成します
[root@typecodes nginx -1.9.0]# cd /var/tmp/ && mkdir -p /var/tmp/nginx/{client,proxy,fastcgi,uwsgi,scgi}
[root@typecodes tmp]# mkdir -p /var/run/ nginx && cd ~/nginx -1.9.0
準備が完了したら、Nginx-1.9.0のインストール内容の正式な設定を開始します。以下のconfigureパラメータ設定を使用する場合は、まずバックスラッシュ「」の後に追加されたコメントテキストを削除する必要があることに注意してください。 ! !
[root@typecodes nginx-1.9.0]# ./configure
--prefix=/usr/share/nginx [Nginx インストールディレクトリ]
--sbin-path=/usr/sbin/nginx [Nginx sbin ディレクトリ] P ---conf-Path =/etc/nginx/nginx.conf [nginxの設定ファイル]
-error-log-path =/var/log/nginx/error.log [Nginxのエラーログ]
HTTP -log-path =/var/log/nginx/access.log [Nginx アクセスログ]
--pid-path=/var/run/nginx/nginx.pid [Nginx プロセス ID]
--lock-path =/var/lock/ nginx.lock
--user=nginx [Nginx の ssl モジュール]
--with-http_spdy_module [Nginx 用 Google spdy モジュール]
--with-http_dav_module
--with-http_flv_module
--with-http_realip_module
--with -http_addition_module
--with-http_xslt_module
--with-http_stub_status_module
--with-http_sub_module ule
--with-http_random_index_module
--all-http_degradation_module
------http_secure_link_module
圧縮モジュール] HTTP_PERL_MODULE あり
-With-PCRE = PCRE-8.36 [PCRE インストール ディレクトリ]
--with-zlib=zlib-1.2.8 [pcre インストール ディレクトリ]
--with-debug [デバッグを許可]
--with-file-aio
--with-mail
--with-mail _ssl_module
--http-client-body-temp-path=/var/tmp/nginx/client_body
--http-proxy-temp-path=/var/tmp/nginx /proxy
--http-fastcgi-temp-path =/var/tmp/nginx/fastcgi
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi
--http-scgi-temp-path =/var/tmp/nginx/scgi
-- With-Stream [nginx1.9.0 独自の Stream モジュール]
--all-ld -opt = "-wl, -e" [GCC のコンパイルと最適化]
問題が発生しました: ./configure: エラー: perl モジュール ExtUtils::Embed が必要です
問題の説明: このモジュールが見つかりません。yum で以下をインストールする必要があります
解決策: yum install perl perl-devel perl-ExtUtils-Embed
。 /configure --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/ log /nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock /nginx.lock --user=nginx
--group=nginx --with-http_ssl_module --with-http_spdy_module --with-http_dav_module --with-http_flv_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_stub_status_module --with-http_sub_module --with-http_random_index_module
--with-http_degradation_module --with-http_secure_link_module --with-http_gzip_static_module --with-http_perl_module --with-pcre=pcre-8.36 --with-zlib=zlib-1.2.8 --with-debug --with-file -aio --with-mail --with-mail_ssl_module --http-client-body-temp-path=/var/tmp/nginx/client_body
--http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --http-uwsgi-temp-path=/var/tmp /nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-stream --with-ld-opt="-Wl,-E"
構成プロセスには約 5 分かかります
2 設定後、直接コンパイルしてインストールできます。最後に、このコマンド [root@typecodes nginx-1.9.0]# make && make install を実行してインストールします。
[root@typecodes nginx-1.9.0]# make && make install
3 Nginx1.9.0 が正しく動作するように設定します
Nginx1.9.0 を正常にインストールした後、ブート、SSL/HTTPS サービス、等。このうち、Nginx サービス制御スクリプト nginx については、「Nginx サービスを開始、停止、再起動するための SHELL スクリプト」の記事に記載されています。
https://typecodes.com/web/nginxserviceoptshell.html
#######Nginx サービス制御スクリプト nginx をアップロードし、実行権限を付与し、インストール パッケージを削除し、Nginx サービスをスタートアップに追加します
この手順nginx サービス スクリプトがない場合は、自分でダウンロードするか、以下のスクリプトをコピーして、ファイルに nginx
#filestarts
#!/bin/bash
#
# nginx という名前を付けます - このスクリプトが開始され、 nginx daemin を停止します
#
# chkconfig : - 85 15
# description: Nginx は HTTP(S) サーバー、HTTP(S) リバース
# プロキシ、および IMAP/POP3 プロキシ サーバーです
# processname: nginx
# config: / usr/local/nginx/conf/nginx .conf
# pidfile: /usr/local/nginx/logs/nginx.pid
# ソース関数ライブラリ
. /etc/rc.d/init.d/functions
# ソースネットワーク構成.
. /etc/sysconfig /network
# ネットワークが稼働していることを確認します。
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/local/nginx/sbin/nginx"
prog =$(ベース名 $nginx)
NGINX_C /usr/local/nginx/conf/nginx.conf"
lockfile=/var/lock/subsys/nginx
start() {
[ -x $nginx ] || 終了 5
[ -f $NGINX_CONF_FILE ] || 6 を終了
echo -n $"$prog を開始します: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $" $prog を停止しています: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $ retval
}
restart() {
configtest || return $?
stop
start
}
reload() {
configtest || return $?
echo -n $"$prog を再読み込み中: "
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2> ;&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest )
$1
;;
reload)
rh_status_q || 出口 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || $ "使用法: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac
#End of file
[root@typecodes ~]# mv ~/nginx /etc/init.d/nginx && chmod +x /etc/init.d/nginx
/etc/init.d/nginx が存在する場合は、上書きせずに chmod +x /etc/init.d/nginx を実行してください。
[root@typecodes ~]# rm -rf nginx-1.9.0*
[root@typecodes ~]# chkconfig --add nginx
[root@typecodes ~]# chkconfig nginx on
#####Test設定がOKかどうか
root@typecodes ~]# nginx -t
nginx: 設定ファイル /etc/nginx/nginx.conf の構文はokです
nginx: 設定ファイル /etc/nginx/nginx.conf テストは成功しました
# #### ##新しい Nginx プロセス ログ nginx.pid ディレクトリを作成し、サービスを開始します
サーバーの再起動と互換性があるようにこの mkdir を追加します
[root@typecodes ~]# mkdir -p /var/run/nginx/
[ root@ typecodes ~]# service nginx start
上記では、関連する側面を含め、CentOS 71 での nginx のコンパイルとインストールを紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。