Chạy node.js trên host?
-
mình muốn đưa các code của mình lên 1 host nhưng chưa biết sẽ phải chạy những gì,bạn nào giúp mình được ko? chạy ở localhost thì ok hết rồi
-
Ban thu trang heroku.com di. Cho minh deploy mien phi len host, host no quan ly.
-
Mình hướng dẫn với dự án dùng express.
Dùng host Heroku và công cụ toolbelt (cả 2 đều free)- Đăng ký một tài khoản trên Heroku.
- Cài đặt toolbelt trên máy tính (hỗ trợ cho việc tạo và đẩy project lên host).
Tiếp theo.
-
Tạo một file tên là: Procfile ở thư mục gốc của project (Không có đuôi mở rộng).
-
Trong Procfile bạn thêm đoạn code sau: web: node app.js
-
Để chắc chắn rằng Heroku sử dụng đúng phiên bản của node thì bạn mở file package.json và thêm đoạn code sau:
"engines": {
"node": "0.8.x",
"npm": "1.2.x"
} -
Sau đó bạn có thể sử dụng 2 lệnh sau trong command line để tạo một site trên Heroku và publish nó:
heroku apps:create
git push heroku master -
Khi xong thì có thể vào Heroku với tài khoản của bạn và xem các hướng dẫn để mở site (đường dẫn site khá là dài và khó nhớ).
Mình sẽ cập nhật thêm hình ảnh trực quan nếu bạn chưa làm được (do hiện tại đang ngồi máy công ty nên cũng không có resource).
-
Mình dùng digitalocean thấy cũng khá đơn giản.
https://www.digitalocean.com/features/one-click-apps/
Có sẵn image của Node.js hoặc MEAN.js cho bạn lựa chọn. Sau khi tạo xong droplet bạn chỉ cần git pull source code của bạn về và bắt đầu node server thôi
-
@loser Bạn có thể hướng dẫn thêm hình ảnh giúp mình không, mình đã thứ nhưng có vẻ không được, Thanks bạn
-
@loser Mình chạy được, nhưng hình như host này không hỗ trợ mysql nhỉ
-
CHIPS có hỗ trợ hosting Node.js
https://chips.vn/hosting-ssl/hosting-nodejs-app.html
Liên lạc 0966966247 có người tư vấn nhé.
-
@Dương-Thái-Cường Cái này không hổ trợ mysql như có support postgreSQL đó bạn. Xem như cũng khá giá trị. 5 app, 5 csdl postgreSQL, mỗi CSDL free 10.000 rows. Chắc mình cũng nên mua cái gói 7$ 1 tháng cho người ta có khí thế free...
-
Bài này cũng khá cũ rồi nhỉ. Nhưng mình không muốn tạo thêm chủ để mới, với cả hướng dẫn cũng chỉ nhằm mục đích cho các bạn test thôi, nên cũng chả quan trọng để tạo topic mơi.
Để cài và chạy nodejs lên hosting thì trước hết bạn phải có quyền truy cập ssh đối với hosting. Và mình sẽ cài nodejs thông quanvm
.
Bạn truy cập vào hosting với ssh console (Mình thường dùng ZOC Terminal).
Chạy lệnh sau để cài đặtnvm
:wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
Tiếp theo bạn cần tắt console và kết nối lại SSH để có thể dùng
nvm
.
Kiểm tranvm
cài đặt thành công với lệnh:command -v nvm
nếu in ra
nvm
thì đã cài thành công. Tiếp theo các bạn càinodejs
bằng lệnh sau:nvm install node
Bạn có thể kiểm tra
nodejs
vànpm
đã được cài đặt như thông thường với 2 lệnh:node -v
vànpm -v
.
Tiếp theo, vào thư mục gốc để chứa mã nguồn web, thường thì làpublic_html
cd public_html
Tại đây các bạn có thể up code của các bạn lên như bình thường. Còn mình sẽ tạo một file mã nguồn đơn giản với ví dụ kinh điển là in ra trình duyệt dòng chữ
Hello world
. Nội dung file `app.js của mình:var http = require("http"); http.createServer(function (request, response) { // Send the HTTP header // HTTP Status: 200 : OK // Content Type: text/plain response.writeHead(200, {'Content-Type': 'text/plain'}); // Send the response body as "Hello World" response.end('Hello World\n'); }).listen(65500); // Console will print the message console.log('Server running!/');
Sau đó tạo file
.htaccess
để có thể truy cập từ port 80 của domain về port của node server:RewriteEngine On RewriteRule ^$ http://127.0.0.1:65500/ [P,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ http://127.0.0.1:65500/$1 [P,L]
Các bạn vào lại SSH console để chạy node server:
node app.js
Truy cập vào domain và xem thành quả nhé
Các bạn còn máu me nữa có thể cài thêm cảforever
vànodemon
để server tiếp tục chạy kể cả khi tắt SSH console và tự khởi động lại khi code có thay đổi nhé.npm install forever nodemon -g forever start --minUptime 1000 --spinSleepTime 1000 --killSignal=SIGTERM -c "nodemon --exitcrash" app.js
Mình không biết trên share host có dùng được cách này không, vì ip của share host là ip share chung, mình cũng chưa thử, chỉ mới thử trên business host vì nó có IP riêng và quyền giao tiếp SSH.
Thường thì Share host ít có quyền giao tiếp với SSH, còn Business host thì giá thấp lắm cũng phải từ 150k trở lên, đăt hơn dùng VPS. Nên mình nghĩ cái này vọc vạch thì ngon chứ để dùng thì chắc VPS hoặc Platform tốt hơn. -
Bên em hỗ trợ sẵn, có thể chạy ngay mà ko cần config ạ
https://hostingviet.vn/cung-cap-hosting-nodejs-gioi-thieu-tong-quan-nodejs