嗨,伙计们,我试着启动Docusaurus V2,作为一种在上的服务。目前,我有一个脚本在我的文档龙文件夹作为一个临时的解决方案。当我用./start.sh启动它时,它会工作。
/var/www/citro-docs-2/start.sh
#!/bin/bash
npm run serve我试着创建这样的服务:
/etc/systemd/system/docusaurus.service
[Unit]
Description=Docusaurus Service
[Service]
ExecStart=/var/www/citro-docs-2/start.sh
WorkingDirectory=/var/www/citro-docs-2
[Install]
WantedBy=multi-user.target但是,当我用sudo systemctl start docusaurus.service启动并检查状态时,我会得到以下错误:
● docusaurus.service - Docusaurus Service
Loaded: loaded (/etc/systemd/system/docusaurus.service; disabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Wed 2021-08-25 11:53:20 UTC; 4s ago
Process: 3494 ExecStart=/var/www/citro-docs-2/start.sh (code=exited, status=1/FAILURE)
Main PID: 3494 (code=exited, status=1/FAILURE)
Aug 25 11:53:20 citro-docs2 start.sh[3521]: at require (node:internal/modules/cjs/helpers:94:18)
Aug 25 11:53:20 citro-docs2 start.sh[3521]: at Object.<anonymous> (/var/www/citro-docs-2/node_modules/@docusaurus/c>
Aug 25 11:53:20 citro-docs2 start.sh[3521]: at Module._compile (node:internal/modules/cjs/loader:1101:14)
Aug 25 11:53:20 citro-docs2 start.sh[3521]: at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153>
Aug 25 11:53:20 citro-docs2 start.sh[3521]: at Module.load (node:internal/modules/cjs/loader:981:32)
Aug 25 11:53:20 citro-docs2 start.sh[3521]: at Function.Module._load (node:internal/modules/cjs/loader:822:12)
Aug 25 11:53:20 citro-docs2 start.sh[3521]: at Function.executeUserEntryPoint [as runMain] (node:internal/modules/r>
Aug 25 11:53:20 citro-docs2 start.sh[3521]: at node:internal/main/run_main_module:17:47
Aug 25 11:53:20 citro-docs2 systemd[1]: docusaurus.service: Main process exited, code=exited, status=1/FAILURE
Aug 25 11:53:20 citro-docs2 systemd[1]: docusaurus.service: Failed with result 'exit-code'.我找到了一个可以直接启动.js文件的解决方案:如何将node.js应用程序作为后台服务运行?,但我不知道这对文档库是否也是可能的。至少我不知道该启动哪个.js文件。如果有人能帮忙那就太棒了。
发布于 2021-08-25 14:20:06
是的,可以在Ubuntu上将Docusaurus作为服务运行。值得一提的是,您在这里所做的工作对于Node.js应用程序来说是非常正常的。毕竟,如果不将Node.js应用程序作为服务运行,那么一旦关闭启动应用程序的外壳,该服务就会停止运行。
然而,似乎大多数人都不会在Ubuntu上运行Docusaurus,因为它“只是一个静态站点”,而静态站点实际上并不需要一个完整的服务器来运行。例如,您可以使用利用GitHub页面运行文档站点。
尽管如此,文档龙只是一个Node.js应用程序。它类似于所有其他Node.js应用程序,如果您愿意的话,您当然可以在Ubuntu中运行它。
看看PM2上的文档。
我将您的应用程序作为服务启动的方式是:
pm2在服务器上安装npm install -g pm2npm install来安装应用程序的依赖项。pm2 start /var/www/citro-docs-2/start.sh --name myDocsSite了您的Docus龙应用程序现在应该正在运行。要阻止它,您可以运行pm2 stop myDocsSite。
https://stackoverflow.com/questions/68923998
复制相似问题