centos6.0下nginx的使用

将在centos系统下, 对nginx的使用细节记录于此。

1. 安装

nginx下载地址: http://nginx.org/en/download.html

(1)首先确保添加了epel第三方库,更新资源sudo yum update.  执行命令:yum install nginx*。

安装完毕.

(2)也可以通过下载tar.gz压缩包进行安装。

先安装nginx依赖的其它程序:yum install gcc openssl-devel pcre-devel zlib-devel。

其次下载压缩包,我下载的是nginx-1.0.5.tar.gz,解压缩:tar -zxvf nginx-1.0.5.tar.gz。

进入文件夹:nginx-1.0.5。./configure preix=安装的路径;make;  make install.安装完毕。

进入执行安装路径下的sbin/nginx,如果80端口出现web服务,则安装成功。

2. 启动/停止

针对系统自动安装的程序,使用/etc/init.d/nginx start|stop|status等命令。

找到nginx二进制文件,可以直接使用命令:

1 启动之前检查nginx的主配置文件是否有错误

# nginx  -t

2  启动nginx的方式

# nginx  -c  xxx/nginx.conf

3 关闭nginx 的方式

# nginx  -s  stop

4 平滑启动nginx

#kill  -HUP  `xxx/nginx/logs/nginx.pid`

对于自己手动安装的程序,可以自己写启动脚本,自定义功能。

最后制作启动脚本。一个简单的启动脚本如下:

#!/bin/bash
#nginx Startup script for the Nginx HTTP Server
nginxd=/usr/local/myapp/nginx/sbin/nginx
nginx_config=/usr/local/myapp/nginx/conf/nginx.conf
nginx_pid=/usr/local/myapp/nginx/logs/nginx.pid

RETVAL=0
prog=”nginx”

#Source function library
. /etc/rc.d/init.d/functions
#Source networking configuration
. /etc/sysconfig/network

#Check that network is up
[ ${NETWORKING} = “no” ] && exit 0

[ -x $nginxd ] || exit 0

echo ${prog}

#Start nginx daemons functions
start(){

if [ -e $nginx_pid ];then
echo “nginx already running…”
exit 1
fi

echo -n $”Starting $prog:”
daemon $nginxd -c ${nginx_config}
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch $nginx_pid
return $RETVAL
}

stop() {

echo -n $”Stopping $prog”
killproc $nginxd
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f $nginx_pid
}

#See how we are called
case “$1″ in
start)

start
;;

stop)

stop
;;
restart)

stop
start
;;

*)
echo $”Usage:$prog:start|stop|restart”
exit 1
esac

exit $RETVAL

3. 使用nginx作为反向代理以及开启缓存。

配置文件中添加如下指令:

http {

……

proxy_cache_path  cache/proxy_cache levels=1:2 keys_zone=my_proxy_cache:1000m inactive=1d max_size=20000m;

server {

……

proxy_temp_path cache/proxy_temp

location /pass/ {

proxy_pass http://www.example;

proxy_cache my_proxy_cache

}

}

}

proxy_pass:

结尾斜杠的问题:

nginx为http://www.test.com

Location /test/ {

proxy_path http://www.new.com

}

Location /test/ {

proxy_path http://www.new.com/

}

如果我们访问链接http://www.test.com/test/ , 对于前者,会生成http://www.new.com/test/;对于后者,会产生http://www.new.com。

结果差异很大,而原因紧紧是proxy_path结尾的斜杠。

4. nginx的配置文件中的 daeman和master_process指令。

前者的默认值为On,表示nginx在后台运行。如果显性地设置为 : daemon off, 则nginx会在终端中运行。

master_process的默认值为On,如果设置为off,则表示nginx以单个进程的方式运行。 通常这两个命令紧紧在生产中使用。平时没必要考虑它们。

5. 查看nginx并发数

http://blog.csdn.net/adparking/article/details/6677920