将在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.pidRETVAL=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
fiecho -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
esacexit $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