Docker部署web项目

本文档详述了如何使用Docker部署Springboot Web应用,包括解决时区问题和配置Nginx进行反向代理。通过Dockerfile设置时区为Asia/Shanghai,确保时间正确显示。Nginx配置中,将80端口请求代理到应用的8080端口,实现域名访问。测试结果显示时间正确,部署流程顺利。
摘要由CSDN通过智能技术生成

Docker部署web项目

前面部署过springboot项目,这里主要记录不同之处。

SpringbootWeb项目

  1. 注意是@Controller注解,不是@RestController
  2. 返回的 hello 表示页面,不要写成 /hello,本地这样写没问题,服务器可能会匹配不到页面
@Controller
public class HelloWebController {

    @RequestMapping("/hi")
    public String index(Locale locale, Model model) {
        model.addAttribute("greeting", "Hello!");

        Date date = new Date();
        DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
        String formattedDate = dateFormat.format(date);
        model.addAttribute("currentTime", formattedDate);

        return "hello";
    }

    @RequestMapping("/test")
    @ResponseBody
    public String test() {
        return "Hello Test!";
    }

}

Doockerfile文件:

  1. war包和jar包配置大同小异
  2. 页面时间显示问题,不配置显示UTC时间,差8小时
FROM openjdk:8-jdk-alpine
#时差8小时问题
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
	&& echo 'Asia/Shanghai' >/etc/timezone
ADD target/Joine.jar /app.jar
VOLUME /tmp
#ADD spring-boot-hello-1.0.jar app.jar
ADD spring-boot-web-1.0.01.war app.war
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.war"]

Docker部署

这里不再累赘,参考前篇 docker部署springboot

Nginx反向代理

让域名默认的80端口代理到实际应用的8080端口

http {
    upstream test.com {
        server xxx.top:8080 weight=1;
    }
}
server {
        listen       80;
        server_name  www.xxx.top xxx.top;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

	location ^~ / {
		# proxy_pass反向代理到xxx.top:8080/hi
		proxy_pass http://test.com/hi;
	}

	location /webjars {
	    proxy_pass http://test.com;
	}
	location /css {
	    proxy_pass http://test.com;
	}
	
}

时区问题

Dockerfile加上这句:
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
	&& echo 'Asia/Shanghai' >/etc/timezone

测试

The current time is 2021年4月4日 CST 下午12:12:53

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值