我正在尝试同时运行 apache 和 nginx。我希望 apache 监听端口 8080,而 nginx 监听端口 80。为此,我修改了 ports.conf 以监听 8080,还修改了虚拟主机配置。重启后,服务器启动时没有任何错误,但我无法访问该 URL。
/etc/apache2/sites-avaialbled/我的网站
<VirtualHost *:8080>
ServerName myproject
ServerAdmin [email protected]
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /trac>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
<Location /svn>
DAV svn
SVNParentPath /svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/svnauth
Require valid-user
AuthzSVNAccessFile /etc/svnaccess
</Location>
<Location /trac>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /trac
PythonOption TracUriRoot /trac
AuthType Basic
AuthName "Trac"
AuthUserFile /etc/svnauth
Require valid-user
</Location>
</VirtualHost>
/etc/apache2/ports.conf
NameVirtualHost *:8080
Listen 8080
<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
我还需要在这里改变其他东西吗?
答案1
验证任何地方都没有其他 Listen 指令:grep -ri listen /etc/apache/*
还显示 netstat 说 apache 正在监听的内容:netstat -plnt | grep http
代替httpd使用系统上的 apache 二进制文件的名称
答案2
您是否尝试过访问带有后面端口的网址?....com:8080?
我的猜测是,您打算将 nginx 配置为反向代理运行,但您没有将您想要的流量代理到端口 8080。
您也可以发布一下您的 nginx 配置吗?
答案3
对于那些反复阅读此类帖子,然后在不起作用时头痛不已的人来说,旧帖子指的是 Apache 的旧版本。
您可能需要编辑以更改端口的文件是:/etc/apache2/apache2.conf
感谢有人发布了此版本,让我发现了我自己的问题:
grep -ri listen /etc/apache2/*