在没有root permission的share hosting上有没有办法部署django?

2013-02-20 17:36:31 +08:00
 crazybubble
server是学校的cpanel空间,并且有一个域名绑定在这个空间,现在通过编译源文件已经安装好python 2.7, virtualenv

server上有apache,但是没有权限更改httpd.conf。我所有的权限只限定在/home/user/下,对于这个directory之外的dir我就没有任何权限。

我google了相关的很多办法,并尝试了https://docs.djangoproject.com/en/1.4/howto/deployment/fastcgi/#running-django-on-a-shared-hosting-provider-with-apache
这个方法,按照上面的步骤修改了.htaccess 和 mysite.fcgi

然后在terminal里尝试 ./mysite.fcgi返回给我了
WSGIServer: missing FastCGI param REQUEST_METHOD required by WSGI!
WSGIServer: missing FastCGI param SERVER_NAME required by WSGI!
WSGIServer: missing FastCGI param SERVER_PORT required by WSGI!
WSGIServer: missing FastCGI param SERVER_PROTOCOL required by WSGI!
Status: 200 OK
Content-Type: text/html; charset=utf-8
这里status200 我想应该是有响应的吧。可是在浏览器里试的话就404了。。。不知道这是什么原因造成的呢

希望有类似部署经验的人来给我出出主意,我这是第一次部署,过程中一定也有很多纰漏


除此之外,我这种情况还有没有其他部署方案?
3185 次点击
所在节点    问与答
6 条回复
zhangxiao
2013-02-20 17:50:23 +08:00
/home/user之外没有任何权限的话,你基本上是无法使用系统的apache了。可以自己起一个http然后监听在>1024的端口上。比如编译个nginx装在/home/user/opt/nginx。只不过你的网站无法用默认80或者443访问了...
crazybubble
2013-02-20 18:08:20 +08:00
@zhangxiao 谢谢!这个方法听起来不错,能不能再解释的具体一点?无法用默认的80的话有什么影响和隐患?用户那端在访问网站的时候有没有影响?
zhangxiao
2013-02-20 20:17:14 +08:00
@crazybubble 安装部分就是自己编译个nginx,安装目录指定在你有权限的地方。然后更改配置,让它监听比如8080,最后启动。这样你就有一个监听在8080端口的http服务了。

影响就是大部分用户默认肯定不会考虑端口甚至不知道端口的存在,他们认为输入域名回车就可以打开网站了。如果这个server 80没有http服务,用户会看到无法显示页面,他们也许能反应过来,是不是url输错了,一部分人可以想起来要加端口,一部分人则认为网站挂了。

如果你的网站不指望用户手动输入url来访问,不指望用户记住url来传播,就没太大影响。你可以把url贴在希望用户看到的地方,他们通过点击进入。
crazybubble
2013-02-21 05:26:52 +08:00
@zhangxiao 好的 谢谢
est
2013-02-21 09:20:13 +08:00
用 bjoern 吧。屌丝必备神器!不能编译的话就编译好了binary复制到服务器上去。

这货就是把一个WSGi 接口的东西变现成http 1.1服务器,直接开个本地端口让apache反向代理就行了。不用搞mod_wsgi 这么麻烦的东西。
crazybubble
2013-02-21 13:12:17 +08:00
@est 关键是没有权限设置apache

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/60860

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX