Làm sao để đưa nodejs lên vps
-
Mình có xem trên mạng về nodejs và socket.io
Mình có viết một demo chat. Ở localhost thì ok nhưng mình không biết cách đưa nó lên vps để mọi người có thể vào như thế nào!
Anh em nào am hiểu xin hướng dẫn mình với.
Link demo của mình. https://www.youtube.com/watch?v=nqpAU4EzEYo -
Cái này thì phải tùy vps có những cái gì , hệ điều hành gì . Bạn đã bao h đưa ứng dụng lên vps chưa? Bạn có thể tham khảo bài này của mình có gì khó hiểu mình sẽ giải thích tiếp nhé
http://techmaster.vn/posts/33620/trien-khai-ung-dung-nodejs-tren-may-chu-centos -
Mình sẽ nói đơn giản thế này cho bạn hiểu nhé.
- Cài đặt Nodejs lên VPS. Bạn dùng OS nào thì lên search google để cài đặt. Ngoài ra bạn dùng MongoDB thì cũng phải cài lên VPS trước khi chạy Node.
- Upload Code lên VPS bằng FTP (Filezila) còn bạn biết dùng Git thì tốt.
- Vào thư mục Project và chạy lệnh quen thuộc "npm install" hoặc là xong.
- Cài đặt npm install -g pm2 để giúp bạn chạy background.
- Bình thường bạn sẽ chạy: node app.js thì giờ bạn thay bằng pm2 start app.js --name "project" là Done.
- Ra ngoài thưởng thức Project: domain:port hoặc bạn dùng port 80 thì vào thẳng domain là xong.
Good luck!
-
@Quốc-Cường Mình chưa đưa ứng dụng lên vps bao giờ cả. Thường thì mình chỉ cài vps để chạy được web thôi. Mình dùng vps centos 6. Mình có xem bài viết của bạn mấy lần rồi. Nhưng do lần đầu đưa lên nên bỡ ngỡ lắm
Từ đầu đến đoạn Đưa ứng dụng của bạn lên server thì mình làm ok rồi
Còn từ đó trở xuống mình chưa làm được! -
@Tung-Nguyen Mình có quay lại video https://www.youtube.com/watch?v=SZD2k2nsrPY
Bước mình đã làm tới. Mình làm tới đoạn pm2 start app.js --name "project" nhưng mình ko hiểu lắm! trong video mình có hỏi ở chỗ này! Bạn chỉ giúp mình nhé! Cảm ơn bạn! -
Như của bạn thì là
pm2 start socket.js --name "gì_cũng_được"
là ok rồi chứ nhỉ?
Bạn truy cập vào IP vps của bạn (45.32.xx.xxx:1003) để xem xem đã load được chưa? Nếu vẫn chưa thì bạn thử đổi port 1003 trong socket.js sang 80 và truy cập vào 45.32.xx.xxx:80 xem. -
@jokyspy Mình làm như bạn nói rồi! Không được bạn ạ! Chắc mình thiếu chỗ nào đó
-
Bạn kiểm tra xem nó có mở cổng trên VPS chưa nhé :|, Cái này thì tùy thằng mà cách nó mở cổng khác nhau.
-
@Quốc-Cường em có mở cổng đó ra rồi anh! http://lodulove.net/Capture.JPG
Nhưng không vào được anh ạ! Chắc em làm thiếu phần gì đó,mới lần đầu nên không biết là bị thiếu gì. Anh có thể teamview qua xem giúp em được không? -
Video các bước em thực hiện bắt đầu từ lúc cài vps https://www.youtube.com/watch?v=swVk29x4JLw không biết là em còn thiếu gì nữa để nó có thể chạy được!
-
Thử curl 127.0.0.1:80 thử bạn. nó timeout hay có ra không.
Thứ 2 Open PORT
Nếu Centos thì dùng iptables , ubuntu thì xài ufwCòn không bạn xài csf để allow port, trong /etc/csf/csf.conf
-
Theo mình biết thì các port <=1024 trên linux sẽ yêu cầu quyền root [1]. Nếu bạn mở port của ứng dụng node.js bằng các port đó thì sẽ không truy cập được đâu nhé. Nhưng nếu dùng nginx làm proxy thì okay.
Thông tin đến bạn. =))
-
Không rõ bạn đang mắc ở bước nào. Bắt đầu từ bước cài VPS nhé.
Phần 1: Cài NodeJS
-
Cài xong update
yum -y update -
Xong cài dev tool, đại thể là những thứ như gcc, g++ để bạn build cục source nodeJS. Cài bằng yum toàn packages old date nên phải import cái repo khác để cài devtool mới nhất.
curl http://linuxsoft.cern.ch/cern/scl/slc6-scl.repo > /etc/yum.repos.d/slc6-scl.repo
rpm --import http://ftp.mirrorservice.org/sites/ftp.scientificlinux.org/linux/scientific/51/i386/RPM-GPG-KEYs/RPM-GPG-KEY-cern
yum install -y devtoolset-3 -
Và để sử dụng nó mà không cần phải thiết lập các biến môi trường thực thi lệnh này:
scl enable devtoolset-3 bash -
Cài nodeJS . Đầu tiên cd tới /usr/src, nơi thường dùng để chưa source.
cd /usr/src
Tải source node từ trang chủ http://nodejs.org/download/.
wget http://nodejs.org/dist/v4.2.4/node-v4.2.4.tar.gz
v4.2.4 là version của nodejs, bạn có thể thay đổi cho phù hợp. Sau đó giải nén:
tar zxf node-v0.10.4.tar.gz
Cuối cùng là build source
cd node-v4.2.4
./configure
make
make installXong bạn gõ node -v xem nodejs chạy chưa. Ok rồi thì cd vào folder chứa app nodejs, start nó lên:
node app.js &Dùng pm2 để quản lý process như các bạn phía trên hướng dẫn cũng được, không để đơn giản cứ start xem nó chạy chưa đã.
Phần 2: Mở port
Bạn không nên mở thẳng port 80 vào app của bạn, lý do như @fsociety-vn có nên trên, vậy nên bạn open port 8080 hay gì đó lớn hơn rồi forward về port 80. Forward như thế nào còn tùy VPS của bạn là gì mới hướng dẫn tiếp được. Nếu là Amazon EC2 thì có bài này cho bạn tham khảo:
http://www.lauradhamilton.com/how-to-set-up-a-nodejs-web-server-on-amazon-ec2 -