현재 프로덕션 환경에 배포하려는 Apostrophe-CMS의 인스턴스가 있습니다. 실행 sudo npm start
잘 작동하고 응용 프로그램이 부팅됩니다. 내가 심볼릭 링크 오류를 받고 있어요 내가 가지고하려고 할 때 그러나, PM2 데몬이 실행 :프로덕션 환경에서 pm2로 노드 앱을 시작하는 데 문제가 있음
Error: EEXIST: file already exists, symlink '/var/sites/hackday-2016-microsite/node_modules/apostrophe/lib/modules/apostrophe-assets/public' -> '/var/sites/hackday-2016-microsite/public/modules/apostrophe-assets' hackday2016-28 at Error (native) hackday2016-28 at Object.fs.symlinkSync (fs.js:1048:18) hackday2016-28 at Object.self.linkAssetFolderOnUnix (/var/sites/hackday-2016-microsite/node_modules/apostrophe/lib/modules/apostrophe-assets/index.js:447:10) hackday2016-28 at Object.self.linkAssetFolder (/var/sites/hackday-2016-microsite/node_modules/apostrophe/lib/modules/apostrophe-assets/index.js:424:14) hackday2016-28 at /var/sites/hackday-2016-microsite/node_modules/apostrophe/lib/modules/apostrophe-assets/index.js:402:14 hackday2016-28 at /var/sites/hackday-2016-microsite/node_modules/lodash/index.js:3073:15 hackday2016-28 at baseForOwn (/var/sites/hackday-2016-microsite/node_modules/lodash/index.js:2046:14) hackday2016-28 at /var/sites/hackday-2016-microsite/node_modules/lodash/index.js:3043:18 hackday2016-28 at Function.<anonymous> (/var/sites/hackday-2016-microsite/node_modules/lodash/index.js:3346:13) hackday2016-28 at self.symlinkModules (/var/sites/hackday-2016-microsite/node_modules/apostrophe/lib/modules/apostrophe-assets/index.js:398:9) hackday2016-28 at /var/sites/hackday-2016-microsite/node_modules/async/lib/async.js:718:13 hackday2016-28 at iterate (/var/sites/hackday-2016-microsite/node_modules/async/lib/async.js:262:13) hackday2016-28 at async.forEachOfSeries.async.eachOfSeries (/var/sites/hackday-2016-microsite/node_modules/async/lib/async.js:281:9) hackday2016-28 at _parallel (/var/sites/hackday-2016-microsite/node_modules/async/lib/async.js:717:9) hackday2016-28 at Object.async.series (/var/sites/hackday-2016-microsite/node_modules/async/lib/async.js:739:9) hackday2016-28 at Object.self.afterInit (/var/sites/hackday-2016-microsite/node_modules/apostrophe/lib/modules/apostrophe-assets/index.js:349:20)
음, 명확한 질문은? pm2를 사용하여 동시에 여러 인스턴스를 시작하고로드 균형을 조정합니까? 그것은 나쁘지는 않지만 다음에 제안 할 내용과 관련이 있습니다. –
PM2는 단일 서버에서 다중 노드 응용 프로그램을 관리하지만 아포스트로피 응용 프로그램은 하나만 관리합니다. – jerikojones
아포스트로피를 실행하는 사용자에게 공개/모듈에 적합한 권한이없는 경우 권한 문제 일 수 있습니다. 또한 pm2가로드 균형 조정을 위해 둘 이상의 프로세스를 실행하도록 구성 될 수도 있습니다. 이는 이전에 요청한 것입니다. 배포 후 및 서버 프로세스를 시작하기 전에 "노드 app apostrophe : generation"을 실행하는 것이 좋습니다. 이것은 경쟁 조건을 피할 수 있습니다. –