ホームページ  >  記事  >  バックエンド開発  >  centos でソースコードから nginx をコンパイルする

centos でソースコードから nginx をコンパイルする

WBOY
WBOYオリジナル
2016-08-08 09:29:06952ブラウズ

mkdir /usr/local/nginx

先インストールpcre、書き換え模块が必要

tar zxvf pcre-8.10.tar.gz

cd pcre-8.10/./configure

make && make install

groupadd -r nginx

useradd -r -g nginx -s /bin/false -M nginx

tar -zxvf nginx-1.7.10

cd nginx-1.7.1 0

./configure --user=nginx --group=nginx -prefix=/usr/local/nginx --with-http_stub_status_module -with-http_ssl_module -with-pcre -with-http_realip_module -with- http_gzip_static_module --with-file-aio

make && make install

追加启アニメーション脚本:vim /etc/init.d/nginx

#!/bin/sh
#
# nginx - このスクリプトは nginx デーモンを開始および停止します
#
# chkconfig: - 85 15
# description: Nginx は HTTP(S) サーバー、HTTP(S) リバース
#プロキシと IMAP/POP3 プロキシ サーバー
# processname: nginx
# config: /usr/local/nginx/conf/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /usr/local/nginx/logs /nginx.pid

# ソース関数ライブラリ
。 /etc/rc.d/init.d/functions

# ソース ネットワーク構成。 /etc/sysconfig/network

[ "$NETWORKING" = "no" ] 0

prog=$(ベース名 $nginx)

NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
                                                                                                                                                                                                        
[ -f /etc/sysconfig/nginx ] && 。 /etc/sysconfig/nginx

lockfile=/var/lock/subsys/nginx

make_dirs(){
##必要なディレクトリ=ユーザー= `nginx -v 2>&1 | grep "引数の設定:" | sed 's/[^*]*--user=([^ ]*).*/1/g' -`
options=`$nginx -V 2>&1 | grep '引数を設定します:'`
for opt in $options; do
if [ `echo $opt | grep '.*-temp-path'` ];それでは
value=`echo $opt | Cut -d "=" -f 2`
if [ ! -d "$value" ]; Thand#echo "creating" $value
mkdir-p $ value && chown -r $ user $ values 5 番出口
[ -f $NGINX_CONF_FILE ] || exit 6
make_dirs
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
Stop(){
eCho -N $ "停止$ prog:"

restart() {
configtest || $? $? -c $nginx_conf_file
}
rh_status(){
ステータス$prog
}
rh_status_q(){
rh_status>/dev/null 2>&1
}
case "$ 1" intStart) exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try -再起動)
rh_status_q || exit 0
;;
*)
echo $"使用法: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac


启アニメーション脚本へ

启phpsupport,vim /usr/local/nginx/conf/nginx.conf


location / {

root html;

インデックス index.html index.htm index.php;    //追加index.php

}

//启用下面の配置

location ~ .php$ {

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;

#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

vim /etc/nginx/fastcgi_params,如果無しまたは者は空白の话,查找一下find / -name fastcgi_params,然后贝过来

fastcgi_param GATEWAY_INTERFACE CGI/1.1;

fastcgi_param SERVER_SOFTWARE nginx;

fastcgi_param QUERY_STRING $query_string;

fastcgi_param REQUEST_METHOD $request_method;

fastcgi_param CONTENT_TYPE $content_type ;

fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;

fastcgi_param REQUEST_URI $request_uri;

fastcgi_param DOCUMENT_URI $document_uri;

fastcgi_param DOCUMENT_ROOT $document_root;

fastcgi_param SERVER_PROTOCOL $server_protocol;

fastcgi_param REMOTE_ADDR $remote_addr;

fastcgi_param REMOTE_PORT $remote_port;

fastcgi_param SERVER_ADDR $server_addr;

fastcgi_param SERVER_PORT $server_port;

fastcgi_param SERVER_NAME $server_name;


chmod +x /etc/init.d/nginx

chkconfig --add nginx

chkconfig nginx on

サービスnginx開始

以上、centos のソースコード nginx を紹介しましたが、側面の内容も含まれており、PHP 教則に関心のある友人の助けになることを望みます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。