草庐IT

nginx.conf

全部标签

nginx 访问静态图片

1.nginx设置nginx.conf2server{listen8881;server_namelocalhost;location/{roothtml;indexindex.htmlindex.htm; }//本地访问图片location/map/{aliasD:/A-Software/MapTileDownloader/map/mapabc/satellite/;autoindexon;} }我的本地图片地址如图:   2.启动nginx 3.访问:http://localhost:8881/map/图片其他路径例如:http://localhost:8881/map/14/135

Docker Nginx安装使用以及踩坑点总结

拉取nginx镜像dockerpullnginx:latest运行镜像暂时不需要配置volume挂载dockerrun--namenginx-p80:80-dnginx参数详解:--namenginx指定容器的名称-p80:80映射端口-d守护进程运行创建volume目录mkdir-p/www/nginx/conf.dmkdir-p/www/nginx/htmlmkdir-p/www/nginx/logmkdir-p/www/nginx/conf拷贝nginx容器对应的文件默认配置(关键)dockercpnginx:/etc/nginx/nginx.conf/www/nginx/conf/ng

Nginx代理后获取客户端真实IP地址

1、场景在项目实际应用中,我们可能会需要获取到用户也就是客户端的真实IP地址,比如记录系统操作日志等情况。2、使用通常情况下我们可以使用以下方式来获取IP地址request.getRemoteAddr()但是当我们使用Nginx反向代理项目地址后,使用以上方法只能获取到Nginx服务器的IP地址,并不是客户端的IP地址。3、解决解决方法很简单,同样也是在Nginx中进行配置,然后在Java中获取即可。首先在nginx.conf配置中添加一行即可:proxy_set_headerX-Real-IP$remote_addr;添加位置如下: 可以看到我这里还添加了其他的 proxy_set_head

Nginx代理后获取客户端真实IP地址

1、场景在项目实际应用中,我们可能会需要获取到用户也就是客户端的真实IP地址,比如记录系统操作日志等情况。2、使用通常情况下我们可以使用以下方式来获取IP地址request.getRemoteAddr()但是当我们使用Nginx反向代理项目地址后,使用以上方法只能获取到Nginx服务器的IP地址,并不是客户端的IP地址。3、解决解决方法很简单,同样也是在Nginx中进行配置,然后在Java中获取即可。首先在nginx.conf配置中添加一行即可:proxy_set_headerX-Real-IP$remote_addr;添加位置如下: 可以看到我这里还添加了其他的 proxy_set_head

nginx常用命令

Linux:cd/usr/local/nginx/sbin/./nginx启动./nginx-sstop停止./nginx-squit安全退出.nginx-sreload重新加载配置文件(修改了config配置文件后执行)psaux|grepnginx查看nginx进程Nginx默认端口是80端口,如果安装后访问不了,查看端口是否被占用。windows:查看端口号:netstat-ano|findstr'端口号'杀掉进程:taskkill/imnginx.exe-f启动直接点击Nginx目录下的nginx.exe或者cmd运行startnginx关闭nginx-sstop或者nginx-squ

mysqld: Can‘t read dir of ‘/etc/mysql/conf.d/‘ (Errcode: 13 - Permission denied)

今天用docker去运行mysql的时候,一直existing输入dockerlogs镜像ID的时候发现报了mysqld:Can‘treaddirof‘/etc/mysql/conf.d/‘(Errcode:13-Permissiondenied)网上都是说docker权限问题,我就跟着输入了原因:因为Centos7安全Selinux禁止了部分安全权限,导致mysql和mariadb在进行挂载/var/lib/mysql的时候会提示上面的信息解决方法在dockerrun中加入--privileged=true给容器加上特定权限实际上还是没办法解决问题,还是运行失败真正的解决方法:1、建立对应的

微服务---分布式多级缓存集群实现方案(Caffeine+redis+nginx本地缓存+Canal数据同步)

分布式多级缓存集群实现方案1.什么是多级缓存传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未命中则查询数据库,如图:存在下面的问题:•请求要经过Tomcat处理,Tomcat的性能成为整个系统的瓶颈•Redis缓存失效时,会对数据库产生冲击多级缓存就是充分利用请求处理的每个环节,分别添加缓存,减轻Tomcat压力,提升服务性能:浏览器访问静态资源时,优先读取浏览器本地缓存访问非静态资源(ajax查询数据)时,访问服务端请求到达Nginx后,优先读取Nginx本地缓存如果Nginx本地缓存未命中,则去直接查询Redis(不经过Tomcat)如果Redis查询未命中,则查询To

Nginx之正向代理与反向代理进阶(支持https)

在【Nginx之正向代理与反向代理】一文中我们实现了将Nginx服务器作为正向代理服务器和反向代理服务器,但美中不足的是仅支持http协议,不支持https协议。我们先看看看http和https的区别:http协议:协议以明文方式发送数据,不提供任何方式的数据加密。不适合传输一些敏感信息,例如密码。其使用的端口是80。https协议:在http协议的基础上,加入了SSL(SecureSocketsLayer),用于对数据进行加密。其使用的端口为443。现在,我们要完成Nginx对https协议的支持。1.Nginx正向代理(http)我们来回顾一下Nginx作为正向代理服务器支持http协议的

k8s非root用户报错:error loading config file “/etc/kubernetes/admin.conf“: open /etc/kubernetes/admin.conf

chatgpt回答的……这个错误是由于当前非root用户没有足够的权限来读取"/etc/kubernetes/admin.conf"配置文件导致的。在Kubernetes中,"/etc/kubernetes/admin.conf"是用于管理员访问Kubernetes集群的配置文件,因此通常需要root用户或有足够权限的用户才能访问。解决这个问题的方法有以下几种:1.使用sudo命令:在非root用户下,可以尝试使用sudo命令来提升权限,例如: sudokubectl这会将kubectl命令以root权限运行,从而可以读取"/etc/kubernetes/admin.conf"文件。2.修改文

nginx模块stream配置

一、stream模块概要。stream模块一般用于tcp/UDP数据流的代理和负载均衡,可以通过stream模块代理转发TCP消息。ngx_stream_core_module模块由1.9.0版提供。默认情况下,没有构建此模块。-必须使用-withstream配置参数启用。也就是说,必须在使用./configure--with-stream编译时添加流模块。流模块的使用方法与http模块相同,语法也基本相同。二、使用场景说明stream主要有两个可用场景。一是实现流量的代理转发。这里所述的代理转发是指,只有一些端口服务被限制为活动IP地址。例如,mysql账户一般将源地址限制为APP应用服务器