yum方式安装

wget https://openresty.org/package/centos/openresty.repo

mv openresty.repo /etc/yum.repos.d/

ll /etc/yum.repos.d/

yum list | grep openresty

yum install -y openresty.x86_64

service openresty status

service openresty start

/usr/local/openresty/nginx/sbin/nginx -v

vim /usr/local/openresty/nginx/conf/nginx.conf

/usr/local/openresty/nginx/sbin/nginx -s reload

支持lua 配置文件添加

 #lua 缓存(每次修改lua后需要重启)默认是开启 on , 开发阶段建议关闭,生产环境必须开启
lua_code_cache on;
lua_package_path "/root/data/acgn/game_res/?.lua;/root/data/acgn/game_res/script/?.lua;/root/data/acgn/game_res/serverbattle/src/?.lua;;"; #lua 模块
server {
listen 8009;
server_name localhost; client_max_body_size 50m;
client_body_buffer_size 10m; location /battle_callback {
default_type text/plain;
content_by_lua_file /root/data/acgn/game_res/blaze_battle.lua;
} error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}

报错

tail -f /usr/local/openresty/nginx/logs/error.log

tail -f /usr/local/openresty/nginx/logs/error.log
2021/05/26 17:19:14 [error] 83655#83655: *6 failed to load external Lua file "/root/data/acgn/game_res/blaze_battle.lua": cannot open /root/data/acgn/game_res/blaze_battle.lua: Permission denied, client: 192.168.1.51, server: localhost, request: "GET /battle_callback HTTP/1.1", host: "192.168.1.20:8009"
2021/05/26 17:19:26 [error] 83655#83655: *7 failed to load external Lua file "/root/data/acgn/game_res/blaze_battle.lua": cannot open /root/data/acgn/game_res/blaze_battle.lua: Permission denied, client: 192.168.1.51, server: localhost, request: "POST /battle_callback HTTP/1.1", host: "192.168.1.20:8009"

原因: nginx进程所属用户nobody

[root@bogon acgn]# ps -ef | grep nginx
root 15795 1 0 May25 ? 00:00:00 nginx: master process /usr/local/openresty/nginx/sbin/nginx
nobody 83709 15795 0 17:19 ? 00:00:00 nginx: worker process
root 83736 36201 0 17:20 pts/0 00:00:00 grep --color=auto nginx

vim /usr/local/openresty/nginx/conf/nginx.conf

把 user nobody 改为 user root

/usr/local/openresty/nginx/sbin/nginx -s reload

解决。

下面是docker方式安装

1、拉取镜像

docker images
docker pull openresty/openresty:1.19.3.1-centos7

2、先启动一个作出配置文件

docker run -d --name openresty \
-p 8009:8009 \
openresty/openresty:1.19.3.1-centos7
做目录
tree /root/data/soft/openresty
/root/data/soft/openresty
├── conf
├── logs
└── lua
docker cp openresty:/usr/local/openresty/nginx/conf/nginx.conf /root/data/soft/openresty/conf/

3、删除旧容器

docker stop openresty
docker rm openresty
docker ps -a

4、启动 指定nginx.conf  lua路径  logs路径

lua_code_cache on;
lua_package_path "/lua/acgn/game_res/?.lua;/lua/acgn/game_res/script/?.lua;lua/acgn/game_res/serverbattle/src/?.lua;;"; #lua 模块
server {
listen 8009;
server_name localhost; client_max_body_size 50m;
client_body_buffer_size 10m; location /battle_callback {
default_type text/plain;
content_by_lua_file /lua/acgn/game_res/blaze_battle.lua;
} error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}

6、重新加载配置或者重启openresty

docker exec -it openresty nginx -s reload
修改容器所占最大内存
docker update -m 1G --memory-swap 1G openresty

7、下面是HAProxy负载均衡配置

在三台机器  192.168.1.20   192.168.1.21  192.168.1.22 各部署一个openresty,用HAProxy作负载均衡

vim /etc/haproxy/haproxy.cfg

#openresty for battle check
listen acgn_battle
bind 0.0.0.0:8008
mode http
balance roundrobin
server battle1 192.168.1.20:8009
server battle2 192.168.1.21:8009
server battle3 192.168.1.22:8009

service haproxy restart

service haproxy status

