debian squeeze升级nginx到最新版

本文是给懒人没写的一个傻瓜式的nginx无缝升级教程,看题目就知道这个方法不是通用的~

首先,写下升级前提,当初通过debian squee官方源apt-get方式安装的nginx版本为0.7.6的版本,如果是自己下载的源文件编译的升级起来反倒容易了,只要用相同的参数把新版本再编译一遍就是了。当然,官方源安装的也可以这么干,我看网上就有不少介绍这种方法的帖子。但是,这里介绍一种更加简单的方法。

1.先看nginx版本:

#/usr/sbin/nginx –V

其实,这个时候它就会把当初编译时用的参数也显示出来了。

2.添加nginx源:

#vi /etc/apt/sources.list

添加以下源

deb http://nginx.org/packages/debian/ squeeze nginx
deb-src http://nginx.org/packages/debian/ squeeze nginx 

保存好了之后执行下apt-get update,这时候可能会报错,提示说key无效神马的,可以通过以下方法添加key来解决:

运行apt-key update会告诉你目前有的key,以下是添加的方法。

gpg --keyserver pgpkeys.mit.edu --recv-keys  9AA38DCD55BE302B && apt-key add /root/.gnupg/pubring.gpg

其中:9AA38DCD55BE302B 就是要添加的key,在上一步报错的时候找到那个不存在的把它替换上去执行上面的语句就可以了。

3.添加完nginx源后执行apt-get upgrade升级

重启 /etc/init.d/nginx restart

注意:在升级过程中会提示是否覆盖新的配置文件,建议先把原来的配置文件备份下(其实就算不备份,系统再覆盖前也会自动备份),在升级完成之后,再比对下新旧配置文件,把你自己需要的配置项重新替换加上就可以了。

最后,再执行下/usr/sbin/nginx -v来检查下现在的版本号是不是变成最新的了。

在vps上搭建nginx+twip

apache上搭建twip也试过,不过apache不愧是个吃资源的大户,于是准备改用nginx。网上搜了把发现还是很简单的,以下内容在原来的基础上略有修改。 1.安装需要的包

apt-get install curl libcurl3 libcurl3-dev

2.安装php组件

apt-get install php5-cli php5-cgi php5-curl spawn-fcgi

在最后添加:cgi.fix_pathinfo=1修改配置项:/etc/php5/cgi/php.ini 3.安装nginx组件

apt-get install nginx

4.启动php服务

1
2
killall -HUP php-cgi
spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u www-data -f /usr/bin/php-cgi

5.配置nginx的配置文件,这里面需要注意下,有几个地方略作了修改。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
server {
    listen   443;
    server_name  twip.somename.com:443;
    root   /var/www;

    location / {
        if (!-e $request_filename) {
            rewrite ^/(.*)$ /index.php last;
        }
        index  index.php index.html index.htm;
    }

    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /var/www/$fastcgi_script_name;
        include    fastcgi_params;
    }

    location ~ /\.ht {
    deny  all;
    }
}

注意,因为我使用了加密连接,所以这里我监听的是443端口,server_name是你的域名root和fastcgi_param里的路径和你的api路径一致,我的是直接放在网站根目录下,如果你是放在yourdomain.com/twip下的话 可以改成/var/www/twip。 这段配置还有一个需要注意的地方就是要放在nginx.conf的http节点里面。由于我配置了ssl加密连接,所以还需要配置下相关证书。 在http节点里server节点外面加上配置好的证书路径即可。

ssl on;
ssl_certificate /etc/nginx/conf/ssl-unified.crt;
ssl_certificate_key /etc/nginx/conf/ssl.key;

关于证书的配置方法,因为我用的是startssl的免费证书,所以具体的方法可以看看他们的faq,非常简单。 最后就是部署twip了,这个也非常简单,到code.google.com上down下代码把config.php里的consume_key之类的填一下上传即可。 最后重启下nginx看看,/etc/init.d/nginx restart。   以上文章大部分参考的是在vps上搭建nginx+twip,在此借用希望不介意。