Nginx配置总结
修改nginx服务器配置,在conf文件下的nginx.conf文件。
<code><span>#user nobody; #运行用户</span><span>#worker_processes 1; #启动进程数,通常设置成和cpu数目相同</span><span>#error_log /var/log; #错误日志</span> events { worker_connections <span>1024</span>;<span>#单个后台work process进程最大并发链接数</span> } <span>#设定http服务器</span> http{ <span>#设定mime类型,类型由mime.type文件定义</span> include /etc/nginx/mime.types; default_type <span>application</span>/octet-stream; <span>#设定日志格式</span> access_log /var/<span>log</span>/nginx/access.<span>log</span>; sendfile <span><span>on</span></span>; <span>#连接超时时间</span><span>#keepalive_timeout 0;</span> keepalive_timeout <span>65</span>; tcp_nodelay <span><span>on</span></span>; <span>#集群中的所有后台服务器的配置信息,用于负载均衡</span> upstream local_tomcat{ server <span>192.168</span><span>.0</span><span>.111</span>:<span>80</span>; server <span>192.168</span><span>.0</span><span>.109</span>:<span>8080</span>; } server{ listen <span>8090</span>; <span>#当前代理服务器监听端口</span> server_name localhost:<span>80</span>; <span>#监听后要转到地址</span><span>#charset koi8-r;</span><span>#access_log logs/host.access.log main;</span> location / { <span>#location表示匹配路径,/表示所有请求</span> root html; <span>#静态文件存放的路径</span> index index.html index.htm; <span>#没有主页时,此为主页,可多个</span> } <span>#error_page 404 /404.html;</span><span># redirect server error pages to the static page/50x.html</span> error_page <span>500</span><span>502</span><span>503</span><span>504</span> /<span>50</span>x.html; location = /<span>50</span>x.html { root html; } } } </code>
常见问题总结:
1. nginx+tomcat影响request值
request.getScheme() //总是 http,而不是实际的http或https
request.isSecure() //总是false(因为总是http)
request.getRemoteAddr() //总是 nginx 请求的 IP,而不是用户的IP
request.getRequestURL() //总是 nginx 请求的URL 而不是用户实际请求的 URL
request.getServerName //总是nginx请求的ip
request.getServerPort //总是nginx请求的端口
response.sendRedirect( 相对url ) //总是重定向到 http 上 (因为认为当前是 http 请求)
解决方法:
修改nginx配置:
<code>proxy_<span>set</span>_header Host <span>$host</span>; <span>#解决getRequestURL、getServerName、getServerPort问题</span> proxy_<span>set</span>_header X-Real-IP <span>$remote_addr</span>;<span>#把真实的ip发送给转发的web服务器</span> proxy_<span>set</span>_header X-Forwarded-For <span>$proxy_add_x_forwarded_for</span>;<span>#解决request.getScheme()只能返回http而不是https问题</span></code>
配置tomcat的server.xml的Engine模块,配置一个value
<code><span>Valve</span><span>className</span>=<span>"org.apache.catalina.valves.RemoteIpValve"</span><span>remoteIpHeader</span>=<span>"X-Forwarded-For"</span><span>protocolHeader</span>=<span>"X-Forwarded-Proto"</span><span>protocolHeaderHttpsValue</span>=<span>"https"</span> /></code>
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了Nginx配置总结,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

HTML、CSS和JavaScript在Web开发中的作用分别是:1.HTML定义网页结构,2.CSS控制网页样式,3.JavaScript添加动态行为。它们共同构建了现代网站的框架、美观和交互性。

如何在 Windows 中配置 Nginx?安装 Nginx 并创建虚拟主机配置。修改主配置文件并包含虚拟主机配置。启动或重新加载 Nginx。测试配置并查看网站。选择性启用 SSL 并配置 SSL 证书。选择性设置防火墙允许 80 和 443 端口流量。

HTML的未来充满了无限可能。1)新功能和标准将包括更多的语义化标签和WebComponents的普及。2)网页设计趋势将继续向响应式和无障碍设计发展。3)性能优化将通过响应式图片加载和延迟加载技术提升用户体验。

Docker 容器启动步骤:拉取容器镜像:运行 "docker pull [镜像名称]"。创建容器:使用 "docker create [选项] [镜像名称] [命令和参数]"。启动容器:执行 "docker start [容器名称或 ID]"。检查容器状态:通过 "docker ps" 验证容器是否正在运行。

可以通过以下步骤查询 Docker 容器名称:列出所有容器(docker ps)。筛选容器列表(使用 grep 命令)。获取容器名称(位于 "NAMES" 列中)。

确认 Nginx 是否启动的方法:1. 使用命令行:systemctl status nginx(Linux/Unix)、netstat -ano | findstr 80(Windows);2. 检查端口 80 是否开放;3. 查看系统日志中 Nginx 启动消息;4. 使用第三方工具,如 Nagios、Zabbix、Icinga。

在 Docker 中创建容器: 1. 拉取镜像: docker pull [镜像名] 2. 创建容器: docker run [选项] [镜像名] [命令] 3. 启动容器: docker start [容器名]

可以查询 Nginx 版本的方法有:使用 nginx -v 命令;查看 nginx.conf 文件中的 version 指令;打开 Nginx 错误页,查看页面的标题。