openresty——yum安装 配置 使用 错误处理 docker方式安装的更多相关文章

  1. Reporting Service服务SharePoint集成模式安装配置(3、4、安装sharepoint 2010必备组件及产品)

    Reporting Service服务SharePoint集成模式安装配置 第三步和第四部 第三步 安装sharepoint 2010必备组件 1.安装SharePoint2010必备组件,执行Pre ...

  2. 在CentOS上通过Docker方式安装Redis

    在CentOS上通过Docker方式安装Redis 首先保证已经安装docker. 拖拽redis镜像 docker pull redis 启动redis docker run -p 6379:637 ...

  3. docker方式安装zabbix

    这个示例展现了如何运行支持MySQL数据库的Zabbix server,基于Nginx web服务器运行Zabbix web接口,以及Zabbix Java gateway. 1. 启动一个空的MyS ...

  4. Windows下VMware虚拟机使用Centos,Docker方式安装openstf的小坑

    今天使用docker方式安装openstf碰到了一小坑,坑了我半天.特此记录! docker方式安装stf就不说了,网上教程一大把. 但是... 安装完之后.进入web控制界面,手机连接的好好的.但硕 ...

  5. Linux上通过docker方式安装mysql

    centos版本信息: docker版本信息 mysql版本:5.7 1.docker方式安装 首先拉取mysql镜像:docker pull mysql:5.7     查看本地的mysql镜像 执 ...

  6. 2013最新版Subversion 1.7.10 for Windows x86 + Apache 2.4.4 x64 安装配置教程+错误解决方案

    一 .工作环境 操作系统:Windows Server 2008 R2 SP1 x64 Apache版本:2.4.4 Subversion版本: Setup-Subversion-1.7.10.msi ...

  7. linux经常使用(一)linux 安装配置 jdk之 找不到安装文件文件夹及source /etc/profile 报unexpected end of file 错误 解决

    linux 安装配置 jdk 应该算是一个非常主要的东西.可是我到如今才自己第一次 正式安装.果然出现了问题.. 问题就是 安装之后 找不到 安装路径 ,进而没法配置环境变量. 现象例如以下: 提示 ...

  8. 2018超详细sublime text3+python3.x安装配置教程(附常用插件安装教程)

    导读 本文是关于2018年7月最新版sublime text3+pythin3.x下载及安装配置教程,sublime text3版本为3176,python版本为3.7,安装环境是基于windows1 ...

  9. pipelinewise 学习一 docker方式安装

    pipelinewise 没有提供基于pip 包的模式进行安装,而且推荐使用docker 以及源码的方式 以下是一个使用docker运行的方式 安装   git clone https://githu ...

随机推荐

  1. C++中指针与引用详解

    在计算机存储数据时必须要知道三个基本要素:信息存储在何处?存储的值为多少?存储的值是什么类型?因此指针是表示信息在内存中存储地址的一类特殊变量,指针和其所指向的变量就像是一个硬币的两面.指针一直都是学 ...

  2. 7、Oracle通过客户端(sqlplus)登录认证用户的方式

    select version from v$instance; #查看当前数据库的版本 192.168.31.5:1521/orcl 7.1.操作系统认证: 1.Oracle认为操作系统用户是可靠的, ...

  3. 深入学习Netty(3)——传统AIO编程

    前言 之前已经整理过了BIO.NIO两种I/O的相关博文,每一种I/O都有其特点,但相对开发而言,肯定是要又高效又简单的I/O编程才是真正需要的,在之前的NIO博文(深入学习Netty(2)--传统N ...

  4. 视频云峰会|“科技 X 艺术” 的颗粒度体验是什么?

    科技日新月异,交互艺术新门类也随之蓬勃,当代艺术创作者不断凭借其想象力和跨学科能力,致力科技与艺术的融合创作. 7 月 10 日,在北京,2021 阿里云视频云全景创新峰会暨全球视频云创新挑战赛决赛颁 ...

  5. CRM企业管理系统一年多少钱?

    CRM系统一年多少钱?这是很多企业管理者比较关心的问题.目前市面上的CRM系统分为本地部署型和云部署型.云部署型CRM费用相对较低,只需要按需购买账号,连接网络即可使用:本地部署型CRM费用较高,企业 ...

  6. linux 中只显示目录的几种方法

    ls 参数 -a 表示显示所有文件,包含隐藏文件-d 表示显示目录自身的属性,而不是目录中的内容-F 选项会在显示目录条目时,在目录后加一个/ ls -l total 8 drwxrwxr-x 2 r ...

  7. 2013年第四届蓝桥杯C/C++程序设计本科B组省赛 马虎的算式

    题目描述 马虎的算式 小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了. 有一次,老师出的题目是:36 x 495 = ? 他却给抄成了:396 x 45 = ? 但结果却很戏剧性,他的答 ...

  8. ios关键字

    self:类似JAVA中的this指针,是隐藏参数,指向当前调用方法的类 super:调用父类的方法 if(self=[super init]),是一种通用写法,赋值并测零是为了防止超类在初始化过程中 ...

  9. 一次性讲清楚spring中bean的生命周期之三:bean是如何实例化的

    在前面的两篇博文<一次性讲清楚spring中bean的生命周期之一:getSingleton方法>和<一次性讲清楚spring中bean的生命周期之二:FactoryBean的前世今 ...

  10. Python----MongoDB数据库

    什么是MongoDB ? MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为WEB应用提供 ...