CodeIgniter + Nginx + / var / www中的其他文件

时间:2013-06-03 22:09:37

标签: php web-services codeigniter nginx

我在/ var / www中有一个CodeIgniter项目。我们将这个项目称为项目。所以我在/ var / www中有大量文件,在/ var / www / proj中有一个CodeIgniter项目。我迫切需要一个支持它的Nginx配置。我应该做一个虚拟主机吗?例如:/var/www/somewebsite.com/和/var/www/proj.somewebsite.com/。你能提供一个支持这个的工作Nginx + CodeIgniter配置吗?

我目前没有使用域名。我只是在VPS上。

谢谢!

1 个答案:

答案 0 :(得分:0)

是肯定的。你必须使用虚拟主机,或创建服务器来监听不同的端口,以及它将如何服务器知道要服务的位置?除非你的意思是localhost/myporject1/localhost2/myproject2之类的东西?然后只需将服务器设置为指向根/var/www并调整fastcgi中的路径为CI

server {
        listen 80; 
        server_name localhost;
        root  /var/www/;


        location ~ /\. {
               deny all;
        }

         #you codigniter project 
        location /yourcodigniterproject {
                index index.html index.php;
                try_files /cache$uri @web;

        }
        #your other project (if usign php replicate the top with difrent directives)
        location /yourotherproject {
                index index.html index.php;
                try_files /cache$uri $uri

        }

        location @web {
                client_max_body_size 10M;
                expires 0;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                include /etc/nginx/fastcgi_params;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME /var/www/yourcodigniterproject/index.php;
                fastcgi_param PATH_INFO $fastcgi_script_name;
        }
}

但如上所述,创建虚拟主机更容易维护。为sites-available中的每一个创建条目(假设您正在起诉linux)并添加,然后在ln -s in网站启用的情况下删除它们

我有这样的配置。一个虚拟服务器有一个站点codeignoter设置,另一个是纯静态网站,一个用于phpmyadmin等...