Đưa website nodejs lên hosting tức là đưa website đã lập trình bằng nodejs lên hosting đã mua., để website hoạt động thực sự trên Internet.
Bài viết này đặt ngữ cảnh website nodeJS của bạn dùng database MySQL. Và là bài tiếp nối thứ ba của hai bài trước đó là Mua tên miền cho website và Mua hosting nodejs. Nếu chưa mua tên miền và hosting thì xem để mua nhé
Các việc cần thực hiện
Đưa database lên hosting
Tạo database
Để tạo database trên hosting thì dễ ợt. Bạn vào trang quản trị hosting rồi nhắp Tools , sau đó nhắp Manage My Databases .
Bạn sẽ được đưa vào trang quản trị database trên hosting. Trong mục Create New Database , nhập tên cho batabase mà bạn muốn tạo, rồi nhắp nút Create Database
Khi hosting đã tạo xong database, bạn nhắp link Go back. Giờ thì database đã có, tiếp theo là tạo user để kết nối đến database.
Tạo user kết nối đến database
Giờ thì cần tạo 1 user để cho nodejs sử dụng . Sau khi nhắp Go back như hình trên (tức vẫn ở trong trang quản trị database) . Bạn cuộn xuống chút sẽ thấy mục Database users , nhập tên user database và mật khẩu rồi nhấp nút Create User
Xong nhắp link Go back
Cấp quyền cho user database vừa tạo
Tiếp theo bạn cần phải cấp quyền cho user vừa tạo. Cuộn xuống sẽ thấy mục Add User to Database. Chọn user và database vửa tạo rồi nhắp nút Add
Chọn quyền truy cập cho user vừa tạo cho database. Xong nhắp nút Make Changes
Vậy là xong vụ tạo database, user và cấp quyền. Giờ thì import dữ liệu vào database
Import data vào database
Nhắp Tools và nhắp phpMyAdmin
Nhắp tên database rồi nhắp Import và nhắp Choose File để chọn file .sql . Xong nhắp nút Import
Màn hình sau khi import . Lúc này database đã có trên hosting . Việc tiếp theo là đưa website nodejs lên hosting.
Đưa website nodejs lên hosting
Chuẩn bị project nodejs để đưa lên hosting
Cần phải làm một số việc chuẩn bị để đưa website nodejs lên hosting. Bạn đừng làm trên project nodejs hiện tại nhé.
1. Chép folder project nodejs đang có của mình thành folder mới. Ví dụ đặt tên folder mới là Node-Deploy chẳng hạn. Nhắc lại: không được làm trên folder project nodejs gốc.
2. Việc tiếp theo là xóa folder node_modules đi. Hãy vào folder Node-Deploy, xóa folder node_modules
3. Thứ ba là xóa gói nodemon nếu có dùng trong project. Bằng cách chạy lệnh sau trong folder project
npm remove nodemon
4. Tiếp theo, trong folder Node-Deploy, Bạn mở file package.json và xóa các mục trong phần scripts
5. Chuẩn bị thứ 5 là chỉnh listen trong ứng dụng nodejs. Bằng cách mở file index.js, bỏ listten 3000, chỉ dùng lệnh listen() thôi và không chỉ định port. Xem hình sau để biết cách chỉnh.
Nén code nodejs
Giờ thì việc chuẩn bị đã xong. Nén code lại để đưa website nodejs lên hosting: Vào folder Node-Deploy chọn tất cả các file và nén lại ở dạng .zip
Sau khi nén, trong folder Node sẽ có file zip. Chút nữa sẽ đưa file zip này lên hosting
Tạo ứng dụng NodeJS trên hosting
Trong màn hình quản trị hosting, Nhắp Tools , cuộn xuống mục Software rồi nhắp Setup Node.js App
Nhắp nút Create Application như hình dưới
Điền các thông số để chạy Nodejs
- Application Root: Đặt tên ứng dụng (gì cũng được). Như trong hình là laptop nhớ cái này nhé để chút upload code vào.
- Application URL: prefix cho các route trong ứng dụng, nhập gì tùy ý. Như trong hình là chữ api. Nhớ chữ này để chút nữa dùng trong các route.
- Application startup file: nhập vào file .js có chứa lệnh listen để chạy ứng dụng node.
- Xong thì nhắp nút Create
Upload file nodeJS lên hosting
Nén code xong, giờ thì ulload file nén lên host. Nhắp Tools rồi chọn File Manager
Nhắp folder là tên ứng dụng đã nhập ở trên (laptop) rồi nhắp Upload
Vào folder project NodeJS, chọn file .zip để upload lên hosting
Xong thì nhắp Go back
Giải nén zip: Nhắp nút phải chuột tại file zip, chọn Extract
Cấu hình kết nối database
Giờ thì code đã đưa lên host. bạn cần phải cấu hình để nodejs kết nối đến database đã tạo ở trên. Trong website của bạn, file nào có chứa thông số kết nối database thì mở nó lên để cấu hình. Bằng cách nhắp nút phải chuột tại tên file chọn lệnh Edit.
Bạn nhập các thông tin để kết nối đến database đã tạo. Gồm tên database, database user và mật khẩu đã tạo ở trên. Xong thì nhắp nút Save Changes để lưu lại.
Chỉnh các route của node với prefix đã khai báo
Việc tiếp theo là chỉnh các route để chạy được trên môi trường mới. Ví dụ ở trên – lúc tạo ứng dụng nodejs – đã khai báo prefix cho các route là api. Thì bây giờ phải chỉnh làm sau để các route trong ứng dụng phải prfix đúng với khai báo này. Tham khảo ví dụ dưới để biết thực hiện:
Chỉnh các route với prefix của ứng dụng đã khai báo lúc tạo ứng dụng (api)
Cài module và start ứng dụng nodeJS
Giờ thì cài các node module cho ứng dụng của bạn và start ứng dụng là xong. Trong màn hình quản trị hosting, nhắp Tools rồi nhắp Setup Node.js App trong phần Software
Nhắp nút Edit tại ứng dụng để điều chỉnh
Nhắp nút RunNPM Install để cài các node_modules . Khi quá trình cài đã xong thì nhắt nút Restart
Vậy là xong rồi đó. Request thử các route trong ứng dụng sẽ thấy ngon lành. Lúc này code NodeJS đã chạy hoàn toàn trên Internet
Cấu hình cors origin cho các route
Để bảo vệ cho các route api tránh bị các website khác lấy dữ liệu. Bạn nên cấu hình rõ ràng cors nhé. Cấu hình cors là để chỉ định nguồn gốc của request được phép request đến api, các method mà ứng dụng của bạn cho phép, các http header nào được phép…
const corsOpt = {
origin: "*",
methods: "GET, HEAD, PUT, PATCH, POST, DELETE",
allowedHeaders: ['Content-Type', 'Authorization'],
credentials: true,
};
app.use(cors(corsOpt));
Tromg đó origin là thông số khai báo nguồn của http request , ghi * có nghĩa là cho phép thoãi mái, ai request đến api cũng được. Còn nếu ghi https://longnv.name.vn có nghĩa là chỉ cho phép nguồn request đến từ địa chỉ này. Mục methods là chỉ định các method bạn cho phép…