linux安装OpenResty并实现反向代理

  |   0 评论   |   0 浏览

OpenResty服务器

官网地址:http://openresty.org/cn/

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 等都进行一致的高性能响应。

安装

deepin安装

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:端口号
UTOOLS1584673482048.png

实现反向代理

创建一个idea项目,并配置多个端口;
配置步骤如下
UTOOLS1584674551898.png

UTOOLS1584674614466.png

UTOOLS1584675582791.png

同理 再添加三个运行程序,端口分别为8001、8002 、 8003

UTOOLS1584674884531.png

UTOOLS1584674930710.png

UTOOLS1584675005339.png

控制器代码

    @GetMapping("/ip")
    @ResponseBody
    public String test(HttpServletRequest request){
        return request.getLocalAddr() + ":" + request.getLocalPort();
    }

然后运行
UTOOLS1584675090345.png

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;
        }
}

反复刷新,就可以看到效果
UTOOLS1584675762633.png

UTOOLS1584675796415.png


标题:linux安装OpenResty并实现反向代理
作者:gitsilence
地址:https://lacknb.cn/articles/2020/03/20/1584673513605.html