THẢO LUẬN

link server tách nhạc thì hỏng link github thì ko có readme, chạy thế nào cũng ko đc cái demo nhạc sơn tùng gì đó cũng set private luôn @@!

+1
Sep 15th, 2019 9:26 a.m.

@tomhagen Theo mình thấy cách bạn deploy có vẻ không ổn lắm. Thông thường thì bạn sẽ dev trên máy tính cá nhân của bạn đã. Sau này khi code thêm tính năng và bạn muốn deploy lên server DO thì bạn có 2 cách một là ssh vào server và tự chạy các thao tác bằng tay hoặc cách hai là bạn tìm hiểu về autodeploy. Với cả 2 cách thì bạn nên làm như sau:

  • Bên NodeJS bạn nên ignore trong folder /public đi vì nội dung trong folder này là thuộc về bên React.
  • Mỗi lần deploy bạn cần xác định rõ là deploy NodeJS hay cho bên React hay cả hai:
    • Nếu deploy cho phần NodejS thì bạn chỉ cần ssh thực hiện pull code của NodeJS thôi bỏ qua bên React.
    • Deploy React thì bạn cũng tương tự ssh vào server, thực hiện pull code React sang một folder khác và build bên folder đó. Sau khi build xong thì bạn thực hiện symlink folder nội dung folder build đó và folder public bên NodeJS
    • Còn nếu deploy cả hai thì bạn thực hiện lần lượt các bước như trên

Chứ bạn không nên build sau đỏ bỏ vào folder public bên NodeJS push lên Github như hiện tại. Còn để nhanh hơn thì bạn nên tìm hiểu về autodeploy nhé.

+1
Avatar
đã bình luận câu trả lời trong câu hỏi
Sep 15th, 2019 8:34 a.m.

[Solved] Chạy được rồi bạn ơi, đúng như bạn nói trong folder public không có js và css, không hiểu sao mình copy thiếu. Mình vào git clone lại là nó chạy. Cho mình hỏi, làm sao để mỗi lần sửa lại view với React, thì instance trên Ubuntu tự biết mà cập nhật lại được nhỉ ? Bây giờ thao tác mình làm mỗi lần sửa lại view là:

  1. Sau khi cập nhật view --> npm run build
  2. Lấy nội dung build được bỏ vào folder public bên Nodejs
  3. Git push đẩy lên github
  4. Chưa biết làm gì tiếp theo để nó cập nhật lên instance đc, git clone không được nữa. Nếu muốn git clone thì mình phải xóa .git đi rồi mới thao tác đc.

Không biết có cách config hay cách nào làm nhanh vụ này không bạn? Cảm ơn bạn hỗ trợ rất nhiều.

0

Bạn chuyển qua xác thực bằng tin nhắn sẽ được nhé 😃)

0
Sep 15th, 2019 4:21 a.m.
location / {
		proxy_pass http://127.0.0.1:5000;
		 
	}

Bạn thử thêm vào nginx xem sao

0
Sep 15th, 2019 3:31 a.m.

@tomhagen mình ko có teamview nhé bạn nhưng nhìn vào folder public của bạn thì mình không thấy phần js, css đâu cả bạn có chắc đó là folder build từ React không vậy ?

0
Avatar
đã bình luận câu trả lời trong câu hỏi
Sep 14th, 2019 4:47 p.m.

à, không bạn. Ngoặc nhọn mình đã thêm vào mới nãy rồi nhưng vẫn không được ấy. Screenshot_11.png

Nếu được bạn teamview giúp mình với, mình loay hoay vụ này mãi mà không đc. 😦(( id: 1 398 578 563 pass: x49vj4

Cảm ơn bạn.

0
Sep 14th, 2019 4:38 p.m.

@tomhagen à nó bị thiếu ngoặc nhọn bạn ạ:

 server {
  listen   5000;
  index index.html;

  location / {
    root /root/news-server/public;
    include /etc/nginx/mime.types;
 }
}

0
Avatar
đã bình luận câu trả lời trong câu hỏi
Sep 14th, 2019 4:26 p.m.

Mình đã sửa lại nội dung như hướng dẫn nhưng vẫn không được bạn ơi, chạy lệnh reload lại nginx báo lỗi. Screenshot_10.png

Bạn có thể teamview giúp mình được không, mấy cái này mình không có kiến thức gì mấy về nó. Cảm ơn bạn.

0
Sep 14th, 2019 3:42 p.m.

@tomhagen bạn thử sửa lại nội dung file my-site.conf thành như sau xem:

 server {
  listen   5000;
  index index.html;

  location / {
    root /root/news-server/public;
    include /etc/nginx/mime.types;
}

0

Cảm ơn anh nhé! Bài rất ổn đấy!

0
Avatar
đã bình luận câu trả lời trong câu hỏi
Sep 14th, 2019 12:22 p.m.

Test vẫn không được bạn ơi, ca này căng quá 😦((
Screenshot_9.png

0
Sep 14th, 2019 12:09 p.m.

Cảm ơn bạn nhiều. Thực tế thì không có cách nào gọi là "dịch trực tiếp" đâu bạn các ngôn ngữ khác không chỉ NextJS với React hay VueJS hay thậm chí bên server đều phải sử dụng cách mà bạn nói trên là chuyển nội dung dịch vào các file rồi gọi ra nhé.

0
Sep 14th, 2019 12:06 p.m.

@tomhagen bạn bị sai đường dẫn rồi, bạn cd vào trong folder public kia rồi gõ lệnh pwd để lấy được đúng đường dẫn nhé

0
Avatar
đã bình luận cho bài viết
Sep 14th, 2019 11:59 a.m.

Translate chưa đến nơi

0
Avatar
đã bình luận câu trả lời trong câu hỏi
Sep 14th, 2019 11:57 a.m.

Test IP:5000 vẫn chưa được bạn ơi, bạn xem giúp mình viết chỗ đường dẫn vậy có đúng ko nhỉ ? Screenshot_7.png

Đây là cấu trúc thư mục của mình: Screenshot_8.png

0
Sep 14th, 2019 11:51 a.m.

@tomhagen sorry bạn mình bị viết sai chính tả -s viết thường chứ không phải viết hoa nhé

0
Avatar
đã bình luận cho bài viết
Sep 14th, 2019 11:36 a.m.

Mình đang bắt đầu tập tành với Nextjs, vô tình lượm được bài này, giống như "Lượm được bí kiếp" vậy. 😃)) Cảm ơn bạn rất nhiều. Nếu được bạn chia sẻ phần làm việc đa ngôn ngữ trong next dùng nexti18next đi bạn, mình có thấy demo example trong kho docs của nextjs trên github nhưng đọc qua thấy chỉ là demo rất đơn giản thôi, chỗ nào có text cần chuyển đổi ngôn ngữ thì nó viết riêng ra 1 file rồi bỏ vào trong thư mục locales, mình thấy làm vậy hơi bất tiện, không biết trong dự án thực tế nó làm sao nhỉ ? Có cách nào dịch trực tiếp không nhỉ, sau này maintain vào chính component đó sửa cho nhanh, chứ ngồi vừa nhìn component rồi vừa nhìn file dịch để so sánh mới tìm ra được chỗ sửa thì căng.

+1
Avatar
đã bình luận câu trả lời trong câu hỏi
Sep 14th, 2019 11:02 a.m.

Tới đây rồi bác ơi, chạy lệnh này nó báo hard link sudo ln -S /etc/nginx/sites-available/my-site.conf /etc/nginx/sites-enabled sudo servie nginx reloadScreenshot_6.png

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí