是的。您必须使用虚拟主机,或创建服务器来侦听不同的端口,否则服务器将如何知道要服务的位置?除非你的意思是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 等...