Openresty 安装

1. 依赖包安装:

# yum install readline-devel pcre-devel openssl-devel

2.  在系统中添加openresty的仓库:

   # sudo yum install yum-utils

   # sudo yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo

3.  开始安装openresty

# sudo yum install openresty

# sudo yum install openresty-resty  (注:这个是openresty的命令工具包)

4. 以上安装完成后Openresty就安装完成了,默认安装目录在/usr/local/openresty下

Openresty下nginx配置

/usr/local/openresty/nginx/conf下nginx.conf文件配置:

创建NGINX用户:

#groupadd nginx  

#useradd -g nginx -s /sbin/nologin -M nginx 

以下是配置文件内容:

###########################################

user  nginx nginx;  #启动用户

worker_processes  4; #nginx的进程数,建议和cpu核数一致

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

error_log  logs/error.log warn; #全局LOG定义

pid        logs/nginx.pid; # 进程文件ID

worker_rlimit_nofile 65535; #nginx进程打开的文件数

#工作模式与连接数配置

events {

    use epoll; # epoll是高版本内核优化后的网络I/O模型

    worker_connections  65535; #单个进程最大连接数

    multi_accept on; #打开快速接收新连接

}

#http服务设置

http {include       mime.types;#文件扩展名与类型映射表default_type  application/octet-stream;#默认文件类型charset utf-8;#默认编码server_names_hash_bucket_size 128; #服务器名字的hash表大小client_header_buffer_size 32k; #上传文件大小限制large_client_header_buffers 4 32k; #设定请求缓存数client_max_body_size 32m; #设定请求缓存大小#include proxy.conf;#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '# '$status $body_bytes_sent "$http_referer" '# '"$http_user_agent" "$http_x_forwarded_for"';#access_log  logs/access.log  main;#resolver 8.8.8.8;sendfile        on; #开启高效文件传输tcp_nopush     on; #防止网络阻塞tcp_nodelay on;#keepalive_timeout  0;keepalive_timeout  30; #长连接超时时间,默认单位秒####解决跨域问题(我们服务中已有跨域功能所以我这里已全注释)############add_header Access-Control-Allow-Origin *;#add_header Access-Control-Allow-Headers X-Requested-With,Content-Type,If-Modified-Since;#add_header Access-Control-Allow-Methods GET,POST,OPTIONS;#以下是FastCGI 的相关参数,主要作用减少资源占用优化网站性能提高访问速度fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;fastcgi_buffer_size 64k;fastcgi_buffers 4 64k;fastcgi_busy_buffers_size 128k;fastcgi_temp_file_write_size 64k;open_file_cache max=10240 inactive=20s;open_file_cache_min_uses 1;open_file_cache_valid 30s;#gizp优化配置,加速传速gzip on;gzip_min_length 1k;gzip_buffers 4 16k;gzip_http_version 1.0;gzip_comp_level 2;gzip_types text/plain application/x-javascript text/css application/xml;gzip_vary on;gzip_disable msie6;lua_package_path "/usr/local/openresty/nginx/lua/?.lua;;"; #需要用到lua的项目脚本设用路径# 虚拟主机配置我这定义到了/usr/local/openresty/nginx/conf/vhosts目录下include vhosts/*.conf;}

#####################################################################

虚拟主机文件的配置

以bizapi.xx.com的/usr/local/openresty/nginx/conf/vhosts /bizapi.conf反向代理配置为例:

以下是配置文件内容:

###########################################

​
server{listen       80;server_name  bizapi.xx.com;location /api/BasicService/authBaseService/ {        #要做反向代理转发的路径proxy_redirect          off;proxy_set_header        Host $host;proxy_set_header        X-Real-IP $remote_addr;  #获取真实ipproxy_set_header       X-Forwarded-For   $proxy_add_x_forwarded_for; #获取代理者的真实ipadd_header X-Frame-Options SAMEORIGIN;client_max_body_size    10m; #允许客户端请求字节数client_body_buffer_size 128k; #缓冲区代理请求最字节数proxy_connect_timeout   90; #后端服务器超进间间proxy_send_timeout      90; #后端服务器数据传回时间proxy_read_timeout      90; #后端服务器的响应时间proxy_buffer_size       128k; #代理服务器保存的用户头信息缓冲区大小proxy_buffers           2 256k; #缓冲区设置,网页平均在256K以下设proxy_busy_buffers_size 256k; #高并发下缓存大小proxy_temp_file_write_size 256k; #设定文件大小限制proxy_pass http://192.168.102.47:9002; #要转发到的地址与端口配置}
​	location /api/sas/recoManageService/ {proxy_redirect          off;proxy_set_header        Host $host;proxy_set_header        X-Real-IP $remote_addr;  #获取真实ipproxy_set_header       X-Forwarded-For   $proxy_add_x_forwarded_for; #获取代理者的真实ipadd_header X-Frame-Options SAMEORIGIN;client_max_body_size    10m;client_body_buffer_size 128k;proxy_connect_timeout   90;proxy_send_timeout      90;proxy_read_timeout      90;proxy_buffer_size       128k;proxy_buffers           2 256k;proxy_busy_buffers_size 256kproxy_temp_file_write_size 256k;proxy_pass http://192.168.102.47:9031;}location /api/sas/paymManageService/ {proxy_redirect          off;proxy_set_header        Host $host;proxy_set_header        X-Real-IP $remote_addr;  #获取真实ipproxy_set_header       X-Forwarded-For   $proxy_add_x_forwarded_for; #获取代理者的真实ipadd_header X-Frame-Options SAMEORIGIN;client_max_body_size    10m;client_body_buffer_size 128k;proxy_connect_timeout   90;proxy_send_timeout      90;proxy_read_timeout      90;proxy_buffer_size       128k;proxy_buffers           2 256k;proxy_busy_buffers_size 256k;proxy_temp_file_write_size 256k; proxy_pass http://192.168.102.47:9032;}location /api/sas/invoManageService/ {proxy_redirect          off;proxy_set_header        Host $host;proxy_set_header        X-Real-IP $remote_addr;  #获取真实ipproxy_set_header       X-Forwarded-For   $proxy_add_x_forwarded_for; #获取代理者的真实ipadd_header X-Frame-Options SAMEORIGIN;client_max_body_size    10m;client_body_buffer_size 128k;proxy_connect_timeout   90;proxy_send_timeout      90;proxy_read_timeout      90;proxy_buffer_size       128k;proxy_buffers           2 256k;proxy_busy_buffers_size 256k;proxy_temp_file_write_size 256k;proxy_pass http://192.168.102.47:9033;}location /api/receiptPay/sapSyncManageService/ {proxy_redirect          off;proxy_set_header        Host $host;proxy_set_header        X-Real-IP $remote_addr;  #获取真实ipproxy_set_header       X-Forwarded-For   $proxy_add_x_forwarded_for; #获取代理者的真实ipadd_header X-Frame-Options SAMEORIGIN;client_max_body_size    10m;client_body_buffer_size 128k;proxy_connect_timeout   90;proxy_send_timeout      90;proxy_read_timeout      90;proxy_buffer_size       128k;proxy_buffers           2 256k;proxy_busy_buffers_size 256k;proxy_temp_file_write_size 256k; proxy_pass http://192.168.102.47:9036;}location /api/receiptPay/receiptManageService/ {proxy_redirect          off;proxy_http_version 1.1;proxy_set_header Connection "";proxy_set_header        Host $host;proxy_set_header        X-Real-IP $remote_addr;  #获取真实ipproxy_set_header       X-Forwarded-For   $proxy_add_x_forwarded_for; #获取代理者的真实ipadd_header X-Frame-Options SAMEORIGIN;client_max_body_size    10m;client_body_buffer_size 128k;proxy_connect_timeout   90;proxy_send_timeout      90;proxy_read_timeout      90;proxy_buffer_size       128k;proxy_buffers           2 256k;proxy_busy_buffers_size 256k;proxy_temp_file_write_size 256k; proxy_pass http://192.168.102.47:9034;}location /api/receiptPay/payManageService/ {proxy_redirect          off;proxy_set_header        Host $host;proxy_set_header        X-Real-IP $remote_addr;  #获取真实ipproxy_set_header       X-Forwarded-For   $proxy_add_x_forwarded_for; #获取代理者的真实ipadd_header X-Frame-Options SAMEORIGIN;client_max_body_size    10m;client_body_buffer_size 128k;proxy_connect_timeout   90;proxy_send_timeout      90;proxy_read_timeout      90;proxy_buffer_size       128k;proxy_buffers           2 256k;proxy_busy_buffers_size 256k;proxy_temp_file_write_size 256k; proxy_pass http://192.168.102.47:9035;}location /api/assignment/ {proxy_redirect          off;proxy_set_header        Host $host;proxy_set_header        X-Real-IP $remote_addr;  #获取真实ipproxy_set_header       X-Forwarded-For   $proxy_add_x_forwarded_for; #获取代理者的真实ipadd_header X-Frame-Options SAMEORIGIN;client_max_body_size    10m;client_body_buffer_size 128k;proxy_connect_timeout   90;proxy_send_timeout      90;proxy_read_timeout      90;proxy_buffer_size       128k;proxy_buffers           2 256k;proxy_busy_buffers_size 256k;proxy_temp_file_write_size 256k;proxy_pass http://139.224.147.71:9050;}#access_log  logs/bizapi.log  access;}

###############################################################

启动命令:

对配置文件进行更改后我们再启动时先检查配置文件的语法是否正确:

# openresty  –t

返回以下情况说明配置没问题:

启动nginx:

 # openresty -s reload

如果在启动时出现以下报错:

nginx: [error] invalid PID number "" in "/usr/local/openresty/nginx/logs/nginx.pid"

那我们就需要重新定义一下nginx.conf的指定

# /usr/local/openresty/nginx/sbin/nginx  -c  /usr/local/openresty/nginx/conf/nginx.conf

关于nginx的log切割:

对于nginx的处理,我这里是写了一个shell脚本加上crontab做定时任务来实现的,相关脚本如下:

#############################################

#定义变量

LOGS_PATH=/usr/local/openresty/nginx/logs

YESTERDAY=$(date -d "yesterday" +%Y%m%d)

#按天切割日志

mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log

mv ${LOGS_PATH}/error.log ${LOGS_PATH}/error_${YESTERDAY}.log

#向nginx主进程发送USR1信号,重新打开日志文件,否则会继续往mv后的文件写数据的。原因在于:linux系统中,内核是根据文件描述符来找文件的。如果不这样操作导致日志切割失败。

kill -USR1 `ps axu | grep "nginx: master process" | grep -v grep | awk '{print $2}'`

#删除7天前的日志

cd ${LOGS_PATH}

find . -mtime +7 -name "*20[1-9][3-9]*" | xargs rm -f

#或者根据你定义的log名进行处理

#find . -mtime +7 -name "xx.com_*" | xargs rm -f

exit 0

##############################################

添加定时执行命令:

#nginx cut log

59 23 * * * sh   /usr/local/openresty/nginx/cutlog.sh

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/2170.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浅谈云计算07 | 云安全机制

云计算安全机制 一、引言二、加密技术:数据的隐形护盾三、散列机制:数据完整性的忠诚卫士四、数字签名:数据来源与真伪的鉴定专家五、公钥基础设施(PKI):信任的基石六、身份与访问管理(IAM&…

【Sql递归查询】Mysql、Oracle、SQL Server、PostgreSQL 实现递归查询的区别与案例(详解)

文章目录 Mysql 5.7 递归查询Mysql 8 实现递归查询Oracle递归示例SQL Server 递归查询示例PostgreSQL 递归查询示例 更多相关内容可查看 Mysql 5.7 递归查询 MySQL 5.7 本身不直接支持标准 SQL 中的递归查询语法(如 WITH RECURSIVE 这种常见的递归查询方式&#xf…

【Unity3D】【已解决】TextMeshPro无法显示中文的解决方法

TextMeshPro无法显示中文的解决方法 现象解决方法Assets 目录中新建一个字体文件夹在C:\Windows\Fonts 中随便找一个中文字体的字体文件把字体文件拖到第一步创建的文件夹中右键导入的字体,Create---TextMeshPro---Font Asset,创建字体文件资源把 SDF文件…

ShaderJoy —— 如何判别直线是否和二次贝塞尔曲线相交【GLSL】

效果图 关键代码解析 bool IntersectsQuadraticBezier (vec2 src, vec2 dest) {float A = (CONTROL_POINT_A - 2.0 * CONTROL_POINT_B

第十二章:算法与程序设计

文章目录: 一:基本概念 1.算法与程序 1.1 算法 1.2 程序 2.编译预处理 3.面向对象技术 4.程序设计方法 5.SOP标志作业流程 6.工具 6.1 自然语言 6.2 流程图 6.3 N/S图 6.4 伪代码 6.5 计算机语言 二:程序设计 基础 1.常数 …

【BLE】CC2541之ADC

本文最后修改时间:2022年04月12日 23:00 一、本节简介 本文介绍如何通过P05口采集电压值。 二、实验平台 1)CC2541平台 ①协议栈版本:BLE-CC254x-1.4.0 ②编译软件:IAR 10.20.1 ③硬件平台:香瓜CC2541开发板、USB…

SpeingMVC框架(三)

目录 五、响应数据与结果视图 1、返回值分类 2、springmvc的请求转发和重定向 六、异常处理 1、处理思路 2、自定义异常处理器 七、springmvc中的拦截器 1、拦截器概述 2、自定义拦截器步骤 五、响应数据与结果视图 1、返回值分类 返回String:Controller方…

Hadoop3.x 万字解析,从入门到剖析源码

💖 欢迎来到我的博客! 非常高兴能在这里与您相遇。在这里,您不仅能获得有趣的技术分享,还能感受到轻松愉快的氛围。无论您是编程新手,还是资深开发者,都能在这里找到属于您的知识宝藏,学习和成长…

【Vue】分享一个快速入门的前端框架以及如何搭建

先上效果图: 登录 菜单: 下载地址: 链接:https://pan.baidu.com/s/1m-ZlBARWU6_2n8jZil_RAQ 提取码:ui20 … 主要是可以自定义设置token,更改后端请求地址较为方便。 应用设置: 登录与token设置: 在这里设置不用登录,可以请求的接口: request.js i…

汽车免拆诊断案例 | 2007 款法拉利 599 GTB 车发动机故障灯异常点亮

故障现象  一辆2007款法拉利599 GTB车,搭载6.0 L V12自然吸气发动机(图1),累计行驶里程约为6万km。该车因发动机故障灯异常点亮进厂检修。 图1 发动机的布置 故障诊断 接车后试车,发动机怠速轻微抖动,…

Emacs 折腾日记(九)——elisp 数组与序列

elisp 中序列是数组和列表的统称,序列的共性是内部数据有一个先后的顺序,它与C/C 中有序列表类似。 elisp 中的数组包括向量、字符串、char-table 和布尔向量,它们的关系如下: 在之前一章中已经介绍了序列中的一种类型——列表&#xff0c…

Mac玩Steam游戏秘籍!

Mac玩Steam游戏秘籍! 大家好!最近有不少朋友在用MacBook玩Steam游戏时遇到不支持mac的问题。别担心,我来教你如何用第三方工具Crossover来畅玩这些不支持的游戏,简单又实用! 第一步:下载Crossover 首先&…

初识算法和数据结构P1:保姆级图文详解

文章目录 前言1、算法例子1.1、查字典(二分查找算法)1.2、整理扑克(插入排序算法)1.3、货币找零(贪心算法) 2、算法与数据结构2.1、算法定义2.2、数据结构定义2.3、数据结构与算法的关系2.4、独立于编程语言…

Oracle 使用dbms_stats.gather_table_stats来进行表analyse,收集表统计信息

目录 一. 介绍二. 参数说明三. 简易封装四. 效果 一. 介绍 DBMS_STATS.GATHER_TABLE_STATS 用于收集 表 级别的统计信息。这些统计信息有助于查询优化器优化查询计划,影响与表本身相关的查询性能。 Oracle 查询优化器会根据表的统计信息来选择最优的执行计划。当运…

apache-skywalking-apm-10.1.0使用

apache-skywalking-apm-10.1.0使用 本文主要介绍如何使用apache-skywalking-apm-10.1.0,同时配合elasticsearch-8.17.0-windows-x86_64来作为存储 es持久化数据使用。 步骤如下: 一、下载elasticsearch-8.17.0-windows-x86_64 1、下载ES(elasticsear…

Flink系统知识讲解之:容错与State状态管理

Flink系统知识之:容错与State状态管理 状态在Flink中叫作State,用来保存中间计算结果或者缓存数据。根据是否需要保存中间结果,分为无状态计算和有状态计算。对于流计算而言,事件持续不断地产生,如果每次计算都是相互…

Python线性混合效应回归LMER分析大鼠幼崽体重数据、假设检验可视化|数据分享...

全文链接:https://tecdat.cn/?p38816 在数据分析领域,当数据呈现出层次结构时,传统的一般线性模型(GLM)可能无法充分捕捉数据的特征。混合效应回归作为GLM的扩展,能够有效处理这类具有层次结构的数据&…

大疆机场及无人机上云

最近基于大疆上云api进行二次开发,后面将按照开发步骤对其进行说明!

【WEB】网络传输中的信息安全 - 加密、签名、数字证书与HTTPS

文章目录 1. 概述2. 网络传输安全2.1.什么是中间人攻击2.2. 加密和签名2.2.1.加密算法2.2.2.摘要2.2.3.签名 2.3.数字证书2.3.1.证书的使用2.3.2.根证书2.3.3.证书链 2.4.HTTPS 1. 概述 本篇主要是讲解讲一些安全相关的基本知识(如加密、签名、证书等)&…

SpringMVC

开发模式: (1)前后端不分离:服务端渲染 数据和结构并不分离,客户端发送请求后访问指定路径资源,服务端业务处理之后将数据组装到页面,并返回带数据的完整页面。 (2)前…