fastcgi mono socket(nginx:访问被拒绝)

时间:2013-07-31 16:04:08

标签: ubuntu nginx mono fastcgi-mono-server

我有一个ubuntu(13.04)/ nginx / mono设置。当我将fastcgi-mono-server4上的套接字设置为TCP但它我想使用套接字时,它可以工作。

我正在使用这个在启动时运行的脚本启动它:

#!/bin/sh

### BEGIN INIT INFO
# Provides:          monoserve.sh
# Required-Start:    $local_fs $syslog $remote_fs
# Required-Stop:     $local_fs $syslog $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start fastcgi mono server with hosts
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/mono
NAME=monoserver
DESC=monoserver

MONOSERVER=$(which fastcgi-mono-server4)
MONOSERVER_PID=$(ps auxf | grep fastcgi-mono-server4.exe | grep -v grep | awk '{print $2}')

WEBAPPS=":/usr/share/nginx/html/"

case "$1" in
        start)
                if [ -z "${MONOSERVER_PID}" ]; then
                        echo "starting mono server"
                        ${MONOSERVER} /applications=${WEBAPPS} /socket=unix:/var/run/mono.sock &
                        echo "mono server started"
                else
                        echo ${WEBAPPS}
                        echo "mono server is running"
                fi
        ;;
        stop)
                if [ -n "${MONOSERVER_PID}" ]; then
                        kill ${MONOSERVER_PID}
                        echo "mono server stopped"
                else
                        echo "mono server is not running"
                fi
        ;;
esac

exit 0

问题是/var/run/mono.sock文件是使用不允许nginx访问它的权限创建的。我不知道如何解决这个问题。如果我手动设置权限为666 nginx工作。默认sock文件的权限是:srwxr-xr-x

我在这台服务器上也有php5-fpm,它的sock文件是用正确的权限创建的,所有这一切都是通过start-stop-daemon启动的。

有人有什么想法吗?

1 个答案:

答案 0 :(得分:2)

很快就会有一面旗帜(感谢您的反馈)。 在此期间,您可以在运行服务器之前umask 117