1

我以某种方式设法在 apache 上同时为我的项目应用程序及其静态文件提供服务。但只有我可以通过输入localhost和我的 IPv4 地址看到我的网页。而且我无法从对方的计算机上看到我的网页。在我的 http.conf 中,它是Listen 80. 我对此知之甚少。我什至注册了一个免费的动态 DNS 提供商,但即使从那个 url 我也只能看到It works消息。我真的很讨厌这些东西。请在这里指导我。谢谢你。

http.conf 的片段:

WSGIScriptAlias / C:/Users/robin/web/etc/etc/etc/wsgi.py
WSGIPythonPath C:/Users/robin/web/etc/etc

<Directory C:/Users/robin/web/etc/etc>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>

#Alias /robots.txt /path/to/mysite.com/static/robots.txt
#Alias /favicon.ico /path/to/mysite.com/static/favicon.ico

AliasMatch ^/([^/]*\.css) C:/Users/robin/web/etc/etc/static/styles/$1

#Alias /media/ /path/to/mysite.com/media/
Alias /static/ C:/Users/robin/web/etc/etc/static/

<Directory C:/Users/robin/web/etc/etc/static>
Order deny,allow
Allow from all
</Directory>

#<Directory /path/to/mysite.com/media>
#Order deny,allow
#Allow from all
#</Directory>

WSGIScriptAlias / C:/Users/robin/web/etc/etc/etc/wsgi.py

<Directory C:/Users/robin/web/etc/etc/etc>
<Files wsgi.py>
Order allow,deny
Allow from all
</Files>
</Directory>
4

1 回答 1

3

您需要执行以下操作:

1.确保服务器可公开访问 为此,您需要确保

  • 端口 80 通过您的路由器路由到服务器的内部 IP 地址。这称为 NAT。如果您使用的是 Cisco 路由器,您可以在此处查看说明。
  • 任何防火墙都配置为不阻止端口 80 上的流量。如果您使用的是 Linux,您很可能需要配置 iptables。如果您使用的是 Windows,您可以在windows 防火墙上执行此操作。如果您使用的是第三方防火墙,则需要搜索 google 以了解如何操作。
  • 您需要确保使用公共 IP 地址进行连接。您可以使用http://whatismyipaddress.com/等网站找到此信息

2. 在 apache 上设置虚拟主机 您只看到“It Works”消息的原因是 Apache 指向该域名的服务器上的默认 Web 根目录。要解决此问题,您需要为域名设置一个虚拟主机,并将其指向应用程序的根目录。可以在此处找到相关说明。

在 apache 配置中的虚拟主机下,您可以添加如下内容:

NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin [email]@[address].com
    DocumentRoot [directory root]
    ServerName [registered domain name without www eg: something.com]
    ServerAlias *.[registered domain name without www]
</VirtualHost>

“NameVirtualHost *:80”可能已经存在,所以先搜索配置。通常它在那里并且默认被注释掉,所以你可能只需要删除#。

注意:始终通过将内容复制到另一个文件来备份配置。进行调整后还要重新启动apache。

于 2013-08-24T08:53:40.293 回答