目录
[4.部署 Web 项⽬到 Linux](#4.部署 Web 项⽬到 Linux)
1.apt
apt(Advanced Packaging Tool), Linux软件包管理⼯具. ⽤于在Ubuntu、Debian和相关Linux发⾏版 上安装、更新、删除和管理deb软件包.
⼤多数apt命令必须以具有sudo权限的⽤户⾝份运⾏.
apt常⽤命令
列出所有软件包
apt list
这个命令输出所有包的列表, 内容⽐较多, 可以使⽤grep命令过滤输出
apt list |grep "~~~~~"
更新软件包数据库
sudo apt -get update
安装软件包
sudo apt install package_name
移除软件包
sudo apt remove package_name
remove命令将卸载给定的软件包,但可能会留下⼀些配置⽂件。如果要删除包含所有配置⽂件的软件 包,请使⽤purge⽽不是remove。
如果切换到root⽤⼾, 命令前就不需要加 sudo了
切换root⽤户
sudo su
2.安装JDK
查找 jdk 包
apt list |grep "jdk"
安装 jdk
sudo apt install open jdk-xxx-jdk//xxx为jdk的版本
此处安装的是OpenJDK, OpenJDK是⼀个开源版本的 JDK, 和 Oracle 官⽅的 JDK 略有差别。
使⽤ java -version 验证是否安装成功
如果提⽰ "java 命令找不到" 则说明安装失败.
3.安装MySQL
安装 mysql
sudo apt install mysql-server
查看MySQL状态
sudo systemctl status mysql
运行MySQL初始化安全脚本
sudo mysql_secure_installation
MySQL创建用户和授权
登录mysql并输入密码
mysql -u root -p
#若是自用,其实也没必要设密码
alter user 'root'@'localhost' identified by '这里填你要的密码';
4.部署 Web 项⽬到 Linux
程序正常运⾏, 需要保证环境和程序都要正确, 我们需要先设置环境
1.数据准备
按照之前的数据库建表脚本, 在服务器上运⾏, 建⽴相同的表结构。
2.程序配置⽂件修改
实际⼯作中, 开发环境, 测试环境以及⽣产环境的配置都是不⼀样的
⽐如mysql的⽤户名和密码
我们可以针对不同的环境, 设置不同的配置
3. 多平台⽂件配置
针对不同平台创建不同的配置⽂件, 要求名字为application-XXX.yml或者application-XXX.properties
例子:
固定格式, 只有后⾯的字⺟可以修改
在配置⽂件⾥写不同的内容。
在主配置⽂件 application.yml 中指定配置⽂件, 并删除数据库相关配置
spring.profiles.active=@profile.name@
在pom.xml文件中
<profiles>
<profile>
<id>dev</id>
<properties>
<profile.name>dev</profile.name>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<profile.name>prod</profile.name>
</properties>
</profile>
</profiles>
刷新后
4.构建项⽬并打包
记得刷新和勾选。
点击顺序:闪电->clean->package
6.上传Jar包到服务器,
直接拖动打好的jar包到xshell窗⼝即可完成⽂件的上传
Xshell 可以直接拖动⽂件到窗⼝, 达到上传⽂件的⽬的, 如果使⽤其他客户端,不⽀持⽂件的上传, 需要 借助lrzsz命令
7.运⾏程序
我的jar 包是onlinemusic-0.0.1-SNAPSHOT.jar。
以我的jar包为例。
1.前台运行
java -jar onlinemusic-0.0.1-SNAPSHOT.jar
2.后台运行
nohup java -jar onlinemusic-0.0.1-SNAPSHOT.jar >>log.log &
开放端⼝号
如果外⽹需要访问该服务, 需要先服务器防⽕墙开放对应的端⼝号
以腾讯云服务器举例
1.进⼊防⽕墙管理⻚⾯
2.添加规则
端⼝号写需要开放的端⼝号, 多个端⼝号以逗号分割。
验证程序:IP改为云服务器的IP, Port改为项⽬的端⼝号
8.杀掉进程
如果我们需要重启服务, 或者重新部署等, 都需要先停⽌之前的服务.
1.查看当前服务的进程
ps -ef | grep java
2.杀掉进程
kill -9 PID (进程号)
以上为我个人的小分享,如有问题,欢迎讨论!!!
都看到这了,不如关注一下,给个免费的赞