вы все верно говорите, запускать сокет в фоне, можно разными способами, самый простой добавив символ & в конец командной строки, пример php yii websocket/start & крон же нужен для перезапуска при падении, а лучше использовать supervisor
php yii websocket/start & вот кстати юзал такую штуку с амперсантом в конце выдавало PID, но при отключении ssh сокет падал Вот щас дошло что нужно тут крон юзать, что б заново поднимал
по поводу nginx, не забудь увеличить значение для proxy_read_timeout ибо дефолтная 1 минута маловато ну и шли ping - pong клиент сервер, чтобы сокет не падал