我有一个服务器aerv.nl. 它有django(一个python框架)但是当我运行django服务器它说: 服务器始于:http://127.0.0.1:8000/如何让服务器继续运行:http://www.aerv.nl/~filip/? (一个真实的网址)
答案 0 :(得分:2)
您必须配置您的http服务器和Django。例如,如果你正在使用apache,你需要经历这个:
https://docs.djangoproject.com/en/1.9/howto/deployment/wsgi/modwsgi/
您在此处所做的是设置服务器以通过django应用处理http请求。
答案 1 :(得分:1)
您需要了解DNS的工作原理,然后使用重定向,然后使用适当的服务器(例如apache
或gunicorn
,例如./manage runserver
),而不是django开发服务器,这应该是'用于生产。你无法用./manage.py runserver 192.168.0.12:9999
做你所要求的事情。您所能做的就是将IP地址和端口更改为不同的地方,例如:example.com
,例如,网络中的其他计算机可能会访问此网站上的特定IP和端口。
您是域5.130.2.19
的所有者,您拥有要使用IP地址为您的网站提供服务的服务器,例如example.com
。
您需要转到您的域名提供商并添加将这些内容连接在一起的A记录:5.130.2.19
- > nginx
。
然后在您的服务器上设置网络服务器,例如server {
listen 80;
server_name example.com;
client_max_body_size 4G;
location /static/ {
autoindex on;
alias /var/www/example/django/static/;
}
location /media/ {
autoindex on;
alias /var/www/example/django/media/;
}
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://upstream_server;
break;
}
}
upstream upstream_server {
server unix:/var/www/example/gunicorn.sock fail_timeout=10s;
}
让它与此配置适用于您的特定服务器/站点:
gunicorn
然后您需要使用类似
的内容运行gunicorn example.wsgi:application --bind=unix:/var/www/example/gunicorn.sock
example.com
应该是全部,但它当然非常简短。只需将nginx
替换为您的网址即可。如果这将成为example.com
配置中的特定记录(将其视为入口点)或者它将成为您的django项目中指定的路径之一,则由您决定。
用户将5.130.2.19
放入地址栏,然后您的计算机会询问全局DNS服务器: example.com指向哪个IP地址?,DNS回复:它是{{ 1}} 的。用户的浏览器然后在该IP上发送HTTP请求,其中nginx
获取此请求并查看其配置是否有example.com
处理程序。它发现它就在那里,他应该在unix:/var/www/example/gunicorn.sock
中寻找文件。他看着那里看到工作gunicorn
,它基本上将python django项目解析为nginx
可以作为你的网站呈现的东西。