在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,在此借用希望不介意。