Hướng dẫn quản trị và triển khai ứng dụng trên hệ điều hành Linux

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:

  1. vi ten_file.conf để mở.
  2. Nhấn phím i để vào chế độ chỉnh sửa (Insert mode).
  3. Sau khi sửa xong, nhấn Esc để thoát chế độ sửa.
  4. :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

  1. Tải bản cài đặt .tar.gz và giải nén vào /usr/local.
  2. 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:

  1. Đóng gói: Sử dụng Maven để build dự án thành tệp .war hoặc .jar.
  2. 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:\logs thành /var/logs).
  3. Truyền tải: Sử dụng các công cụ như SFTP (WinSCP, FileZilla) để đẩy file lên máy chủ.
  4. Chạy ứng dụng: Đưa file .war vào thư mục webapps của Tomcat hoặc chạy trực tiếp bằng lệnh java -jar đối với Spring Boot.
  5. Kiểm tra: Luôn theo dõi tệp catalina.out hoặ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.

Thẻ: linux CentOS system-administration mysql Java

Đăng vào ngày 5 tháng 6 lúc 16:00