我已安装nginx-gridfs并遵循https://github.com/mdirolf/nginx-gridfs。
Nginx安装成功。
在nginx.conf文件中我指定如下:
server{
location /gridfs/ {
gridfs my_app;
}
}
抛出错误gridfs是未知指令。
Restarting nginx: nginx: [emerg] unknown directive "gridfs" in /etc/nginx/nginx.conf:69
nginx: configuration file /etc/nginx/nginx.conf test failed
任何人建议解决方案。
谢谢, 普拉萨德。
答案 0 :(得分:0)
从源代码编译nginx然后使用make install安装它时,它安装在/ usr / local / nginx而不是/ etc / nginx中,因此需要在nginx scipt中更改创建的路径和守护进程(你必须手动创建并链接它,因为从源代码编译不会创建它自己的。)
我假设您已经从添加gridfs模块的源代码中安装了nginx。
现在不幸的是,您无法使用/etc/init.d/nginx中的脚本启动或停止nginx服务,因为从源代码安装不会创建脚本(如果在/中找到) etc / init.d /,然后在使用包管理器安装nginx时生成此脚本)
然后检查你的nginx状态。如果它正在运行,请使用:
sudo kill `cat /usr/local/nginx/logs/nginx.pid`

然后继续创建一个脚本:
sudo nano /etc/init.d/nginx

在银行文件中使用此代码段:
#! /bin/sh
### BEGIN INIT INFO
# Provides: nginx
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the nginx web server
# Description: starts nginx using start-stop-daemon
### END INIT INFO
#PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/nginx/sbin
#DAEMON=/usr/sbin/nginx
DAEMON=/usr/local/nginx/sbin/nginx
NAME=nginx
DESC=nginx
test -x $DAEMON || exit 0
# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
. /etc/default/nginx
fi
set -e
. /lib/lsb/init-functions
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
--exec $DAEMON -- $DAEMON_OPTS || true
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
--exec $DAEMON || true
echo "$NAME."
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \
/usr/local/nginx/logs/$NAME.pid --exec $DAEMON || true
sleep 1
start-stop-daemon --start --quiet --pidfile \
/usr/local/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
echo "$NAME."
;;
reload)
echo -n "Reloading $DESC configuration: "
start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
--exec $DAEMON || true
echo "$NAME."
;;
status)
status_of_proc -p /usr/local/nginx/logs/$NAME.pid "$DAEMON" nginx && exit 0 || exit $?
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|reload|force-reload|status}" >&2
exit 1
;;
esac
exit 0

然后使文件可执行:
sudo chmod +x /etc/init.d/nginx

现在将脚本添加到默认运行级别:
sudo /usr/sbin/update-rc.d -f nginx defaults

那就是它。你完成了!您现在可以使用该脚本来启动,停止和重新启动nginx:
sudo /etc/init.d/nginx start
sudo /etc/init.d/nginx stop
sudo /etc/init.d/nginx restart

如果您需要更多帮助,请点击此链接:1
在页面底部,您将找到手动创建nginx脚本的链接。