Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > Client Script Forum > สอบถาม การเรียกใช้งาน node express api บน vps ครับ



 

สอบถาม การเรียกใช้งาน node express api บน vps ครับ

 



Topic : 136106



โพสกระทู้ ( 14 )
บทความ ( 0 )



สถานะออฟไลน์




ผมเขียน node express api รันบนเครื่อง local ได้ปกติครับ

แต่ผมจะเอาไปลงบน vps ครับ

โดยการที่ตอนนี้ ผมเอาโฟลดเดอร์ api ที่เขียนไปวางใน ใน public_html โฟลเดอร์บน vps

ทีนี้ผมต้องการทราบว่า ผมจะสามารถเรียก api จากข้างนอก มายังไงครับ

ยกตัวอย่างเช่น ผมมี domain name ของ โฮสนี้คือ www.abc.com หรือ ip 10.100.111.111 แล้วผมต้องการจะเรียก api เช่น

www.abc.com/getsomething หรือ 10.100.111.111/getsomething ผมจะต้อง set หรือ ทำขั้นตอนอะไร ต่อไปครับ

รบกวนชี้แนะด้วยครับ ผมเรียก node server.js(ไฟล์มัน) มันใช้ได้ครับ เรียกบน local ของ vps



Tag : MySQL, Node.js







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2021-05-11 09:47:18 By : joestar View : 983 Reply : 12
 

 

No. 1



โพสกระทู้ ( 9,545 )
บทความ ( 2 )



สถานะออฟไลน์


1 บน VPS ได้ลง nodejs หรือยัง
2 สั่ง run service บน server เช่น nodejs index.js หรือยัง เพื่อที่จะรอรับ request






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-05-11 11:52:57 By : Chaidhanan
 


 

No. 2



