perl 的打包部署问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tychio
V2EX    Perl

perl 的打包部署问题

  •  
  •   tychio 2014-07-16 10:25:14 +08:00 8209 次点击
    这是一个创建于 4104 天前的主题,其中的信息可能已经有所发展或是发生改变。
    接手了一个老项目用perl写的,修改tmpl模版文件在页面上能马上显示出变化,但是修改所有的pl或pm文件都不起作用,甚至把其他文件夹都改名了,只要css和template还在就没影响。

    初步推断应该是打包过的,但是没找到打包后的代码和文件,也没找到相关的脚本或配置文件用于打包。目录里只有一个build.yml,不过貌似是安装第三方包用的。

    有人遇到过这种状况吗
    14 条回复    2014-07-16 17:21:57 +08:00
    11138
        1
    11138  
       2014-07-16 10:50:41 +08:00
    这个项目是什么应用?web吗?那可能要重启一下相关的perl进程(fastcgi)。
    tychio
        2
    tychio  
    OP
       2014-07-16 11:35:16 +08:00
    @11138 是web,在virtualbox中,连virtualbox都重启了也没用。有2个服务器同时用,apache+mod_perl以及nginx+fastcgi。restart之后都还是没变化。
    11138
        3
    11138  
       2014-07-16 12:00:34 +08:00   1
    那你看看apache和nginx的配置文件,看看pl或pm实际文件的位置是不是你所更改文件的位置。

    “初步推断应该是打包过的”这是什么意思?例如看fastcgi的配置,它启动了哪些pl文件是很明确的啊,如果查看这些pl文件是源代码那就一定可以修改,如果是二进制文件那就是经过了加密那就麻烦些。
    tychio
        4
    tychio  
    OP
       2014-07-16 14:03:54 +08:00
    @11138 fastcgi.conf里面是一行行这样的东西,看不出是启动了哪些pl文件


    fastcgi_param QUERY_STRING $query_string;
    fastcgi_param REQUEST_METHOD $request_method;
    11138
        5
    11138  
       2014-07-16 14:16:09 +08:00
    nginx+fastcgi 这个组合的话, 肯定还有一个独立启动pl的脚本(FastCGI服务器),而 nginx.conf 中的 fastcgi_pass 会指定 fastcgi 的主机和端口或者unix sock文件。
    tychio
        6
    tychio  
    OP
       2014-07-16 15:34:42 +08:00
    @11138 多谢你啊,但我还是没找到。在项目平级的app-modperl2-i686-el6文件夹有找到一个文件里写的fastcgi_pass,但是指向的sock文件并不存在,而且把这个文件夹整个改名了,重启服务器也没任何影响。还有个ltapp-nginx-i686-el6文件夹中只有一个sbin文件夹,里面有名为nginx的可执行文件,大小3M左右,但是同样改名后重启服务器没影响。

    实在是找不到代码在哪,请问nginx的配置是全局的吗?会不会其他地方还有一份代码,也就是说有这种可能吗,我在A份代码中启了nginx,但nginx其实用的是B份代码?
    11138
        7
    11138  
       2014-07-16 15:47:03 +08:00
    你的是什么系统?如果是linux可以用“ps -ef”查一下当前系统的所有进程。FastCGI方式启动的perl进程是常驻内存的,进程里能看到pl文件的实际位置。

    nginx启动的时候可以指定 nginx.conf 的位置,或者在默认的conf目录下面,这个配置文件是全局唯一的,但配置文件里也可以包含其它配置文件(这个比较容易找到了)。
    tychio
        8
    tychio  
    OP
       2014-07-16 16:08:57 +08:00
    @11138 哈找到conf了,里面有这么一行
    location ~ ^/(home|api|doc) {
    proxy_pass http://modperl;
    ...
    }
    这个http://modperl代表的是什么,好像直接打不开
    11138
        9
    11138  
       2014-07-16 16:14:03 +08:00
    看看 upstream 的定义应该有 modperl 吧。
    tychio
        10
    tychio  
    OP
       2014-07-16 16:32:22 +08:00
    @11138 哦,看来这不是文件夹的路径,只是url,modperl 对应127.0.0.1:12001,还是不知道这个url调用的是哪里的文件
    11138
        11
    11138  
       2014-07-16 16:35:13 +08:00
    那你查一下 12001 这个端口是哪个进程启动的啊,一步步查一下。
    tychio
        12
    tychio  
    OP
       2014-07-16 17:02:32 +08:00
    @11138 12001是apache的httpd,还有个8081是nginx,就是上面说到的sbin里的那个执行文件。这个项目是两个同时用的。从conf找进去似乎就是指向到看起来的那个文件夹了,但是修改后重启还是没用,把用来返回template的那句注释掉都没影响。
    11138
        13
    11138  
       2014-07-16 17:16:20 +08:00   1
    还有 apache 的配置文件里 ModPerl::Registry 配置信息看过了吗?
    tychio
        14
    tychio  
    OP
       2014-07-16 17:21:57 +08:00
    @11138 问题找到了,有一个特殊的template生成了nginx和apache的conf,指向了另外一个路径下的文件。谢谢你啦!
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3714 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 10:18 PVG 18:18 LAX 03:18 JFK 06:18
    Do have faith in what you're doing.
    ubao 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