ホームページ >バックエンド開発 >PHPチュートリアル >centos でソースコードから nginx をコンパイルする
groupadd -r nginx
useradd -r -g nginx -s /bin/false -M nginx
./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 教則に関心のある友人の助けになることを望みます。