nginx unit java 试用
时间:2019-09-27
本文章向大家介绍nginx unit java 试用,主要包括nginx unit java 试用使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
unit 当前已经支持java了,当时支持基于servlet 的开发模式,以下是一个简单的学习
基于官方的demo
环境准备
- docker-compose文件
version: "3"
services:
app:
build: ./
ports:
- "8080:8080"
- "9000:9000"
- dockerfile
# keep our base image as small as possible
FROM nginx/unit:1.11.0-minimal
# port used by the listener in config.json
EXPOSE 8080
# add Java language and corresponding language module
RUN apt update \
&& apt install -y apt-transport-https gnupg1 \
&& curl https://nginx.org/keys/nginx_signing.key | apt-key add - \
&& echo "deb https://packages.nginx.org/unit/debian/ stretch unit" \
> /etc/apt/sources.list.d/unit.list \
&& echo "deb-src https://packages.nginx.org/unit/debian/ stretch unit" \
>> /etc/apt/sources.list.d/unit.list \
&& apt update \
&& mkdir -p /usr/share/man/man1/ \
&& apt install -y openjdk-8-jdk unit-jsc8 \
# final cleanup
&& apt remove -y apt-transport-https gnupg1 \
&& apt autoremove --purge -y \
&& rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/*.list
# application setup
RUN mkdir /www/ && echo \
'<%@page language="java" contentType="text/plain"%><%="Hello, Unit!"%>'\
> /www/index.jsp \
# launch Unit
&& unitd --control unix:/var/run/control.unit.sock \
# upload the app config to Unit
&& curl -X PUT --data-binary '{ \
"listeners": { \
"*:8080": { \
"pass": "applications/java_app" \
} \
}, \
"applications": { \
"java_app": { \
"type": "java", \
"webapp": "/www/" \
} \
} \
}' --unix-socket /var/run/control.unit.sock http://localhost/config/
配置说明
对于java 项目的支持配置如下:
{
"type": "java",
"classpath": ["/www/qwk2mart/lib/qwk2mart-2.0.0.jar"],
"options": ["-Dlog_path=/var/log/qwk2mart.log"],
"webapp": "/www/qwk2mart/qwk2mart.war"
}
type 指定为java 语言,classpath 为依赖的jar 包 ,options指定jvm启动的一些参数,比如上边的日志,webapp,指定应用程序的路径
或者未解压包(war)的文件
启动&&测试
- 启动
docker-compose build && docker-compose up -d
- 效果
说明
关于集成java 的原理还需要看看源码,从原理上还是cgi编程,同时使用doker 运行有点太大了
参考资料
https://unit.nginx.org/configuration/#java
原文地址:https://www.cnblogs.com/rongfengliang/p/11597955.html
- 正则表达式快速入门
- JavaScript之<script>标签简介
- 数控机床数控系统选择4大关键要素
- Python快速入门
- Jquer学习之jQuery(function(){})与(function(){})(jQuery)之间的区别
- 服务端常见性能隐患分享
- ExtJs学习笔记(19)_复杂Form示例
- Linux快速入门01-基础概念
- SQL学习之Insert的特殊用法(插入检索出的数据,表之间的数据复制)
- 对php多态的理解
- JavaScript值延迟脚本和异步脚本
- JavaScript之arguments.callee
- JavaScript之面向对象学九(原型式继承和寄生式继承)
- ExtJs学习笔记(18)_ExtJs嵌入FCK示例
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- SpringMVC对接CAS客户端实现单点登录手册
- 什么是BOM
- Servlet3.0动态配置过滤器、监听器、Servlet
- JS执行机制
- 元素偏移量 offset 系列
- 设计模式系列之建造者模式构建实体类
- 元素可视区 client 系列
- 【阿里】在 nginx 中如何配置负载均衡
- 并发编程系列之JDK JUC实现内存缓存(支持并发)
- 10.1【前端开发】背景属性:样式中背景色和背景图片样式如何使用?
- 元素滚动 scroll 系列
- Java基础系列之fastjson parse多级json数据
- Linux系列之下载安装jdk-8u261-linux-i586.tar.gz
- 常见网页特效案例
- MySQL系列之体系结构原理学习笔记