我有 2 个域名连接到我的服务器 IP。一个域名的文件位于 /var/www/firstdomain.com 文件夹中,第二个域名的文件位于 /var/www/seconddomain.com 文件夹中。
我想用 nginx 处理第一个域,用 apache 处理第二个域,不进行端口更改,它们都应该在 80 端口上运行。
我尝试将 firstdomain:80 设置为 Apache 的监听选项,将 seconddomain:80 设置为 nginx 的监听选项,但似乎这样的配置不起作用,因为它们仍然使用相同的端口。
我认为正确的方法是使用 nginx 作为主服务器,并将所有发往 seconddomain.com 的请求代理到 apache,但找不到如何执行此操作。我尝试在 8080 上运行 Apache,但不知道应在位置语句中添加什么才能使其正常工作:
location {?????} {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080;
}
我也尝试过
server {
listen 80 default;
root /var/www/seconddomain.com;
server_name seconddomain.com;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
但这也不起作用
答案1
看来我找到了解决方案。是的,你应该使用 nginx 作为代理,Apache 应该监听 8080。我遇到的问题是 Apache,它只监听外部连接,而不是来自 127.0.0.1 的连接。因此,首先尝试了解 Apache 本身是否运行良好,nginx 本身是否运行良好,然后尝试为它们提供代理。以下是工作代理的示例:
server {
listen 80 default;
root /var/www/seconddomain.com;
server_name seconddomain.com;
location / {
proxy_pass http://127.0.0.1:8080;
}
server {
listen 80;
server_name firstdomain.com;
.....
}