nginx+PHP的多域名配置


有朋友问如何配置nginx,支持多个域名。就有了这篇文章。

如何安装nginx+php见这里:http://blog.it580.com/nginx-php-fpm-mysql%E5%AE%89%E8%A3%85debian-squeeze-vps

1.新建配置文件

nano /etc/nginx/sites-available/test.com

2.配置内容

该配置为配置支持test.com
访问日志为/var/log/nginx/test.com.access.log
错误日志为/var/log/nginx/test.com.error.log
网站主目录为/var/www/test(注意php解析部分也要修改)

如果不是部署wordpress,删除wordpress rewrite start  到 wordpress rewrite stop的内容。

server
{
    server_name .test.com;
    access_log /var/log/nginx/test.com.access.log;
    error_log /var/log/nginx/test.com.error.log;
    root /var/www/test;
    index index.php index.html index.htm;
 
    #wordpress rewrite start
    #
    # unless the request is for a valid file, send to bootstrap
    if (!-e $request_filename)
    {
        rewrite ^(.+)$ /index.php?q=$1 last;
    }
 
    # catch all
    error_page 404 /index.php;

    #
    #wordress rewrite stop
 
    # use fastcgi for all php files
    location ~ \.php$
    {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /var/www/test$fastcgi_script_name;
        include fastcgi_params;
    }
 
        #jpg jpeg gif png css ico js swf files expires 30 day.
    location ~ \.(jpg|jpeg|gif|png|css|ico|js|swf)$ {
                access_log off;
                expires 30d;
        }

    # deny access to apache .htaccess files
    location ~ /\.ht
    {
        deny all;
    }
}

3.链接配置

cd /etc/nginx/sites-enabled

ln -s /etc/nginx/sites-available/test.com

4.应用配置

/etc/init.d/nginx restart

comments powered by Disqus