OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。
OpenResty® 通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强大的通用 Web 应用平台。这样,Web 开发人员和系统工程师可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,快速构造出足以胜任 10K 乃至 1000K 以上单机并发连接的高性能 Web 应用系统。
OpenResty® 的目标是让你的Web服务直接跑在 Nginx 服务内部,充分利用 Nginx 的非阻塞 I/O 模型,不仅仅对 HTTP 客户端请求,甚至于对远程后端诸如 MySQL、PostgreSQL、Memcached 以及 Redis 等都进行一致的高性能响应。
https://github.com/openresty/openresty/releases
可以下载已经编译好的包
然后解压
运行一下命令
./configure
make && make install
也许多方式可以设置环境变量,在许多个文件中添加响应的配置行都能达到设置环境变量的目的,我们这里通过设置用户家目录下的.bashrc文件来实现。
vi ~/.bashrc
# 添加下面一行代码即可,笔者一般都添加到文件开头,方便查看
# 注意:冒号后面接的是OpenResty安装的位置的可执行文件目录
# 没有特殊指定安装目录的则是: /usr/local/openresty/nginx/sbin
export PATH=$PATH:/usr/local/openresty/nginx/sbin
添加配置之后不会立即生效,我们可以通过source命令来重新加载一下我们的配置文件
source ~/.bashrc
之后我们就可以在任意位置来使用我们的nginx命令了
cd ~
nginx -s reload
注意:用户 无法 操作1024一下的端口号,所以要将端口号改成1024以上
浏览器打开127.0.0.1:端口号
创建一个idea项目,并配置多个端口;
配置步骤如下
同理 再添加三个运行程序,端口分别为8001、8002 、 8003
控制器代码
@GetMapping("/ip")
@ResponseBody
public String test(HttpServletRequest request){
return request.getLocalAddr() + ":" + request.getLocalPort();
}
然后运行
nginx配置文件的相关配置
# 这里不能用_ 即不能用my_server, tomcat会报错
upstream myserver{
server 127.0.0.1:8003 weight=2;
server 127.0.0.1:8001 weight=3;
server 127.0.0.1:8002 weight=2;
server 127.0.0.1:8000 weight=1;
}
server {
listen 9999;
server_name nginx.lacknb.cn;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://myserver;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
反复刷新,就可以看到效果