Php 代码点火器+;Nginx+;/var/www中的其他文件

Php 代码点火器+;Nginx+;/var/www中的其他文件,php,web-services,codeigniter,nginx,Php,Web Services,Codeigniter,Nginx,我在/var/www上有一个CodeIgniter项目。我们将这个项目称为proj。因此,我在/var/www中有大量文件,在/var/www/proj中有一个CodeIgniter项目。我迫切需要支持这一点的Nginx配置。我应该只做一个虚拟主机吗?例如:/var/www/somewebsite.com/和/var/www/proj.somewebsite.com/。您能否提供支持此功能的工作Nginx+CodeIgniter配置 我目前没有使用域。我只是在VPS上 谢谢 是的。您必须使用虚拟

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

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


谢谢

是的。您必须使用虚拟主机,或创建服务器来侦听不同的端口,否则服务器将如何知道服务于哪个位置??除非你指的是像
localhost/myporject1/
localhost2/myproject2
?然后,只需将服务器设置为指向root
/var/www
,并在fastcgi for 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;
        }
}
但正如前面所说的,创建虚拟主机更容易维护。为可用的
站点中的每个站点创建条目(假设您正在起诉linux),并在启用
站点中的
ln-s
时添加然后删除它们`

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