thắc mắc Làm sao web server có thể xác định file config cho từng môi trường

zzzgamozzz

Senior Member
Chào các bác, em có một thắc mắc về Java Spring Boot và PHP (hai project khác nhau).

Ở Java thì trong source code nó chứa nhiều file config (.yml) ứng với từng môi trường, khi build ra file .war và đẩy vào thư mục webapp của tomcat thì nó tự nhận file config của môi trường đó (dev, staging, prod) mà không cần can thiệp gì. Đến cả DB lẫn schema cũng phân biệt rạch ròi được luôn. Em lục hết source thì không hề có đoạn code Java nào để phân định môi trường cả, code Java nó chỉ coi có duy nhất 1 file config để nó start

Project mới của em là làm trên PHP Magento 2, em cũng muốn áp dụng cách làm của Java để triển khai lên nhiều môi trường cho chỉ 1 source code mà chưa biết cách làm sao.
 
Thì mỗi deployment server nó có 1 environment variable tương ứng chứ sao. Còn làm cách nào để env variable đó có sẵn thì mình ko biết.
 
Thì mỗi deployment server nó có 1 environment variable tương ứng chứ sao. Còn làm cách nào để env variable đó có sẵn thì mình ko biết.
Em cũng phỏng vậy. Project java nó có tổng cộng 4 môi trường: dev (chạy trực tiếp trên IDE), staging (SIT và UAT cùng một server, chỉ khác là chạy 2 instance tomcat song song và expose port khác nhau), prod (2 con VM riêng biệt, chỉ chạy duy nhất tomcat và mấy cái dependencies của Prod). Em nghi nó setup environment flag ở trong config của tomcat nhưng chưa tìm ra nó config chỗ nào, mà project đó em out rồi nên không còn quyền truy cập. Đang tính học theo để setup cho con nginx
 
Build file war ném vô Tomcat ~ Tôi thấy cách này từ lâu rồi (Hồi làm Viettel thấy hay làm ~ cỡ 2010). Giờ nên chạy file jar rồi config nginx thì ngon hơn
 
Build file war ném vô Tomcat ~ Tôi thấy cách này từ lâu rồi (Hồi làm Viettel thấy hay làm ~ cỡ 2010). Giờ nên chạy file jar rồi config nginx thì ngon hơn
Project chạy từ hồi java 8 mới ra lò rồi á bác, mà client họ nói không cần thiết phải đổi process nếu nó vẫn hoạt động bình thường.
Nginx là em setup cho project mới dùng Magento 2 ấy ạ
 
Nó config data source trên server tomcat, fen ko thấy là đúng rồi
Bác biết trên tomcat chỗ nào không nhỉ? Em hồi đó lục tomcat mà cũng không rõ nó nằm chỗ nào để config.
Thêm một quả nữa là thằng SIT và UAT nó host trên cùng server, cùng dùng 1 Database (chỉ khác mỗi schema), trong khi source code lại không có config nào liên quan đến chọn schema cả mà nó vẫn chạy ngon lành.
 
Spring Boot sử dụng cấu hình trong tệp properties hoặc yml để chỉ định profile muốn kích hoạt. Ví dụ:
spring.profiles.active=development
 
Bác biết trên tomcat chỗ nào không nhỉ? Em hồi đó lục tomcat mà cũng không rõ nó nằm chỗ nào để config.
Thêm một quả nữa là thằng SIT và UAT nó host trên cùng server, cùng dùng 1 Database (chỉ khác mỗi schema), trong khi source code lại không có config nào liên quan đến chọn schema cả mà nó vẫn chạy ngon lành.
Data source khai báo trong file server.xml
 
Back
Top