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
# 설명: Nginx는 HTTP입니다. (S) 서버, HTTP(S) 역방향
# 프록시 및 IMAP/POP3 프록시 서버
# 프로세스 이름: nginx
# 구성: /usr/local/nginx/conf/nginx.conf
# 구성: /etc/sysconfig/nginx
# pidfile: /usr/local/nginx/logs/nginx.pid
>
# 소스 함수 라이브러리.
. /etc/rc.d/init.d/functions
# 소스 네트워킹 구성
. /etc/sysconfig/network
# 네트워킹이 작동 중인지 확인하세요.
[ "$NETWORKING" = "no" ] && 종료 0
nginx="/usr/local/nginx /sbin/nginx"
prog=$(기본 이름 $nginx)
NGINX_CONF_FILE="/us r/local/nginx/conf/nginx.conf"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
Lockfile =/var/lock/subsys/nginx
make_dirs () {
# 필요한 디렉토리 만들기 options=`$nginx -V 2>&1 | grep '인수 구성:'`
$options를 선택하려면;
if [ `echo $opt | grep '.*-temp-path'` ]; then
value=`echo $opt | cut -d "=" -f 2`
if [ ! -d "$값" ]; then
# echo "creating" $value
mkdir -p $value && chown -R $user $value
fi
fi
완료
}
> 시작 () {
[ -x $nginx ] || 5번 출구
[ -f $NGINX_CONF_FILE ] || 종료 6
make_dirs
echo -n $"$prog 시작: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && $lockfile 터치
$retval 반환
}
> prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
$retval 반환
}
다시 시작() {
구성테스트 || $?
중지
잠자기 1
시작
}
>
reload() {
configtest || return $?
echo -n $"$prog 다시 로드 중: "
killproc $nginx -HUP
RETVAL=$?
echo
}
>
force_reload() {
다시 시작
}
configtest() {
$nginx -t - c $NGINX_CONF_FILE
}
rh_status() {
상태 $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && 0번 출구
$1
;;
중지)
rh_status_q || 종료 0
$1
;;
restart|configtest)
$1
;;
다시 로드)
rh_status_q || 7번 종료
$1
;;
강제 다시 로드)
force_reload
;;
상태)
rh_status
;;
condrestart|시도-재시작)
rh_status_q || 종료 0
;;
*)
echo $"사용법: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
종료 2
esac
启动脚本到这里介绍。
开启php支持,vim /usr/local/nginx/conf/nginx.conf
위치 / {
루트 html;
색인 index.html index.htm index.php; //添加index.php
}
//启用下下配置
위치 ~ .php$ {
루트 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 CONTER_LENGTE $ content_length;FASTCGI_PARAM SCRIPT_FILENAME $ document_ROOT $ FASTCGI_SCRIPT_NAME;
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, 包括了方face的内容, 希望对PHP教程有兴趣的朋友有所帮助。