我想在一台服务器上运行两个网站,www.domain.com的80端口为nginx
,sub.domain.com的8080端口为apache2
现在nginx in port 80
可以正常工作了(IP地址和www.domain.com都可以),我只能访问apache2 in port 8080
的IP地址(只有localhost:8080有效),但是当我单击sub.domain时。 com,我收到一个400错误的请求,我注意到它仍然在80端口上运行。
我已经80
的文件中将8080
更改为/etc/apache2/ports.conf
,这很奇怪
下面是/etc/apache2/sites-available/000-default.conf
<VirtualHost *:8080>
ServerAdmin webmaster@localhost
ServerName sub.domain.com
<Directory "/var/www/html">
AllowOverride All
Order allow,deny
allow from all
</Directory>
DocumentRoot /var/www/html
........
<VirtualHost>
Apache2
出问题了吗?具有80端口nginx
的www.domain.com可以正常工作,是否需要更改nginx
的配置?我粘贴了/etc/nginx/sites-available/www.domain.com
的所有代码,如下所示:
upstream app_server {
server unix:/home/wtf/run/gunicorn.sock fail_timeout=0;
}
server {
listen 80;
# add here the ip address of your server
# or a domain pointing to that ip (like example.com or www.example.com)
server_name www.domain.com;
keepalive_timeout 5;
client_max_body_size 1G;
access_log /home/wtf/logs/nginx-access.log;
error_log /home/wtf/logs/nginx-error.log;
location /static/ {
alias /home/wtf/donthack/static/;
}
location /media/ {
alias /home/wtf/donthack/media/;
}
# checks for static file, if not found proxy to app
location / {
try_files $uri @proxy_to_app;
}
location @proxy_to_app {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://app_server;
}
}
任何建议将不胜感激。
答案 0 :(得分:0)
您已重新启动apache服务器进程吗?
重新加载服务不足以更改侦听端口。您可以使用 lsof -i TCP:8080 -s TCP:LISTEN
来确保httpd进程正在侦听您的新端口。
如果apache版本太低,您是否在conf中加入了 NameVirtualHost *:8080
?