@auther by sizaif
@TOC
前期准备
- 一台线上linux服务器.阿里云,腾讯云,华为云或者国外的vps都可以
- ssh工具,像xshell,putty
- sftp传输工具,像filezilla. 传输jar包文件
- java jdk linux 安装包, 官网即可下载
使用Maven打包项目
处理静态文件以及端口号
如果引入了外部文件,像upload上传图片的功能, 需要设置目录为linux目录
一般在windows上开发,windows和linux不一样
application.yml配置
MVCconfig
写个java iimplements WebMvcConfigurer
// 接入虚拟路径(解决重启服务器才显示图片的问题)
// 拦截本地路径
@Value("${web.upload-path}")
private String path;
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry){
// addResourceHandler: ( 存储图片的虚拟路径,在 static 目录下的 picture 文件夹,用于存储上传图片)
// addResourceLocations: ( file: + 存储图片的路径)
registry.addResourceHandler("/images/**").addResourceLocations("file:"+path);
}
打包
步骤:
忽略掉test测试,防止发布到线上出现各种问题
成功后会在target目录下生成
版本号与pom.xml 中version有关
安装JDK
参考文章: linux安装java1.8 jdk并配置环境变量
像阿里云和腾讯云需要配置安全组,
参考连接:阿里云安全组配置方法
将jar包传输到linux服务器上
java运行jar包
为了方便,写一个start.sh脚本 方便日后更新版本执行
vim start.sh
nohup java -jar emsdemo-0.1.8-SNAPSHOT.jar >springboot.log 2>&1 &
chmod +x start.sh
运行 并查看运行日志
./start.sh
cat springboot.log
然后在浏览器输入你的ip:端口号就可以访问了
额外:使用域名访问
如果我想通过域名直接访问项目,不想用ip+ 端口号的方式
==国内的服务器域名绑定需要备案,国外不用==
思路:
==默认域名绑定80端口,所以使用nginx 端口转发功能==
安装nginx
如果不想手动安装,安装宝塔,用宝塔安装和配置
宝塔安装:linux安装宝塔
配置nginx
server
{
listen 80;
#server_name phpmyadmin;
#index index.html index.htm index.php;
#root /www/server/phpmyadmin;
#error_page 404 /404.html;
#include enable-php.conf;
location / {
proxy_pass http://sizaif.com:8080;
}
}
然后relod nginx 过一会通过域名就可以访问了