从0开始将java spring boot项目部署到Ubuntu
下载java jdk
JDK8 下载地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
选择这个规格将jdk上传至Ubuntu服务器
这里我们使用Xshell工具来实现将本地下载好的jdk包上传至服务器,下载地址就不贴出了百度一搜一车
使用前,首先需要在Linux服务器上有以下几步操作
1.安装openssh-server,打开Linux服务器命令行终端,键入下面命令
sudo apt-get install openssh-server
2.修改Linux服务器的ssh配置文件
键入下面命令进入sshd_config文件中
vi /etc/ssh/sshd_config
按下键盘的 "insert" 开始编辑,
先使用”#”注释掉
PermitRootLogin without-password
再添加一行
PermitRootLogin yes
操作完成后按下"Esc",此时将无法编辑该文件,再输入
:wq!
即保存成功!
3.然后开启ssh服务
ps -e |grep ssh
客户端有以下几步操作:
打开Xshell5,会自动弹出如下图对话框,选择左上角新建按钮,图中显示的是我自己已经新建的一个会话
新建会话,名称自定义,主机名为你自己Linux服务器的IP地址,端口号默认22即可,设置好点击确定按钮
新建连接添加会话后就返回到刚才的页面,选中你新建的会话点击下方连接按钮(这步就不贴图了)
输入登录服务器的用户名和密码就登录服务器成功了(这步也不贴图了)
如果未登录成功在程序左下角会显示 "未登录"
接下来开始数据传输
在Linux服务器安装lrzsz,服务器端打开命令行,键入以下命令安装
sudo apt-getinstall lrzsz
·将客户端数据传入服务端,服务端打开命令行,键入命令
rz
就会弹出选择文件的弹出框
·将服务端数据传入客户端,服务端打开命令行,键入命令
sz 文件名
注:命令 rz 和 sz 都是在Xshell中进行
解压JDK包
进入jdk包所在目录,键入下面命令
tar zxvf 文件名
解压得到jdk文件夹,我的是jdk1.8.0_231,用如下命令将该文件夹移动到/usr/local目录下
mv jdk1.8.0_231 /usr/local
配置Java环境
使用如下命令打开~/.bashrc文件
vi ~/.bashrc
若没有上面命令的文件则输入下面命令进入 /etc目录下
操作bach.bashrc文件,因为是只读文件 所以进入的时候需要带上sudo前缀
cd /ect
sudo vi bash.bashrc
在文件末尾加上Java信息
export JAVA_HOME=/usr/local/jdk1.8.0_144
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
使用source命令使配置立即生效
source ~/.bashrc
输入java -version命令和javac命令测试,若返回正常,则配置成功
ubuntu下docker简单安装mysql
键入下面命令安装docker
sudo apt install -y docker.io
拉取mysql镜像
sudo docker pull mysql:5.7
启动mysql镜像并查看启动日志
sudo docker run -p3306:3306--name mysql -e MYSQL_ROOT_PASSWORD=123456-d mysql:5.7&& sudo docker logs mysql
# 启动/停止mysql实例
sudo docker start/stop mysql
以上操作Java环境和mysql都已经配置好了
接下来把你写好的java代码打包成jar包,上传到服务器去编译,使用下面命令编译jar包
java -jar 文件名.jar
因为springboot内置web组件Tomcat,所以我们就不讲怎么安装web组件了
当jar编译成功后我们通过外网去访问,默认输入ip:8080即可访问到
如果发现无法访问到,有以下几种可能性
1.需要配置下8080端口的入站规则和出站规则,如果你使用的是阿里云服务器,如下图选中安全组,
安全组选中后右侧选择配置规则后进入安全组规则
安全组规则选择入方向,点击上方添加安全组规则(图中没有截到该按钮)
添加8080端口规则点击确定按钮即成功添加8080端口安全组规则
2.如果配置了入站规则还无法访问java服务,很有可能是被你自己的服务器防火墙屏蔽了
可以通过下面命令查看防火墙状态
防火墙状态sudo ufw status
可见我的防火墙处于活跃状态
你可以尝试直接关闭防火墙(不推荐)
sudo ufw disable
或者将8080端口添加为允许
sudo ufw allow 8080