1. Tổng quan về hệ điều hành Linux
Trong quy trình phát triển phần mềm chuyên nghiệp, lập trình viên thường tiếp xúc với ba loại môi trường chính:
- Môi trường phát triển (Development): Nơi viết mã nguồn (thường là Windows hoặc macOS).
- Môi trường kiểm thử (Testing/Staging): Bản sao của môi trường chạy thật để kiểm tra lỗi.
- Môi trường triển khai (Production): Nơi ứng dụng chạy thực tế cho người dùng cuối.
Linux là lựa chọn hàng đầu cho môi trường Production nhờ tính ổn định cao, bảo mật tốt và hoàn toàn miễn phí. Hầu hết các máy chủ Web, Database hiện nay đều vận hành trên nền tảng này.
2. Cấu trúc thư mục hệ thống
Khác với Windows sử dụng các ổ đĩa (C:, D:), Linux quản lý mọi thứ bắt đầu từ gốc (root) ký hiệu là /. Dưới đây là các thư mục quan trọng:
/bin: Chứa các lệnh thực thi cơ bản của hệ thống./etc: Lưu trữ các tệp cấu hình (Config files)./home: Thư mục cá nhân của người dùng thông thường./root: Thư mục của quản trị viên cao nhất./usr/local: Nơi cài đặt các phần mềm từ bên thứ ba (như JDK, Tomcat)./opt: Thư mục dành cho các gói phần mềm tùy chọn thêm.
3. Các nhóm lệnh cơ bản thường dùng
Thao tác với thư mục và tệp tin
# Hiển thị danh sách tệp tin (bao gồm cả tệp ẩn)
ls -la
# Di chuyển giữa các thư mục
cd /usr/local/src
# Tạo thư mục mới (bao gồm cả thư mục cha nếu chưa có)
mkdir -p /data/apps/web
# Xóa thư mục không trống một cách quyết liệt
rm -rf /tmp/old_data
# Sao chép tệp tin hoặc thư mục
cp -r folder_goc folder_dich
# Đổi tên hoặc di chuyển tệp tin
mv file_cu.txt file_moi.txt
Soạn thảo văn bản với VI/VIM
Để chỉnh sửa cấu hình, ta thường dùng trình soạn thảo vi:
- Gõ
vi ten_file.confđể mở. - Nhấn phím
iđể vào chế độ chỉnh sửa (Insert mode). - Sau khi sửa xong, nhấn
Escđể thoát chế độ sửa. - Gõ
:wqđể lưu và thoát, hoặc:q!để thoát mà không lưu.
Quản lý tiến trình và dịch vụ
# Kiểm tra các tiến trình đang chạy (ví dụ tìm java)
ps -ef | grep java
# Dừng một tiến trình theo ID (PID)
kill -9 1234
# Quản lý dịch vụ (Systemd)
systemctl start mysqld # Khởi động
systemctl stop mysqld # Dừng
systemctl status mysqld # Kiểm tra trạng thái
systemctl enable mysqld # Tự động chạy khi khởi động máy
4. Quản lý người dùng và phân quyền
Linux phân quyền dựa trên 3 nhóm: Owner (Chủ sở hữu), Group (Nhóm), và Others (Người dùng khác).
# Thay đổi quyền truy cập (777 là toàn quyền cho mọi người)
chmod 755 script.sh
# Thay đổi chủ sở hữu của tệp tin/thư mục
chown -R root:root /usr/local/jdk
5. Cài đặt môi trường chạy ứng dụng Java
Cài đặt JDK 8
- Tải bản cài đặt
.tar.gzvà giải nén vào/usr/local. - Cấu hình biến môi trường trong tệp
/etc/profile:
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH
Sau đó chạy lệnh source /etc/profile để cập nhật cấu hình.
Cài đặt MySQL 5.7 qua Yum
# Tải và cài đặt Repo
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
# Vô hiệu hóa bản 8.0 và kích hoạt 5.7 trong tệp cấu hình repo
vi /etc/yum.repos.d/mysql-community.repo
# Cài đặt server
yum install mysql-community-server -y
# Khởi động và lấy mật khẩu tạm thời
systemctl start mysqld
grep 'temporary password' /var/log/mysqld.log
Triển khai Tomcat
# Giải nén Tomcat
tar -zxvf apache-tomcat-8.5.x.tar.gz -C /usr/local/
# Chạy Tomcat
cd /usr/local/apache-tomcat/bin
./startup.sh
# Xem log thời gian thực
tail -f ../logs/catalina.out
6. Quy trình triển khai ứng dụng (SSM/Spring Boot)
Để đưa một dự án Java Web (như SSM - Spring, SpringMVC, MyBatis) lên Linux, cần thực hiện các bước sau:
- Đóng gói: Sử dụng Maven để build dự án thành tệp
.warhoặc.jar. - Cấu hình: Đảm bảo các thông số kết nối Database, đường dẫn lưu trữ tệp tin trên Linux là chính xác (ví dụ: đổi
C:\logsthành/var/logs). - Truyền tải: Sử dụng các công cụ như SFTP (WinSCP, FileZilla) để đẩy file lên máy chủ.
- Chạy ứng dụng: Đưa file
.warvào thư mụcwebappscủa Tomcat hoặc chạy trực tiếp bằng lệnhjava -jarđối với Spring Boot. - Kiểm tra: Luôn theo dõi tệp
catalina.outhoặc log ứng dụng để xử lý kịp thời các lỗi phát sinh trong quá trình khởi động.