理想情况下,在服务器上,我使用Cloudflare>为自己的静态和WordPress网站提供服务。清漆> Nginx,但因为我还要托管其他网站进行测试,例如Joomla和WordPress依赖于使用.htaccess等的多个扩展,我将无法通过Nginx轻松运行这些网站。所以我想用CloudFlare>在同一台服务器上运行这些网站。清漆> Nginx反向代理>的Apache。
服务器只有1个ip地址,并运行ubuntu和php-fpm和mysql。每个站点都有自己独立的域名。这有可能吗?
答案 0 :(得分:0)
server {
server_name example.com;
location / {
# assuming apache is on port 81 for example
proxy_pass http://127.0.0.1:81;
# to make apache detect the host header
proxy_set_header Host $host;
}
# if you have assets folders, you can let nginx serve them directly,
# instead of passing them to apache
location /images { # or /css or /js .. etc
try_files $uri =404;
}
}
注意:对于资产,有时一些网站通过重写来提供资产,甚至自己处理应用程序,您可以通过在资产位置添加它作为后备来传递给apache
location /images {
try_files $uri @apache;
}
location @apache {
proxy_pass http://127.0.0.1:81;
}
在apache中创建虚拟主机
<VirtualHost *:81>
ServerName example.com
# the rest of the config if needed
</VirtualHost>