我有一个django项目.我已经安装了nginx服务器.我想在Windows机器上运行nginx和django.我试过几个博客Nginx Django Uwsgi.但所有这些都需要uwsgi.但uwsgi没有在Windows上安装并给出"uname"错误.有没有办法在Windows上安装和运行nginx和django?任何指针将非常有帮助谢谢.
最好的方式(恕我直言)正在使用apache + mod_wsgi.uWSGI和Gunicorn都不是Windows友好的(虽然uWSGI有cygwin支持,所以你最终可以尝试它[如果你足够勇敢]).
另一种方法是在windows机器上安装linux vm(virtualbox,vmware ...)来托管你的应用程序和从本地IIS到虚拟系统的代理请求.
这个问题是一年前的,但我会为其他人回答这个问题,他们正在寻找解决 Windows Django/nginx 问题的方法。
由于 uWSGI 显然不是 Windows 的选项(忘记 cygwin/虚拟环境)。我不想去,mod_wsgi + Apache
因为我必须将现有的 AngularJS/nginx 项目与我新创建的 Django 项目合并在一起。
我最终使用了 FastCGI,尽管 Django 对它的支持很快就会被弃用,但它仍然有效。这个(有点写得不好,但确实有帮助)教程帮助我解决了这个问题。
主要行动是:
flup
已安装 ( pip install flup
)编辑您的 nginx.conf,如教程中所示:
location / {
# host and port to fastcgi server
fastcgi_pass 127.0.0.1:<port nr>;
fastcgi_pass_header Authorization;
fastcgi_hide_header X-Accel-Redirect;
fastcgi_hide_header X-Sendfile;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_PROTOCOL $server_protocol;
}
Run Code Online (Sandbox Code Playgroud)然后用 fcgi 运行你的 Django 项目,端口与上面 .conf 中看到的相同 python manage.py runfcgi method=threaded host=127.0.0.1 port=<port nr>
为我工作。
如果您没有像我这样真正想使用 nginx 的任何理由,我建议您采用mod_wsgi + Apache
网络服务器方法,它可能会让您的生活更轻松。
归档时间: |
|
查看次数: |
18458 次 |
最近记录: |