3

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ファイルは正しいパーミッションで作成されています.

誰にもアイデアはありますか?

4

1 に答える 1

2

これについてはまもなくフラグが立てられます (フィードバックに感謝します)。それumask 117までの間、サーバーを実行する前に

于 2013-07-31T19:48:05.783 に答える