Recent Comments
Category Archives: Nginx
使用环境 centos 8 LNMP wordpress 先说结论:系统重启后没有关闭selinux 因为维护主机,所以重启了一下虚拟机,结果wp就没法正常访问了,一直提示数据库连接异常。在排查了数据库和nginx无果之后,想到了去系统的message查下报错信息。果然发现了端倪 Mar 7 19:45:14 host setroubleshoot[2219]: SELinux is preventing php-fpm from name_connect access on the tcp_socket port 3306.#012#012***** Plugin catchall_boolean (47.5 confidence) suggests ******************#012#012If you want to allow httpd to can network connect#012Then you … Continue reading
Nginx超时(timeout)详细配置
转载自:https://juejin.im/post/5b696a24e51d45191e0d3e56 Nginx 处理的每个请求均有相应的超时设置。如果做好这些超时时间的限定,判定超时后资源被释放,用来处理其他的请求,以此提升 Nginx 的性能。 keepalive_timeout HTTP 是一种无状态协议,客户端向服务器发送一个 TCP 请求,服务端响应完毕后断开连接。 如果客户端向服务器发送多个请求,每个请求都要建立各自独立的连接以传输数据。 HTTP 有一个 KeepAlive 模式,它告诉 webserver 在处理完一个请求后保持这个 TCP 连接的打开状态。若接收到来自客户端的其它请求,服务端会利用这个未被关闭的连接,而不需要再建立一个连接。 KeepAlive 在一段时间内保持打开状态,它们会在这段时间内占用资源。占用过多就会影响性能。 Nginx 使用 keepalive_timeout 来指定 KeepAlive 的超时时间(timeout)。指定每个 TCP 连接最多可以保持多长时间。Nginx 的默认值是 75 秒,有些浏览器最多只保持 60 秒,所以可以设定为 60 秒。若将它设置为 0,就禁止了 keepalive 连接。 # … Continue reading
Nginx各项配置的含义
#user nobody; #配置用户或者组,默认为nobody nobody worker_processes 4; #允许生成的进程数,默认为1 worker_cpu_affinity 00000001 00000010 00000100 00001000; #为每个进程分配一个CPU worker_rlimit_nofile 102400; #为nginx工作进程改变打开最多文件描述符数目的限制。用来在不重启主进程的情况下增加限制。 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #指定日志路径,级别。这个设置可以放入全局块,http块,server块,级别依次为:debug|info|notice|warn|error|crit|alert|emerg #pid logs/nginx.pid; #指定nginx进程运行文件存放地址 events { accept_mutex on; #设置网路连接序列化,防止惊群现象发生,默认为on multi_accept on; #设置一个进程是否同时接受多个网络连接,默认为off use epoll; #使用epoll(linux2.6的高性能方式)事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport worker_connections … Continue reading
nginx按IP控制访问
nginx拒绝或允许指定IP,是使用模块HTTP访问控制模块(HTTP Access). 控制规则按照声明的顺序进行检查,首条匹配IP的访问规则将被启用。 location / { deny 192.168.1.1; allow 192.168.1.0/24; allow 10.1.1.0/16; deny all; } 上面的例子中仅允许192.168.1.0/24和10.1.1.0/16网络段访问这个location字段,但192.168.1.1是个例外。 注意规则的匹配顺序,如果你使用过apache你可能会认为你可以随意控制规则的顺序并且他们能够正常的工作,但实际上不行。 下面的这个例子将拒绝掉所有的连接: location / { #这里将永远输出403错误。 deny all; #这些指令不会被启用,因为到达的连接在第一条已经被拒绝 deny 192.168.1.1; allow 192.168.1.0/24; allow 10.1.1.0/1 }
解决wordpress 302循环重定向
我在用nginx转发内网wordpress的时候,css等样式加载不出来,点登陆,一堆302重定向报错:(ip已经隐去) X.X.X.X – – [26/Sep/2019:14:28:23 +0800] “GET /wp-login.php HTTP/1.1” 302 5 “https://blog.fencatn.net/” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36 OPR/63.0.3368.94” “Y.Y.Y.Y” X.X.X.X – – [26/Sep/2019:14:28:23 +0800] “GET /wp-login.php HTTP/1.1” 302 5 “https://blog.fencatn.net/” “Mozilla/5.0 (Windows NT … Continue reading
Nginx通过二级目录(路径)映射不同的反向代理
转载自https://blog.csdn.net/maliao1123/article/details/53909006 ①、同一个域名需要反向代理到前台和后台(不同机器和端口); ②、需要采用IP+端口的模式,嵌入到APP作为DNS污染后的备选方案。 server { listen 80; server_name demo.domain.com; #通过访问service二级目录来访问后台 location /service/ { #DemoBackend1后面的斜杠是一个关键,没有斜杠的话就会传递service到后端节点导致404 proxy_pass http://DemoBackend1/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } #其他路径默认访问前台网站 location / { proxy_pass http://DemoBackend2; proxy_redirect off; proxy_set_header Host $host; proxy_set_header … Continue reading
nginx设置文件上传大小
location ~ [^/]\.php(/|$) { include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; client_max_body_size 500m; }
nginx反向代理tomcat时session丢失、无效的问题
nginx反向代理tomcat时session丢失、无效的问题 最开始是因为我反代几个web服务器时,一刷新页面,session就失效了 最开始的配置文件如下 upstream bt40 { server 192.168.31.40:12000; keepalive 2000; } server { listen 12040; server_name 192.168.31.35; client_max_body_size 1024M; location / { proxy_pass http://bt40/; proxy_set_header Host $host:$server_port; } } 改成下面这个就可以了 upstream bt40 { server 192.168.31.40:12000; keepalive 2000; } server { … Continue reading
Nginx 禁止访问某个目录或文件的设置方法
Nginx 禁止访问某个目录或文件的设置方法 (1)如果基于WEB根目录下,要禁止用户访问/config目录,或者要禁止用户访问/config.ini(ZF常用INI,不过建议还是放到WEB目录以外的地方),可以通过location进行配置,返回403或者404等 复制代码代码如下: location = /config/ { return 404; } location =/config.ini{ return 404; } (2)这样只能禁止访问 http://example.com/path/ 复制代码代码如下: location = /path/ { return 404; } (3)如果只允许某个ip访问http://example.com/path/那么 location / { root html; index index.html; } location ^~ /b/ { allow … Continue reading
Nginx 实现端口转发
什么是端口转发 文章转自:https://www.xiaoz.me/archives/10578 ,感谢原作者 当我们在服务器上搭建一个图书以及一个电影的应用,其中图书应用启动了 8001 端口,电影应用启动了 8002 端口。此时如果我们可以通过 localhost:8001 //图书 localhost:8002 //电影 但我们一般访问应用的时候都是希望不加端口就访问域名,也即两个应用都通过 80 端口访问。但我们知道服务器上的一个端口只能被一个程序使用,这时候如何该怎么办呢?一个常用的方法是用 Nginx 进行端口转发。Nginx 的实现原理是:用 Nginx 监听 80 端口,当有 HTTP 请求到来时,将 HTTP 请求的 HOST 等信息与其配置文件进行匹配并转发给对应的应用。例如当用户访问 book.douban.com 时,Nginx 从配置文件中知道这个是图书应用的 HTTP 请求,于是将此请求转发给 8001 端口的应用处理。当用户访问 movie.douban.com 时,Nginx 从配置文件中知道这个是电影应用的 HTTP 请求,于是将此请求转发给 … Continue reading