nginx -s reload报错问题

1、nginx: [emerg] could not build the server_names_hash, you should increase server_names_hash_bucket_size: 32
在 Nginx 0.6.35 的版本中,配置多个 server 虚拟主机,必须要在配置文档中 http { 里头加上 server_names_hash_bucket_size 64; 这么一句

保 存服务器名字的hash表是由指令 server_names_hash_max_size 和 server_names_hash_bucket_size所控制的。参数hash bucket size总是等于hash表的大小,并且是一路处理器缓存大小的倍数。在减少了在内存中的存取次数后,使在处理器中加速查找hash表键值成为可能。如果 hash bucket size等于一路处理器缓存的大小,那么在查找键的时候,最坏的情况下在内存中查找的次数为2。第一次是确定存储单元的地址,第二次是在存储单元中查找键 值。因此,如果Nginx给出需要增大 hash max size 或 hash bucket size的提示,那么首要的是增大前一个参数的大小.

2、[error]: OpenEvent(“ngx_reload_31796″) failed (2: The system cannot find the file specified):
这个错误是由于不能正常结束特定进程所引起的,大多数情况是在远程登陆后操作才会出现。解决办法:把nginx的进程kill,再启动!

Nginx使用的php-fpm的两种进程管理方式及优化

关于Nginx的php-fpm配置,它有两种进程管理方式。与Apache类似,它的进程数也是可以根据设置分为动态和静态的。这两种不同的进程管理方式,可以根据服务器的实际需求来进行调整。

php-fpm目前主要又两个分支,分别对应于php-5.2.x的版本和php-5.3.x的版本。在5.2.x的版本中,php-fpm.conf使用的是xml格式,而在新的5.3.x版本中,则是和php.ini一样的配置风格。 继续阅读

Nginx负载均衡原理

Nginx (”engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,Igor 将源代码以类BSD许可证的形式发布。尽管还是测试版,但是,Nginx 已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。

首先是配置十分的简单,而且功能非常强大,以下是部分配置文件:

worker_processes 1;
events {
worker_connections 1024;
}
http{
upstream myproject {
#这里指定多个源服务器,ip:端口,80端口的话可写可不写
server 192.168.1.10:80;
server 192.168.1.11;
}
server {
listen 80;
location / {
proxy_pass http://mpool;
}
}
}

Nginx负载均衡有哪些功能呢?

如果后面的服务器其中一台坏了,它能自动识别,更牛的是它好了之后Nginx可以马上识别服务器A和B,如果A的响应时间为3,B的响应时间为1,那么Nginx会自动调整访问B的概率是A的3倍,真正做到Nginx负载均衡好的。

安装好了之后新建一个配置文件,把上面的配置文件内容拷进去,当然要修改你的IP,保存为比如 load_balance.conf然后启动:

/usr/local/Nginx/sbin/Nginx -c load_balence.conf