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 [
remoteuser[time_local] “$request” ’
'$status
b
o
d
y
b
y
t
e
s
s
e
n
t
"
body_bytes_sent "
bodybytessent"http_referer" ’
‘“
h
t
t
p
u
s
e
r
a
g
e
n
t
"
"
http_user_agent" "
httpuseragent""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)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
参考阅读
发表评论