为了部署 NodeJS,我使用 systemd 并配置 /lib/systemd/system/[service_name].service 文件
=========================================
[Unit]
Description=Inventory Management System
Documentation=PLM Inventory Management Documents
After=network.target
[Service]
Environment=NODE_PORT=3000
Type=simple
User=superuser
WorkingDirectory=/home/superuser/inventory
ExecStart=/home/superuser/.npm-global/bin/nodemon --exec babel-node /home/superuser/inventory/server/server.js
Restart=on-failure
[Install]
WantedBy=multi-user.target
=========================================
如何通过 systemd 在 ubuntu 服务器上部署 NextJS?
提前致谢。
ku4*_*eto 12
我使用以下单元文件运行它:
[Unit]
Description=NodeJS server, NextJS public frontend
After=network.target
[Service]
Type=simple
User=someuser
Group=someuser
Restart=on-failure
RestartSec=10
WorkingDirectory=/some/dir/
ExecStartPre=/usr/bin/npm install
ExecStartPre=/usr/bin/npm run build
ExecStart=/usr/bin/npm run start
[Install]
WantedBy=multi-user.target
应该WorkingDirectory指向 NextJS 项目所在的目录。
npm install在(废话)中安装依赖项node_modules。
npm run build编译一些东西,最终启动static/
npm run startNodeJS 服务器。
很多人建议使用pm2,但我不喜欢它。如果您使用 CDI,则可以将npm run build和npm install放入构建过程中,然后提取工件(下面提到的文件/文件夹)。
考虑到 NextJS 的工作方式,您可能只需要以下文件和文件夹:node_modules/ static/ package.json package-lock.json next.config.js. 不过,这也取决于您的项目。
当然,这对于生产服务器来说还远远不够。特别是,因为您需要设置一个像 Nginx 或 Apache 这样的网络服务器,以便location对您的 NextJS 应用程序进行代理传递。这是因为,NextJS 应用程序在Localhost:PORT.
资料来源:这方面的痛苦经历。
| 归档时间: | 
 | 
| 查看次数: | 5265 次 | 
| 最近记录: |