如果正在写JavaWeb项目的你有一台云服务器,恭喜你,你可以参照这篇文章将你的项目发布到你的云服务器上。这在让你获得一定成就感的同时,也更方便向其他人演示你的项目。前后端也能彻底分离,开发前端时不再需要在你的电脑上专门开一个窗口运行后端代码了。最棒的一点是它只占用你服务器的一个端口号,不会和服务器上的其他应用冲突。
本地Win10的准备工作
安装 winscp
安装 wsl 作为 Linux 环境,使用 ssh 命令远程操作云服务器
服务器上的准备工作
注意:这里选择jdk8和tomcat7.0.100作为演示,实际要选择和你本地开发环境一致的配置
使用 ssh 命令连接云服务器
1 |
ssh username@ip_address |
更换国内源
1 |
# 备份sources.list文件 |
清华源:https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/
阿里云:https://developer.aliyun.com/mirror/ubuntu
注意选择和自己服务器对应的版本(可以用
lsb_release -a
命令查看)
安装 jdk
1 |
sudo apt install openjdk-8-jdk -y |
安装tomcat
运行 war 包才需要安装 tomcat,如果你要运行的是 jar 包可以跳过这一步
1 |
# 创建存放tomcat的目录 |
Struts项目
在IDEA中选择Build->Build Artifacts,会target目录下生成war包
使用 winscp 或其他工具把 war 包上传到云服务器 tomcat 的 webapps 目录下,然后 ssh 连接云服务器启动 tomcat
1 |
# 使用scp上传war包到云服务器 |
这里执行 scp 和 ssh 命令时必须以 root 用户的身份,因为 tomcat 的 webapps 目录需要权限才能打开
SpringBoot项目
在IDEA中点击右侧的Maven面板,点击Lifecycle->package,会target目录下生成jar包
使用 winscp 或其他工具把 war 包上传到云服务器的任意位置,然后 ssh 连接云服务器使用 nohup 命令以后台方式运行 jar 包
1 |
# 使用scp上传war包到云服务器 |
一些错误的参考解决办法:
待解决问题
- tomcat修改
/conf/server.xml
中的端口号之后,shutdown时报错