【问题标题】:Supervisor wont run file located in /usr/bin but I can run it if I cd to it and run it manually主管不会运行位于 /usr/bin 中的文件,但如果我 cd 到它并手动运行它,我可以运行它
【发布时间】:2018-01-18 02:57:03
【问题描述】:

我无法让主管在我的 Ubuntu 16.04 AWS EC2 实例上运行 laravel echo 服务器,但它在我的 Homestead Ubuntu 16.04 VM 上运行良好。我得到的错误是找不到命令'/usr/bin/laravel-echo-server.如果我直接 cd 到 /usr/bin 并运行 laravel-echo-server start 它以开发模式启动就好了

我正在运行节点 V8.9.1

这是我的配置文件中的内容

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)04d
command=/usr/bin/laravel-echo-server start --dir=/var/www/html/bcbAPI
autostart=true
autorestart=true
user=root
redirect_stderr=true
stdout_logfile=/var/www/html/bcbAPI/storage/logs/echoserver.log
stderr_logfile=/var/www/html/bcbAPI/storage/logs/echoserver-error.log

laravel-echo-server.json

{
    "authHost": "http://myip.com/b3",
    "authEndpoint": "/broadcasting/auth",
    "clients": [
        {
            "appId": "aa41c60c83ffa7f7",
            "key": "70e24d91c54f9f30d1fbdb2ed3f2cce8"
        }
    ],
    "database": "redis",
    "databaseConfig": {
        "redis": {
                "port": "6379",
                "host": "localhost"
        },
        "sqlite": {
            "databasePath": "/database/laravel-echo-server.sqlite"
        }
    },
    "devMode": true,
    "host": null,
    "port": "6001",
    "protocol": "http",
    "socketio": {
        "wsEngine": "uws"
    },
    "sslCertPath": "",
    "sslKeyPath": "",
    "sslCertChainPath": "",
    "sslPassphrase": "",
    "apiOriginAllow": {
        "allowCors": true,
        "allowOrigin": "myiphere/b2",
        "allowMethods": "GET,POST,PUT",
        "allowHeaders": "Origin, Content-Type, X-Auth-Token, X-Requested-With, Accept, Authorization, X-CSRF-TOKEN, X-Socket-Id"
    }
}

【问题讨论】:

  • 试试把你的命令改成/usr/bin/node /usr/bin/laravel-echo-server start --dir=/var/www/html/bcbAPI
  • 我收到此错误spawnerr: can't find command '/usr/bin/nodewhich node 显示 usr/local/bin/node 所以我试过了,我得到了这些错误 2018-01-18 15:28:58,702 INFO spawned: 'laravel-workertwo_0000' with pid 6026 2018-01-18 15:28:58,762 INFO exited: laravel-workertwo_0000 (exit status 0; not expected) 2018-01-18 15:28:59,764 INFO gave up: laravel-workertwo_0000 entered FATAL state, too many start retries too quickly
  • 如果你全局安装了 laravel echo server,将命令改为laravel-echo-server start --dir=/var/www/html/bcbAPI

标签: laravel supervisord


【解决方案1】:

在一切之前,检查 NodeJSlaravel-echo-server 的绝对路径:

which node
which laravel-echo-server

在你的命令中添加 nodejs 和 laravel-echo-server PATH 后:

command=/bin/node /bin/laravel-echo-server start --dir=YOUR_ABSOLUTE_PROJECT_PATH

问题解决了!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    相关资源
    最近更新 更多