0

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

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

谢谢!

4

1 回答 1

0

是的。您必须使用虚拟主机,或创建服务器来侦听不同的端口,否则服务器将如何知道要服务的位置?除非你的意思是localhost/myporject1/localhost2/myproject2?然后只需将服务器设置为指向 root/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;
        }
}

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

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

于 2013-06-04T11:39:14.713 回答