在Linux服务器上高效部署应用,掌握软件安装方式和环境配置是关键。本文将详细介绍Linux系统下四种主流的软件安装方法,并指导如何在云服务器上搭建基础环境,最终完成SpringBoot项目的发布。
一、Linux系统下四种软件安装方式
1. 源码编译安装
源码安装是最灵活的方式,用户可自定义编译参数。基本步骤为:下载源码包(通常为.tar.gz或.tar.bz2格式)、解压、配置(./configure)、编译(make)、安装(make install)。例如安装Nginx:`
wget http://nginx.org/download/nginx-1.20.1.tar.gz
tar -zxvf nginx-1.20.1.tar.gz
cd nginx-1.20.1
./configure --prefix=/usr/local/nginx
make && make install`
2. 包管理器安装
不同Linux发行版有各自的包管理工具。Ubuntu/Debian使用apt,CentOS/RHEL使用yum。这种方法自动解决依赖关系,安装简便:`
# Ubuntu/Debian
sudo apt update
sudo apt install nginx
CentOS/RHEL
sudo yum install epel-release
sudo yum install nginx`
3. 二进制包安装
直接下载预编译的二进制文件,解压即可使用,适合快速部署。如安装JDK:`
wget https://download.oracle.com/java/18/latest/jdk-18linux-x64bin.tar.gz
tar -zxvf jdk-18linux-x64bin.tar.gz
sudo mv jdk-18 /usr/local/`
4. 软件仓库安装(如Snap/Flatpak)
新兴的通用包格式,跨发行版支持。例如通过Snap安装Redis:`
sudo snap install redis`
二、云服务器基础环境搭建
1. 系统更新与安全配置
登录云服务器后,首先更新系统并配置防火墙:`
sudo apt update && sudo apt upgrade # Ubuntu/Debian
sudo yum update # CentOS/RHEL
配置防火墙(以UFW为例)
sudo ufw allow 22 # SSH端口
sudo ufw allow 80 # HTTP端口
sudo ufw allow 443 # HTTPS端口
sudo ufw enable`
2. 安装Java环境
SpringBoot项目需要Java运行环境,推荐安装JDK 8或11:`
# Ubuntu/Debian
sudo apt install openjdk-11-jdk
CentOS/RHEL
sudo yum install java-11-openjdk-devel
验证安装
java -version`
3. 安装数据库服务(以MySQL为例)`
# Ubuntu/Debian
sudo apt install mysql-server
sudo systemctl start mysql
sudo systemctl enable mysql
CentOS/RHEL
sudo yum install mysql-server
sudo systemctl start mysqld
sudo systemctl enable mysqld`
4. 安装Web服务器(Nginx)
Nginx可作为反向代理服务器:`
sudo apt install nginx # 或使用yum安装
sudo systemctl start nginx
sudo systemctl enable nginx`
三、SpringBoot项目部署实战
1. 项目打包
在本地开发环境将SpringBoot项目打包为可执行JAR文件:`
# 使用Maven
mvn clean package
或使用Gradle
./gradlew bootJar`
2. 上传项目文件
通过SCP或SFTP将JAR文件上传到服务器:`
scp target/your-project.jar user@your-server-ip:/home/ubuntu/`
3. 运行SpringBoot应用
在服务器上启动应用,推荐使用Systemd管理服务:`
# 创建服务文件
sudo vi /etc/systemd/system/springboot-app.service
文件内容示例
[Unit]
Description=SpringBoot Application
After=syslog.target
[Service]
User=ubuntu
ExecStart=/usr/bin/java -jar /home/ubuntu/your-project.jar
SuccessExitStatus=143
Restart=always
[Install]
WantedBy=multi-user.target
启用并启动服务
sudo systemctl daemon-reload
sudo systemctl enable springboot-app
sudo systemctl start springboot-app`
4. 配置Nginx反向代理
编辑Nginx配置文件,将HTTP请求转发到SpringBoot应用:`
sudo vi /etc/nginx/sites-available/your-domain
配置内容
server {
listen 80;
server_name your-domain.com;
location / {
proxypass http://localhost:8080;
proxysetheader Host $host;
proxysetheader X-Real-IP $remoteaddr;
}
}
启用配置并重启Nginx
sudo ln -s /etc/nginx/sites-available/your-domain /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx`
5. 域名解析与SSL证书(可选)
如需HTTPS访问,可申请SSL证书:`
# 使用Certbot获取Let's Encrypt证书
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com`
四、运维与监控建议
- 日志查看:使用
journalctl -u springboot-app查看应用日志 - 进程监控:安装htop或使用
ps aux | grep java - 备份策略:定期备份数据库和配置文件
- 性能优化:根据监控调整JVM参数和Nginx配置
通过以上步骤,您已成功在云服务器上搭建了基础环境并部署了SpringBoot应用。实际部署中,建议结合Docker容器化技术实现更高效的持续集成和部署。