@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é.
[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à:
Sau khi cập nhật view --> npm run build
Lấy nội dung build được bỏ vào folder public bên Nodejs
Git push đẩy lên github
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.
@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 ?
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é.
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.
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 reload
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 @@!
@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:NodeJSbạn nên ignore trong folder/publicđi vì nội dung trong folder này là thuộc về bênReact.NodeJShay cho bênReacthay cả hai:NodejSthì bạn chỉ cần ssh thực hiện pull code củaNodeJSthôi bỏ qua bênReact.Reactthì bạn cũng tương tự ssh vào server, thực hiện pull codeReactsang một folder khác và build bên folder đó. Sau khi build xong thì bạn thực hiệnsymlinkfolder nội dung folder build đó và folderpublicbênNodeJSdeploycả hai thì bạn thực hiện lần lượt các bước như trênChứ bạn không nên build sau đỏ bỏ vào folder public bên
NodeJSpush 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é.[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à:
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.
Bạn chuyển qua xác thực bằng tin nhắn sẽ được nhé
)
Bạn thử thêm vào nginx xem sao
@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
buildtừ React không vậy ?à, 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.
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.
@tomhagen à nó bị thiếu ngoặc nhọn bạn ạ:
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.
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.
@tomhagen bạn thử sửa lại nội dung file
my-site.confthành như sau xem:Cảm ơn anh nhé! Bài rất ổn đấy!
Test vẫn không được bạn ơi, ca này căng quá
((

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ỉNextJSvớ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é.@tomhagen bạn bị sai đường dẫn rồi, bạn
cdvào trong folder public kia rồi gõ lệnhpwdđể lấy được đúng đường dẫn nhéTranslate chưa đến nơi
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ỉ ?
Đây là cấu trúc thư mục của mình:
@tomhagen sorry bạn mình bị viết sai chính tả
-sviết thường chứ không phải viết hoa nhé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.
http://voxtrac.underlandian.com/ Không truy cập được
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 reload