簡體   English   中英

部署 node.js 應用程序時出現問題

[英]problem while deploy the node.js application

我正在努力在服務器上部署我的node app 我購買了 NameCheap 的托管服務。 我首先在 cPanel 上上傳node app ,然后創建 node.js 應用程序。 我附上了我如何創建節點應用程序的圖片。計算機上的節點版本是v16.14.0 ,我在我的cPannal中選擇的版本是v14.18.3 ,因為我的cPannal中的最新版本是v14.18.3我如何創建節點應用程序在 cPannal 中,我遵循所有步驟,但是當我點擊 URL 時顯示的消息顯示在我們點擊 API 的 URL 時顯示的圖像消息中

const connectToDb = require("./DBconfig");
const express = require('express')
const router = express.Router();
var cors = require('cors');

connectToDb();
const app = express();
const port = process.env.PORT | 5000;
app.use(cors());

app.use(express.json());
connectToDb();

app.use( '/api/user' ,require('./routes/user') );
app.use( '/api/post' ,require('./routes/post') );

app.get('/', (req, res) => {
  res.send('The site is start now')
})

if(process.env.NODE_ENV === "production"){
  app.use(express.static("client/build"));
  const path = require("path");
  app.get("*",(req,res)=>{
    res.sendFile(path.resolve(__dirname,'client','build','index.html'))
  })
}

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})

我在index.js中使用了上面的代碼,但它不能正常工作。 域是API 的域是誰能告訴我我在服務器上正確上傳/部署了應用程序?

當您已全局安裝一些軟件包但服務器被限制安裝來自packege.json文件的軟件包時,可能會出現此問題service is unavailable 所以檢查packege.json 文件。

在此處輸入圖像描述

進程.env.PORT

確保完全復制它,因為虛擬主機使用相同的環境變量

該代碼似乎是絕對正確的。 如果節點應用程序本身存在問題,您將在啟動時收到錯誤消息。 如果 NodeJS 應用程序正在運行並且您可以直接在端口上訪問它,例如 your-domain.com:5000 並且只有在直接通過域訪問它時才會收到 503 錯誤,那么問題很可能與網絡服務。 如果是 Apache 設置,請確保在您的 .htaccess 中包含以下規則,以將所有請求轉發到您的節點應用程序:

# Add headers to all responses.
<IfModule mod_headers.c>
  RequestHeader set X-Forwarded-Proto https
</IfModule>

<IfModule mod_rewrite.c>
    RewriteEngine on
    # Simple URL redirect:
    RewriteRule ^(.*)$ http://127.0.0.1:5000/$1 [P]
</IfModule>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM