server 127.0.0.1;

balancer_by_lua_file /app/openresty/nginx/waf/verynginx/verynginx/lua_script/on_banlance.lua;

keepalive 1024; #Connection pool

}

lua_package_path ‘/app/openresty/nginx/waf/verynginx/verynginx/lua_script/?.lua;;/app/openresty/nginx/waf/verynginx/verynginx/lua_script/module/?.lua;;’;

lua_package_cpath ‘/app/openresty/nginx/waf/verynginx/verynginx/lua_script/?.so;;’;

lua_code_cache on;

lua_shared_dict status 1m;

lua_shared_dict frequency_limit 10m;

lua_shared_dict summary_long 10m;

lua_shared_dict summary_short 10m;

init_by_lua_file /app/openresty/nginx/waf/verynginx/verynginx/lua_script/on_init.lua;

rewrite_by_lua_file /app/openresty/nginx/waf/verynginx/verynginx/lua_script/on_rewrite.lua;

access_by_lua_file /app/openresty/nginx/waf/verynginx/verynginx/lua_script/on_access.lua;

log_by_lua_file /app/openresty/nginx/waf/verynginx/verynginx/lua_script/on_log.lua;

其他2个文件不要改变

配置 VeryNginx 的代码是下面这部分:

#-----------------VeryNginx config code------------------

#user nginx;

worker_processes auto;

#error_log logs/error.log;

#error_log logs/error.log notice;

#error_log logs/error.log info;

#pid logs/nginx.pid;

events {

worker_connections 1024;

}

include /app/openresty/nginx/waf/verynginx/verynginx/nginx_conf/in_external.conf;

#include /app/openresty/nginx/waf/verynginx/nginx_conf/in_http_block.conf;

http {

charset utf-8;

sendfile on;

tcp_nopush on;

tcp_nodelay on;

server_tokens off;

types_hash_max_size 2048;

server_names_hash_bucket_size 128;

large_client_header_buffers 4 32k;

fastcgi_intercept_errors on;

proxy_intercept_errors on;

underscores_in_headers on;

client_header_timeout 15s;

client_body_timeout 15s;

client_max_body_size 100m;

client_body_buffer_size 2m;

client_header_buffer_size 256k;

#keepalive_timeout 0;

keepalive_timeout 90s;

keepalive_requests 2000;

MIME

include mime.types;

default_type application/octet-stream;

#log_format main '$remote_addr -

r

e

m

o

t

e

u

s

e

r

[

remote_user [

remoteu​ser[time_local] “$request” ’

'$status

b

o

d

y

b

y

t

e

s

s

e

n

t

"

body_bytes_sent "

bodyb​ytess​ent"http_referer" ’

‘“

h

t

t

p

u

s

e

r

a

g

e

n

t

"

"

http_user_agent" "

httpu​sera​gent""http_x_forwarded_for”’;

#access_log logs/access.log main;

#tcp_nopush on;

#keepalive_timeout 0;

gzip

gzip on;

gzip_min_length 1k;

gzip_buffers 4 16k;

gzip_http_version 1.1;

gzip_comp_level 6;

gzip_types text/plain text/css application/javascript application/x-javascript application/xml application/json;

gzip_vary on;

proxy_connect_timeout 5s;

proxy_read_timeout 1800s;

proxy_send_timeout 1800s;

proxy_buffer_size 128k;

proxy_buffers 100 128k;

#proxy_busy_buffers_size 1m;

#proxy_temp_file_write_size 512k;

#this line shoud be include in every http block

include /app/openresty/nginx/waf/verynginx/verynginx/nginx_conf/in_http_block.conf;

log_format main ‘$remote_addr -’

’ $remote_user’

’ [$time_local]’

’ “$request”’

’ $status’

’ $body_bytes_sent’

’ “$http_referer”’

’ “$http_user_agent”’

’ “$http_x_forwarded_for”’

’ $upstream_response_time’

’ $upstream_addr’;

access_log logs/access.log main;

upstream gateway_pool {

网关的地址

server 106.12.129.14:9200;

}

server {

listen 80;

#this line shoud be include in every server block

include /app/openresty/nginx/waf/verynginx/verynginx/nginx_conf/in_server_block.conf;

#include /app/openresty/nginx/waf/verynginx/nginx_conf/in_http_block.conf;

location / {

proxy_http_version 1.1;

proxy_set_header Connection “”;

proxy_redirect off;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Host $host;

proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;

proxy_set_header Host $host;

proxy_pass http://gateway_pool;

}

}

}

#---------------VeryNginx config code end-----------------

如果不使用 VeryNginx 提供的配置模版,你也可以手动把这部分加入到自己的 Nginx 配置文件中. (如果安装路径不是/app/openresty ,需要对 lua_package_cpath 和 lua_package_path 的值进行修改)

1.4 启/停服务

启动服务: /app/openresty/nginx/sbin/nginx

停止服务:/app/openresty/nginx/sbin/nginx -s stop

1.5 配置VeryNginx

打开浏览器访问 http://127.0.0.1/VeryNginx/dashboard/index.html。

默认用户名和密码:verynginx / verynginx 。

登录之后就可以查看状态,并对配置进行修改了。修改配置后,记得到 「配置 > 系统 > 全部配置」去保存.

提示

通过 VeryNginx 控制面板保存新配置之后,会立刻生效,并不需要 restart/reload Nginx。 VeryNginx 把配置保存在 /app/openresty/nginx/waf/verynginx/configs/config.json 里面。 如果因为配错了什么选项,导致无法登录,可以手动删除 config.json 来清空配置。

已安装成功openresty

可以用网盘的覆盖/app/openresty/nginx/waf目录

链接:https://pan.baidu.com/s/1nt2SfrDtk83Q4gvwIlpBfQ 提取码:g5hs

2. 安装elasticsearch

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.tar.gz

tar -zxvf elasticsearch-6.5.4.tar.gz -C /usr/local/

useradd es

chown -R es:es /usr/local/elasticsearch-6.5.4/

cd /usr/local/elasticsearch-6.5.4

修改config/jvm.options为内存的一半大小

vi config/jvm.options

-Xms512m

-Xmx512m

修改 max file 和 max virtual memory 参数

用root 或 sudo 用户

vi /etc/sysctl.conf

添加下面配置:

vm.max_map_count=655360

并执行命令:

sysctl -p

配置端口 跨域

vi /usr/local/elasticsearch-6.5.4/config/elasticsearch.yml

cluster.name: elasticsearch

node.name: node-1

network.host: 0.0.0.0

http.port: 9200

node.max_local_storage_nodes: 2

http.cors.enabled: true

http.cors.allow-origin: “*”

切换es用户

su - es

在Elasticsearch主目录下运行下列命令来安装这些插件:

bin/elasticsearch-plugin install ingest-geoip

bin/elasticsearch-plugin install ingest-user-agent

es用户启动

/usr/local/elasticsearch-6.5.4/bin/elasticsearch -d

root用户启动

su - es -c ‘/usr/local/elasticsearch-6.5.4/bin/elasticsearch -d’

2.1 windows 安装elasticseach-head

访问 https://github.com/mobz/elasticsearch-head 下载 head 插件(选择 zip 压缩包下载方式)。

修改 ~\elasticsearch-6.6.2\elasticsearch-head-master\Gruntfile.js,在对应的位置加上 hostname:’*’ 配置项。

在 ~\elasticsearch-6.6.2\elasticsearch-head-master 下执行 npm install 开始安装,完成后可执行 grunt server 或者 npm run start 运行 head 插件。

安装成功,访问 http://localhost:9100/。

2.2 注意事项

在 head 中连接 ES 失败。

对于 Access-Control-Allow-Origin 的问题,可以在 ElasticSearch 6.x 的 ~\config\elasticsearch.yml 文件的末尾加入以下代码:

http.cors.enabled: true

http.cors.allow-origin: “*”

node.master: true node.data: true

配置更新后,重启 ES 即可连接成功。

3. 安装Filebeat

推荐博客:https://www.cnblogs.com/cjsblog/p/9495024.html

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.5.4-linux-x86_64.tar.gz

tar -zxvf filebeat-6.5.4-linux-x86_64.tar.gz -C /usr/local/

cd /usr/local/

mv filebeat-6.5.4-linux-x86_64 filebeat-6.5.4

cd /usr/local/filebeat-6.5.4

vi filebeat.yml

filebeat.inputs:

type: log

enabled: false

paths:

/app/openresty/nginx/logs/access.log

#============================= Filebeat modules ===============================

filebeat.config.modules:

path: ${path.config}/modules.d/*.yml

reload.enabled: false

setup.template.settings:

index.number_of_shards: 3

setup.template.name: “nginx-log-”

setup.template.pattern: “nginx-log-*”

setup.template.overwrite: true

output.elasticsearch:

enabled: true

hosts: [“106.13.3.200:9200”]

index: “nginx-log-%{+yyyy-MM-dd}”

#================================ Processors =====================================

Configure processors to enhance or manipulate events generated by the beat.

processors:

#- add_host_metadata: ~

#- add_cloud_metadata: ~

drop_fields:

fields: [“beat.name”, “beat.version”, “host.architecture”,“host.architecture”,“host.name”,“beat.hostname”,“log.file.path”]

3.1 启用模块nginx

cd /usr/local/filebeat-6.5.4/modules.d

vi nginx.yml

执行以下配置

module: nginx

Access logs

access:

enabled: true

Set custom paths for the log files. If left empty,

Filebeat will choose the paths depending on your OS.

var.paths: [“/app/openresty/nginx/logs/access.log”]

Error logs

error:

enabled: true

Set custom paths for the log files. If left empty,

Filebeat will choose the paths depending on your OS.

var.paths: [“/app/openresty/nginx/logs/error.log”]

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

读者福利

更多笔记分享

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取! 很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**[外链图片转存中…(img-FY8gaPtQ-1712657146758)]

[外链图片转存中…(img-LgPAaYzu-1712657146759)]

[外链图片转存中…(img-sXq21tNb-1712657146759)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

读者福利

[外链图片转存中…(img-ypRIICMW-1712657146759)]

更多笔记分享

[外链图片转存中…(img-WqJxwQmk-1712657146760)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

参考阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: