Nginx无法在子域上正常工作

我一直在尝试设置一个Sugar CRM实例 。 我有一个域的主服务器上的网站(www.domain.com),我已经创build了一个子域(sugar.domain.com),但我想这个子域托pipe在另一台服务器上

第二台服务器安装了nginx ,在虚拟主机上有一个工作的WordPress博客,所以我需要设置第二个站点。 为此,我创build了目录结构,并创build了具有以下内容的/etc/nginx/sites-enabled/sugar.domain.comconfiguration文件:

*

server { listen 80; server_name sugar.domain.com *.domain.com; access_log /var/www/sugar/log/access.log; error_log /var/www/sugar/log/error.log info; location / { root /var/www/sugar; index index.php; } location ~ .php$ { fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_pass backend; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/sugar/$fastcgi_script_name; include fastcgi_params; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_intercept_errors on; fastcgi_ignore_client_abort on; fastcgi_read_timeout 180; } ## Disable viewing .htaccess & .htpassword location ~ /\.ht { deny all; } } upstream backend { server 127.0.0.1:9000; } 

据我所知,我需要在“server_name”标志* .domain.com参数,但在这里崩溃:我得到一个403 Forbidden错误,或者我得到PHP代码( 我可以读取PHP文件代码浏览器,就像正常的文本),不知何故不被执行。 我已经尝试在/ var / www / sugar /目录中将权限设置为755,并且还使用chown -R www-data:www-data / var / www / sugar /

事情是,我现在不是如果我的错误是在nginx网站configuration,在我的文件夹权限,或在其他地方:(

难道是因为主域(www.domain.com)托pipe在其他服务器上吗? 他们必须在一起吗?

第一个错误,我看到马上蝙蝠 – 位置需要一个正则expression式,你需要逃脱你的。 字符。 我build议:

 location ~* \.php$ { } 

你不需要* .domain.com,sugar.domain.com应该是所有需要的。 正如koolhead17所提到的,确保你将DNS Alogging设置为sugar.domain.com的第二台服务器的IP地址; nginx将使用来自浏览器的“主机”头,并将其与server_name匹配。

我可能是错的,但是你必须从你的控制面板添加一个子域名test.domain.com,并用Alogging指向你的Nginx运行的IP地址。

在Nginx.conf中,您必须像在Apache中那样将IP和子域放在虚拟主机中。