存档

‘Nginx’ 分类的存档

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

2015年3月17日 12 条评论

/usr/local/nginx/sbin/nginx 启动nginx报错,信息如下:
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
…..

使用ps -ef|grep nginx,并未发现有nginx进程,有可能被其他进程占用,这时可以采用如下方式处理:

1. 查看80端口占用
netstat -ntpl

2. 杀掉占用80端口的进程

kill -9 $pid

解决nginx session共享的问题

2013年9月17日 3 条评论

不使用session,换作cookie

能把session改成cookie,就能避开session的一些弊端,在从前看的一本J2EE的书上,也指明在集群系统中不能用session,否则惹出祸端来就不好办。如果系统不复杂,就优先考虑能否将session去掉,改动起来非常麻烦的话,再用下面的办法。

应用服务器自行实现共享

已知的,php可以用数据库或memcached来保存session,从而在php本身建立了一个session集群,用这样的方式可以令 session保证稳定,即使某个节点有故障,session也不会丢失,适用于较为严格但请求量不高的场合。但是它的效率是不会很高的,不适用于对效率 要求高的场合。
以上两个办法都跟nginx没什么关系,下面来说说用nginx该如何处理:

阅读全文…

nginx配置子域名重定向的方法

2013年3月22日 没有评论

写作背景

最近给客户做项目,遇到了商城、论坛、需要做SSO集成,我们就选择了CAS进行单点登录集成,但是集成当中遇到的一个问题,就是CAS集成中只能配置一个域名,比如 http://iitshare.com 与http://www.iitshare.com 只能配置一个,同时配置有问题,所以就需要将顶级域名重定向到www域名上,最后查询了nginx如何进行域名重定向处理,结果方法很简单,将其与大家分享下。

Nginx 的配置

# /etc/nginx/nginx.conf
#
if ($http_host !~ “^www\.yourdomain\.com$”) {
    rewrite ^(.*) http://www.youdomain.com$1 permanent;
}

Nginx的 Rewrite Flags 的含义:
1、last – 基本上都用这个Flag。
2、break – 中止Rewirte,不在继续匹配
3、redirect – 返回临时重定向的HTTP状态302
4、permanent – 返回永久重定向的HTTP状态301
如果您使用的Apache做的解析,具体配置方法如下

阅读全文…

Nginx负载均衡简单理解

2012年8月8日 3 条评论

今天看到一章关于Nginx负载均衡如何进行配置的文章,仔细想来概念不难理解:如果后面的服务器X其中一台坏了,它能自动识别(潜台词:你若真的生病我岂能冷漠),服务器X恢复之后Nginx(BOSS)可以马上识别,让服务器X重启进入战场;如果后面多台服务器,我们假定为服务器A和服务器B,如果A的响应时间为3,B的响应时间为1,那么Nginx(BOSS)会自动调整访问B的概率是A的3倍(能者多劳),真正做到Nginx(BOSS)高效负载均衡。

简单的说了一下自己的理解,拿出来和大家分享一下

nginx: [emerg] getpwnam(“www”) failed 错误处理方法

2012年8月3日 没有评论

在配置nginx 时提示如下错误时:
nginx: [emerg] getpwnam(“www”) failed

解决方案一

在nginx.conf中 把user nobody的注释去掉既可

解决方案二

错误的原因是没有创建www这个用户,应该在服务器系统中添加www用户组和用户www,如下命令:

阅读全文…

分类: Nginx 标签: ,

linux nginx1.2.0 安装指南

2012年8月1日 没有评论

下载需要的安装包

下载pcre-8.30.tar.gz
下载nginx-1.2.0.tar.gz
下载后放在服务器upload目录下,如果没有可以新建一个

安装pcre让nginx支持rewrite

1、解压 pcre
tar zxvf pcre-8.30.tar.gz

阅读全文…

make[3]: *** [install-data-hook] Error 1错误解决方法

2012年8月1日 没有评论

1、linux中安装pcre-8.30.tar.gz时在make时出现以下错误

 #make[3]: *** [install-data-hook] 错误 1
 #make[3]: Leaving directory `/upload/pcre-8.30'
 #make[2]: *** [install-data-am] 错误 2
 #make[2]: Leaving directory `/upload/pcre-8.30'
 #make[1]: *** [install-am] 错误 2
 #make[1]: Leaving directory `/upload/pcre-8.30'
 

