我尝试在同一 VPS 上托管多个域,使用 HHVM 来提供页面服务。
我想知道如何编写 VirtualHost 以便指向/var/www 目录中的正确文件夹?
例如 xxx.domain.com >>/var/www/domain.com/
最佳答案
好消息。自 HHVM 2.3 发布(2013 年 12 月 13 日)以来,您可以在 FCGI 模式下运行 HHVM。使用 Nginx 或 Apache,效果非常好。
引用:http://www.hhvm.com/blog/1817/fastercgi-with-hhvm
使用旧版本的 HHVM,您可以在内部端口(即 8001、8002 等)上运行多个服务器实例。然后将 Nginx 配置为反向代理。 (Apache 也可以做到这一点)。
upstream node1{
server 127.0.0.1:8001;
}
upstream node2{
server 127.0.0.1:8002;
}
server {
...
server_name server1.com;
location ~ \.php$ {
proxy_pass http://node1;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Ssl on; #only for https
}
}
server {
...
server_name server2.com;
location ~ \.php$ {
proxy_pass http://node2;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Ssl on; #only for https
}
}
当然这个设置会占用大量内存。如果可以升级,请选择 2.3。
关于virtualhost - HHVM 服务于多个域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19114532/