IDEA中配置OpenResty开发环境,ideaopenresty
IDEA中配置OpenResty开发环境,ideaopenresty
概念
以下概念解释均来自百度或者其官网,各位看官也就不用再去自己查询了,了解一下就行了。
- OpenResty
OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。
Lua
Lua [1] 是一个小巧的脚本语言。是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所组成并于1993年开发。 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。Lua 有一个同时进行的JIT项目,提供在特定平台上的即时编译功能。
Nginx
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
nginx-lua
将Lua的强大功能嵌入到Nginx HTTP服务器中。该模块通过标准Lua 5.1解释器或LuaJIT 2.0 / 2.1将Lua嵌入到Nginx中,并通过利用Nginx的子请求,允许将强大的Lua线程(Lua协程)集成到Nginx事件模型中。
IDEA
IDEA 全称IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。
操作步骤
- 下载OpenResty包
登陆OpenResty官网的下载页面
我本地系统是Window10 64位专业版,所以我下载了红色框内的版本。
下载后解压到D://WorkTools
目录下
到此本地环境中的Nginx和Lua都已经准备好了,接下来,就需要给IDEA安装相关插件了。
- 安装IDEA插件
安装Lua和Nginx支持
这三个插件,我好像只用到了前两个,安装的时候需要到Repositories
中搜索,国内环境可能安装起来有些困难,可以找个代理哈。插件安装完后重启一下IDEA就行,到此该下载的工具什么的都已经下载完毕,该进行一些配置了。
- 配置环境
- 配置nginx服务器
- 配置环境变量
在系统环境变量的path中添加OpentResty的根目录:D:\WorkTools\openresty-1.13.6.2-win64\openresty-1.13.6.2-win64
, 具体添加方法就不赘述,毕竟都是玩过Java的人。
- IDEA的Ant支持
由于当前这个环境配置方案需要使用ant进行系统构建工作,所以还需要idea支持ant项目构建,idea默认带有这个插件,只需要在插件中开启支持就行了。
- IDEA的Ant支持
测试案例
- 项目创建
创建一个空的Lua工程
在根目录下添加两个目录:conf
和src
- 测试脚本
在conf目录下新建nginx.conf文件,并进行如下配置:
worker_processes 2;
error_log logs/error.log info;
events {
worker_connections 1024;
}
http {
default_type application/octet-stream;
access_log logs/access.log;
lua_package_path 'pic-server/?.lua;;';
server {
listen 7777;
server_name localhost;
default_type text/html;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location /test {
content_by_lua_file pic-server/test.lua;
}
}
}
在src目录下新建test.lua文件,并编写如下代码:
local function main()
ngx.say("hello world, i am a test")
end
main()
至此一个简单的OpenResty项目就完成了,如果手动拷贝到OpenResty包下的规定目录中,并启动Nginx就可以访问了。但是呢,既然是要使用集成开发环境,那么,我们就需要进行自动化的项目构建,并且可以开发IDE中直接启动项目。这里,我参考了CSDN上的一篇博客【Java团队用OpenResty】2、Eclipse开发环境搭建,就是使用ant来做代码拷贝等工作。
- ant构建脚本
ant脚本编写如下:
<project name="pic-server" default="dist" basedir=".">
<description>
run pic-server
</description>
<!-- set global properties for this build -->
<property name="openresty-home" location="D:\WorkTools\openresty-1.13.6.2-win64\openresty-1.13.6.2-win64"/>
<property name="conf" location="${basedir}/conf"/>
<property name="src" location="${basedir}/src"/>
<property name="target-conf" location="${openresty-home}/conf"/>
<property name="target-src" location="${openresty-home}/${ant.project.name}"/>
<echo>######开发版本的ant配置#####</echo>
<target name="clean" depends="">
<echo>清理openresty目录 ${dist}下的conf,logs,janus,januslib</echo>
<delete dir="${target-conf}"/>
<delete dir="${target-src}"/>
<delete>
<fileset dir="${openresty-home}/logs" includes="*.log">
</fileset>
</delete>
</target>
<target name="init" depends="clean">
<echo>创建安装目录</echo>
<mkdir dir="${target-conf}"/>
<mkdir dir="${target-src}"/>
</target>
<target name="dist" depends="init" description="generate the distribution" >
<echo>复制安装文件</echo>
<copy todir="${target-conf}">
<fileset dir="${conf}"></fileset>
</copy>
<copy todir="${target-src}">
<fileset dir="${src}"></fileset>
</copy>
</target>
</project>
这里我只保留了clean
、init
和dist
三个操作,我将nginx的启停交给了IDEA的Nginx support插件来控制,这主要是符合我自己的操作习惯。
- 添加nginx运行服务
具体操作如图所示:
经过以上操作,一个简单OpenResty环境和测试案例算是开发完成了,现在就可以像Java Web程序一样运行了,只需要点击运行按钮即可运行。
- 运行并测试
点击运行按钮后,如下图所示就说明已经运行好了。
下载可以在浏览器地址栏输入:http://localhost:7777/test
即可查看这个测试案例。应该展示内容为:
到了这里,基本上配置就基本上已经结束了。但是呢,上面的配置其实还有一点问题:运行的过程中Console中并不会即使的显示日志信息,目前我是通过记事本打开日志文件,然后通过手动刷新文件查看日志。这个应该在什么地方也可以配置,只是我还没有搞清楚。哈哈,不过就这样已经够我完了。后面我将陆陆续续的一些实际案例开发的文章,有喜欢的朋友可以留言一起讨论。
再次感谢博文:【Java团队用OpenResty】2、Eclipse开发环境搭建 给了我指导方向。
原文地址:http://greeks.studio/articles/2018/05/30/1527680572374.html
评论暂时关闭