โพสกระทู้ ( 14 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : Chaidhanan เมื่อวันที่ 2021-05-11 11:52:57
รายละเอียดของการตอบ ::
1.ลงแล้วครับ
2.สั่ง node server.js ปริ้นค่าออกมาได้ครับพี่




คือตอนนี้ เรียกเข้ามาที่โดเมน จากข้างนอก สามารถแสดง เพจ index.html ได้ครับ ขึ้นข้อความ


แต่ทีนี้ ผมพาธไป domainame.com/api/test

เจอ Not Found 404 ครับ


ประวัติการแก้ไข
2021-05-11 11:59:30
2021-05-11 11:59:35
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-05-11 11:57:01 By : joestar
 

 

No. 3



โพสกระทู้ ( 9,545 )
บทความ ( 2 )



สถานะออฟไลน์


Code (JavaScript)
router.get('/getsomthing',(req,res) => {
    var api = require('/path/api.js');
    api.your_func1;
});



มีคำสั่ง get url คล้ายข้างบนไหม

คือ ถ้าสั่ง nodejs filename.js แล้ว ก็อยู่ที่โค๊ดภายในแล้ว เขียนไว้อย่างไร
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-05-11 12:09:42 By : Chaidhanan
 


 

No. 4



โพสกระทู้ ( 14 )
บทความ ( 0 )



สถานะออฟไลน์


Code (JavaScript)
const express = require("express");
const app = express();
const cors = require("cors");
const config = require("./config");
const shop = require("./api/shop");
const staff = require("./api/staff");
const multer = require("multer");
const socket = require("./socket");
// const port = 80;
const port = process.env.port || 9990;


app.use(
  express.urlencoded({
    parameterLimit: 100000,
    limit: "50mb",
    type: "application/json",
    extended: true,
  }));

app.use(express.json());
app.set("json spaces", 2);


app.use(
  cors({
    credentials: true,
    origin: "http://localhost:3000", // URL of the react (Frontend) app
  })
);

app.use("/api/shop", shop);
app.use("/api/staff", staff);

// default route
app.get("/", (req, res) => {
  return res.send({
    error: false,
    message: "default root path",
  });
});

app.use((err, req, res, next) => {
  res.send(err.message);
});

console.log("before socket run");

app.listen(port, () => {
  const datetime = new Date();
  const message = `Server runnning on Port:- ${port} Started at :- ${datetime}`;
  console.log(message);
});





/////


shop.js


Code (JavaScript)


const express = require("express");
const route = express.Router();
const config = require("../config.js");
const proc = require("../procedures");


route.get("/getshop/:shopcode", async (req, res, next) => {
  const shopCode = req.params.shopcode;
  config.query(proc.getShopList, shopCode, (error, results, fields) => {
    if (error) throw error;
    if (results[0].length === 0) {
      return res.send({
        error: false,
        data: 0,
        message: "no shop list.",
      });
    }
    return res.send({
      error: false,
      data: results[0],
      message: "shop list.",
    });
  });






ประมาณนี้ครับพี่


ประวัติการแก้ไข
2021-05-11 12:15:21
2021-05-11 12:32:52
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-05-11 12:14:39 By : joestar
 


 

No. 5



โพสกระทู้ ( 9,545 )
บทความ ( 2 )



สถานะออฟไลน์


เอา tools tag javascript ครอบ โค๊ดหน่อยครับ จะได้อ่านง่าย แยก file ด้วยนะ เผื่อว่างๆ ก๊อปโค๊ดไปลอง

Code (JavaScript)
const express = require("express");
const app = express();
const cors = require("cors");
const config = require("./config");
const shop = require("./api/shop");
const staff = require("./api/staff");
const multer = require("multer");
const socket = require("./socket");
// const port = 80;
const port = process.env.port || 9990;


app.use(
express.urlencoded({
parameterLimit: 100000,
limit: "50mb",
type: "application/json",
extended: true,
}));

app.use(express.json());
app.set("json spaces", 2);


app.use(
cors({
credentials: true,
origin: "http://localhost:3000", // URL of the react (Frontend) app
})
);

app.use("/api/shop", shop);
app.use("/api/staff", staff);

// default route
app.get("/", (req, res) => {
  return res.send({
    error: false,
    message: "default root path",
  });
});

app.use((err, req, res, next) => {
  res.send(err.message);
});

console.log("before socket run");

app.listen(port, () => {
  const datetime = new Date();
  const message = `Server runnning on Port:- ${port} Started at :- ${datetime}`;
  console.log(message);
});



/////
shop.js

Code (JavaScript)
const express = require("express");
const route = express.Router();
const config = require("../config.js");
const proc = require("../procedures");


route.get("/getshop/:shopcode", async (req, res, next) => {
const shopCode = req.params.shopcode;
config.query(proc.getShopList, shopCode, (error, results, fields) => {
if (error) throw error;
if (results[0].length === 0) {
return res.send({
error: false,
data: 0,
message: "no shop list.",
});
}
return res.send({
error: false,
data: results[0],
message: "shop list.",
});
});



ประวัติการแก้ไข
2021-05-11 12:24:08
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-05-11 12:21:59 By : Chaidhanan
 


 

No. 6



โพสกระทู้ ( 14 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : Chaidhanan เมื่อวันที่ 2021-05-11 12:21:59
รายละเอียดของการตอบ ::
ok ขอบคุณครับพี่ โทษทีครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-05-11 12:27:08 By : joestar
 


 

No. 7



โพสกระทู้ ( 9,545 )
บทความ ( 2 )



สถานะออฟไลน์


คล้ายๆ ว่าจะทำเป็น subdomain ใช่ไหมครับเนี่ย

https://dev.to/exceedteam/express-subdomain-routing-1j9c

ไม่รู้จะใช่ตามความต้องการไหม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-05-11 12:32:03 By : Chaidhanan
 


 

No. 8



โพสกระทู้ ( 14 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 7 เขียนโดย : Chaidhanan เมื่อวันที่ 2021-05-11 12:32:03
รายละเอียดของการตอบ ::
พี่ครับ หรือว่าผมต้องทำ proxy server ให้มันวิ่งมาเรียก localhost ที่ port 9990 ครับ เพราะว่า nginx มันจะ default ที่ index.html ข้างนอกเลยเรียก domain แล้วมาเจอ index.html ซึ่งแสดงหน้าเว็บปกติ ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-05-11 13:14:20 By : joestar
 


 

No. 9



โพสกระทู้ ( 9,545 )
บทความ ( 2 )



สถานะออฟไลน์


ไม่ต้องไปใช้ proxy หรอก
แค่เปลี่ยน port ที่ app.listen() ง่ายกว่าไหม คือถ้ามันมีการใช้งาน กับ web server อื่นอยู่ มันมักจะชนกัน
เราใช้ api ก็ไม่จำเป็นต้องใช้ port 80 หรือ 443

อ้ออย่าลืม เปิด พอร์ต ที่ต้องการด้วยล่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-05-11 13:21:36 By : Chaidhanan
 


 

No. 10



โพสกระทู้ ( 14 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 9 เขียนโดย : Chaidhanan เมื่อวันที่ 2021-05-11 13:21:36
รายละเอียดของการตอบ ::
ไม่ได้ครับพี่ เปลี่ยนพอร์ทแล้วครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-05-11 13:30:22 By : joestar
 


 

No. 11



โพสกระทู้ ( 9,545 )
บทความ ( 2 )



สถานะออฟไลน์


เปิด filewall แล้ว

แล้ว เดิมมี nodejs run อยู่ก่อนแล้วหรือยัง
ก่อนที่จะ เอา api ไปลง

ถ้ามีแล้ว ก็ให้ สร้าง nodejs service อีกตัว ไม่ต้องพึ่งของเก่า
เริ่ม ตั้งแต่ ใช้ npm สร้าง project ใหม่
แล้ว ก๊อป เอา api ไปไว้ใน project นั้น

ืnodejs มัน run ได้หลาย project พร้อมๆ กัน แค่พอร์ต ต่างกัน และ เปิด firewall ให้ port เหล่านั้น
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-05-11 13:44:11 By : Chaidhanan
 


 

No. 12



โพสกระทู้ ( 14 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 11 เขียนโดย : Chaidhanan เมื่อวันที่ 2021-05-11 13:44:11
รายละเอียดของการตอบ ::
ขอบคุณมากครับพี่ เดี๋ยวผมลองดูก่อนครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-05-11 14:35:53 By : joestar
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถาม การเรียกใช้งาน node express api บน vps ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่