我的 nginx 监听端口 33333
listen 33333;
在 /etc/nginx/sites-available/ 中我有:
server {
listen 33333;
server_name domain.com www.domain.com;
我的网站仅当我运行以下命令时才有效:
www.mydomain.com:33333
如何使其与以下系统良好配合:
www.域名.com
不提供端口。
注意:我的端口 80 被 apache 使用。我无法更改它。
答案1
您可以在端口 80 上设置 nginx,使您的网站在端口 80 上正常工作,然后将 nginx 配置为在其他端口(可能是本地主机上的 33333)上运行的 apache 网站的反向代理。 两个网站都可以通过端口 80 访问。
或者将 apache 设置为 nginx 的反向代理(但我认为第一个解决方案对网站和服务器性能更有利)
有关 nginx 反向代理的一些信息: http://kovyrin.net/2006/04/17/typical-nginx-configurations/ http://kovyrin.net/2006/05/18/nginx-as-reverse-proxy/
您还可以在互联网上找到更多信息...这个主题有非常详尽的文档,您在正确配置一切时不应该遇到问题。
答案2
在这种情况下,您需要将 Apache 配置为反向代理,将请求交给端口 33333 上的 nginx。
答案3
不需要。http 的默认端口是 80。如果使用其他端口,则必须指定。
答案4
如果..这是一个很大的如果,Apache 托管的站点与您使用 NginX 托管的站点具有不同的域名,那么可以使用 Apache 作为 VirtualHost 反向代理(proxypass 等)来实现这一点。
否则,您将需要另一台服务器或路由器来执行一些端口转换或代理。