在没有root permission的share hosting上有没有办法部署django? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
crazybubble
V2EX    问与答

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

  •  
  •   crazybubble 2013-02-20 17:36:31 +08:00 3640 次点击
    这是一个创建于 4622 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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=
    这里status200 我想应该是有响应的吧。可是在浏览器里试的话就404了。。。不知道这是什么原因造成的呢

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


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

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

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

    这货就是把一个WSGi 接口的东西变现成http 1.1服务器,直接开个本地端口让apache反向代理就行了。不用搞mod_wsgi 这么麻烦的东西。
    crazybubble
        6
    crazybubble  
    OP
       2013-02-21 13:12:17 +08:00
    @est 关键是没有权限设置apache
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2742 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 09:00 PVG 17:00 LAX 02:00 JFK 05:00
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86