Nginx负载均衡/SSL配置的实现

Nginx负载均衡/SSL配置的实现

什么是负载均衡? 当一个域名指向多台web服务器时,添加一台nginx负载均衡服务器,通过nginx负载均衡即可将来自于客户端的请求均衡的发送给每台web服务器,避免单台服务器负载过高而其余服务器较为空闲的不均衡情况出现
详解基于centos7搭建Nginx网站服务器(包含虚拟web主机的配置)

详解基于centos7搭建Nginx网站服务器(包含虚拟web主机的配置)

一 、Nginx服务基础 Nginx (engine x)专为性能优化而开发,其特点是占有内存少,它的稳定性和低系统资源消耗,以及对并发连接的高处理能力,(单台物理服务器可支持5000个并发请求)。事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。同时也提供了IMAP/POP3/SMTP服务。
nginx设置资源缓存实战详解

nginx设置资源缓存实战详解

一直很想学习缓存这一块儿的东西,毕竟前端性能优化缓存在其中占了很大一部分作用。缓存分为两种:强制缓存和协商缓存。看过很多文章讲它们之间的区别,但是没有实战过只知道其意义却不知道怎样去设置,没有实战过也导致记忆总是很模糊,实践才是最好的老师!记录一下我使用nginx服务器学习缓存的过程。
使用nginx配置基于域名的虚拟主机实现​

使用nginx配置基于域名的虚拟主机实现​

1、什么是虚拟主机 虚拟主机使用特殊的技术,将一台运行的服务器,在逻辑上划分成多个主机。这样做主要是能让一台物理服务器上运行多个网站程序,这样就可以利用起来服务器剩余的空间。充分发挥服务器的作用。虚拟主机间,是完全独立的。
Nginx大并发优化实战

Nginx大并发优化实战

一、调优的必要性 ​ 一直不愿意写优化的内容出来分享,实在是不知道该如何取写。因为,写不好就会被各种慰问,今天终于还是写了,因为有太多人私信或在群里问我或者让给分享经验,我还是从了。
Nginx rewrite正则匹配重写的方法示例

Nginx rewrite正则匹配重写的方法示例

Nginx的rewrite功能支持正则匹配重写,即将URL地址临时或永久重新指向某个新的位置,类似于重定向。这个特性有利用当网站结构做出重大调整,如之前的网站mp3资源使用URL为www.site1.org/mp3进行访问,而现在服务器上mp3目录已经被使用music目录替换,那rewrite这个功能则能够轻松实现。其次如可以将site1.org强制调整到www.site1.org,反之亦可。这个指令位于ngx_http_rewrite_module模块。本文主要描述这个指令的用法并给出演示。
nginx提示:500 Internal Server Error错误的解决方法

nginx提示:500 Internal Server Error错误的解决方法

现在越来越多的站点开始用 Nginx ,("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。 在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据测试结果,Nginx 0.6.31 + PHP 5.2.6 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。 但很多人用 Nginx 的时候都会出现 500 错误,根据我使用的情况来看,很大一部分原因是 因为文件打开句柄太小有关。在linux 下 使用这个命令增加进程打开的文件句柄。 ulimit -SHn 51200 默认只用1000 当链接数小的时候看不出来,使用这种处理方法可以有效防止500错误出现。 今天访问网站的时候,偶尔会遇上500 Internal Server Error的错误提示页面. 查了相关资料认为是访问过大,系统内核进程受限才出现的. 答案如下: $ ulimit -n 11095 程序限制只能打开11095个文件,ulimit命令是设置当前用户一个进程可拥有的文件描述符的数量. 看来是模拟的并发数太多了,需要调整一下nginx.conf的并发设置数,(我的配置主机的内存2G,CPU为2.8G,) 代码如下: vi /etc/nginx/nginx.conf events { worker_connections 1024; } 调整为 代码如下: events { worker_connections 10240; } 还是会出现上面问题,使用 [root@qimutian nginx]# cat /proc/sys/fs/file-max 8192 文件系统最大可打开文件数 [root@qimutian nginx]# ulimit -n 1024 程序限制只能打开1024个文件 使用[root@qimutian nginx]# ulimit -n 8192调整一下 或者永久调整打开文件数 可在启动文件/etc/rc.d/rc.local末尾添加(在/etc/sysctl.conf末尾添加fs.file-max=8192) ulimit -n 8192 调整CentOS5文件打开数 使用ulimit -a一下,发现OPEN FILES不能默认超过1024,昨天的在进行压力测试时,出现500错误,具体请查看 nginx出现 500 Internal Server Error 早上起来看一下,发现原来是通过如下方式调整 方法1 (永久调整) vi /etc/security/limits.conf 在文件末加上: * soft nofile 8192 * hard nofile 20480 同时vi /etc/sysctl.conf末尾添加 fs.file-max=8192 重新启动,在使用ulimit -n查看的数已经是8192 方法2 (临时用) 直接在终端输入 ulimit -n 8192 按回车就ok了500 Internal Server Error错误补充:1、硬盘空间满了 使用 df -k 查看硬盘空间是否满了。清理硬盘空间就可以解决500错误。nginx如果开启了access log,在不需要的情况下,最好关闭access log。access log会占用大量硬盘空间。 2、nginx配置文件错误 这里不是指语法错误,nginx如果配置文件有语法错误,启动的时候就会提示。当配置rewrite的时候,有些规则处理不当会出现500错误,请仔细检查自己的rewrite规则。如果配置文件里有些变量设置不当,也会出现500错误,比如引用了一个没有值的变量。 3、如果上面的问题都不存在可能是模拟的并发数太多了,需要调整一下nginx.conf的并发设置数 解决方法是: 1 打开/etc/security/limits.conf文件,加上两句 代码如下: * soft nofile 65535 * hard nofile 65535 2 打开/etc/nginx/nginx.conf 在worker_processes的下面增加一行 代码如下:worker_rlimit_nofile 65535; 3 重新启动nginx,重新载入设置 代码如下:kill -9 `ps -ef | grep php | grep -v grep | awk '{print $2}'` /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 100 -u www-data -f /usr/bin/php-cgi killall -HUP nginx 重启后再看nginx的错误日志,也没有发现500报错的情况了。 4、有可能是数据库问题我的在nginx日志php日志都没有发现什么问题, 最后发现数据库访问不了,修正后问题解决.