openresty 代理springboot应用


openresty 代理springboot应用

          

              

                                   

springboot 应用

       

                    

            

HelloController

@RestController
public class HelloController {

    @RequestMapping("/hello")
    public String hello(){
        return "hello 瓜田李下";
    }
}

          

*************

docker 配置

         

Dockerfile

from java:8

workdir /usr/local/jar
copy hello.jar app.jar

expose 8080
entrypoint ["java", "-jar", "app.jar"]

           

edit configuartion ==> docker

                

        

启动应用,控制台输出

                

                


  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.7.1)

2022-07-01 03:16:17.667  INFO 1 --- [           main] com.example.demo.DemoApplication         : Starting DemoApplication v0.0.1-SNAPSHOT using Java 1.8.0_111 on a30602291ff8 with PID 1 (/usr/local/jar/app.jar started by root in /usr/local/jar)
2022-07-01 03:16:17.677  INFO 1 --- [           main] com.example.demo.DemoApplication         : No active profile set, falling back to 1 default profile: "default"
2022-07-01 03:16:20.030  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2022-07-01 03:16:20.059  INFO 1 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2022-07-01 03:16:20.060  INFO 1 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.64]
2022-07-01 03:16:20.263  INFO 1 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2022-07-01 03:16:20.264  INFO 1 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2446 ms
2022-07-01 03:16:21.307  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2022-07-01 03:16:21.328  INFO 1 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 4.715 seconds (JVM running for 5.828)
2022-07-01 03:16:32.720  INFO 1 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-07-01 03:16:32.720  INFO 1 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2022-07-01 03:16:32.722  INFO 1 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 2 ms

          

                          

                                   

openresty 配置

       

default.conf

server {
    listen       80;
    server_name  localhost;
 
    location / {
        proxy_pass http://172.18.0.3:8080;
 
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
 
}

            

创建容器

docker run -it -d --net fixed --ip 172.18.0.2 -p 9000:80 \
-v /Users/huli/lua/openresty/conf4/default.conf:/etc/nginx/conf.d/default.conf \
--name openresty4 lihu12344/openresty

           

使用测试

huli@bogon openresty % curl localhost:9000/hello
hello 瓜田李下

       

                 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要构建稳定的OpenResty应用程序,可以考虑以下几个方面: 1. 优化配置和性能:配置文件的优化对于OpenResty应用程序的性能至关重要。确保你的配置文件正确地定义了服务器块、虚拟主机和其他相关配置。使用适当的缓存策略、压缩和限制连接等技术来提高性能。 2. 负载均衡和高可用性:使用负载均衡技术来分发流量以提高可扩展性和稳定性。OpenResty可以与Nginx一起使用,以实现负载均衡。考虑使用多个实例和故障转移机制来实现高可用性。 3. 安全性:保护应用程序免受恶意攻击是至关重要的。使用适当的安全策略,如防火墙、访问控制列表(ACL)、SSL证书等来保护你的应用程序。确保及时更新OpenResty版本以获取最新的安全修复。 4. 日志和监控:配置适当的日志记录和监控机制,以便及时发现和解决问题。OpenResty提供了许多内置的日志记录功能,例如ngx.log和ngx.var等。结合外部工具如ELK(Elasticsearch、Logstash、Kibana)或Prometheus等来进行更高级的日志分析和监控。 5. 缓存策略:使用适当的缓存策略来减轻服务器负载并提高响应时间。OpenResty有内置的缓存机制,如lua_shared_dict和ngx.shared.DICT,可以用于缓存静态或动态内容。 6. 版本控制和自动化部署:使用版本控制系统(如Git)来管理你的应用程序代码,并使用自动化部署工具(如Jenkins、Ansible等)来自动化构建、测试和部署过程。这有助于减少人为错误并提高稳定性。 7. 性能测试和优化:定期进行性能测试并根据结果进行优化。使用工具如ab、wrk等来模拟并测量负载,以找出瓶颈并进行性能调优。 这些都是构建稳定的OpenResty应用程序的一些建议。根据你的具体需求和应用程序特点,可能还需要采取其他措施来提高稳定性和性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值