2、说明之前安装过pcre,具体的解决办法

阅读全文…

Nginx开启gzip压缩功能

2012年7月8日 没有评论

         在nginx服务器中开启gzip压缩功能,不仅能够降低带宽,而且也能降低服务器的负载,长期下来对独立博客的博友们能够节省一大笔的费用,下面爱分享将简单的给大家介绍一下如何开启nginx的gzip功能

gzip on;
gzip_min_length 1000;
gzip_buffers 4 8k;
gzip_types text/plain application/x-javascript text/css text/html
application/xml text/javascript;

赶快修改你的nginx配置,试试效果吧。

nginx同一iP多域名配置方法

2012年7月8日 2 条评论
        nginx绑定多个域名可又把多个域名规则写一个配置文件里,也可又分别建立多个域名配置文件,我一般为了管理方便,每个域名建一个文件,有些同类域名也可又写在一个总的配置文件里。
一、每个域名一个文件的写法
       首先打开nginx域名配置文件存放目录:/usr/local/nginx/conf/servers ,如要绑定域名www.itblood.com 则在此目录建一个文件:www.itblood.com.conf然后在此文件中写规则,如:server
{
listen 80;
server_name www.itblood.com; #绑定域名
index index.htm index.html index.php; #默认文件
root /home/www/itblood.com; #网站根目录
include location.conf; #调用其他规则,也可去除
}

然后重起nginx服务器,域名就绑定成功了nginx服务器重起命令:/etc/init.d/nginx restart
二、一个文件多个域名的写法
一个文件添加多个域名的规则也是一样,只要把上面单个域名重复写下来就ok了,如:server

{
listen 80;
server_name www.itblood.com; #绑定域名
index index.htm index.html index.php; #默认文件
root /home/www/itblood.com; #网站根目录
include location.conf; #调用其他规则,也可去除
}server
{
listen 80;
server_name msn.itblood.com; #绑定域名
index index.htm index.html index.php; #默认文件
root /home/www/msn.itblood.com; #网站根目录
include location.conf; #调用其他规则,也可去除
}

三、不带www的域名加301跳转
如果不带www的域名要加301跳转,那也是和绑定域名一样,先绑定不带www的域名,只是不用写网站目录,而是进行301跳转,如:

server
{
listen 80;
server_name itblood.com;
rewrite ^/(.*) http://www.itblood.com/$1 permanent;
}

四、添加404网页

       添加404网页,都可又直接在里面添加,如:

server
{
listen 80;
server_name www.itblood.com; #绑定域名
index index.htm index.html index.php; #默认文件
root /home/www/itblood.com; #网站根目录
include location.conf; #调用其他规则,也可去除
error_page 404 /404.html;
}

学会上面四种规则方法,基本就可以自己独立解决nginx 多域名配置问题了

利用Nginx反向代理功能实现在新浪SAE上绑定域名

2011年12月10日 没有评论

1.将你要绑定的域名解析到你的主机

2.在你主机的Nginx 配置文件中增加如下代码:

server
{
   listen          80;
   server_name     xxx.fetaa.com
   location / {
       proxy_redirect off;
       proxy_pass http://xxx.sinaapp.com/;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       #注释掉的是一些优化项,在实际过程中可以根据自己的实际需求进行修改
       #proxy_set_header Host $host;
       #proxy_set_header REMOTE-HOST $remote_addr;
       #client_max_body_size 50m;
       #client_body_buffer_size 256k;
       #proxy_connect_timeout 30;
       #proxy_send_timeout 30;
       #proxy_read_timeout 60;
       #proxy_buffer_size 256k;
       #proxy_buffers 4 256k;
       #proxy_busy_buffers_size 256k;
       #proxy_temp_file_write_size 256k;
       #proxy_next_upstream error timeout invalid_header http_500
       #http_503 http_404;
       #proxy_max_temp_file_size 128m;
   }
}

阅读全文…

分类: Nginx 标签: ,