如何通过互联网用apache服务网站?

时间:2013-08-24 08:44:14

标签: django apache apache2

我以某种方式设法在apache上同时提供我的项目应用程序及其静态文件。但只有我可以通过键入localhost和我的IPv4地址来查看我的网页。我无法从另一台计算机上看到我的网页。在我的http.conf中,它是Listen 80。我对此并不了解。我甚至在免费的动态DNS提供商上注册,但即使从该网址我只能看到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>

1 个答案:

答案 0 :(得分:3)

您需要执行以下操作:

<强> 1。确保服务器可公开访问 为此,您需要确保

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

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

对于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。