r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!Cheyenne] Discussions about the Cheyenne Web Server

Dockimbel
10-Jun-2009
[5100]
Amacleod: did you tried Apache and Cheyenne using same server port?
amacleod
10-Jun-2009
[5101]
no, doc apache is on 82...cheyenne is on port 81 on the server and 
i tried 83 on y other computer..
iI reaching the default page..just not getting vhosts dir
Robert
12-Jun-2009
[5102x2]
I have a problem, that after some running time Cheyenne seems to 
get into an unstable state and my REST shopping-cart isn't working 
any longer. I got this error in the trace.log, which seems to be 
Cheyenne internal:


5/6-10:09:48.142823-## Error in [task-handler-40014] : Make object! 
[                                                                
                 
    code: 501                                  
                                                                 
                                      
    type: 'access         
                                                                 
                                                           
    id: 
'not-open                                                        
                                                                 
            
    arg1: "Port"                                    
                                                                 
                                 
    arg2: none                 
                                                                 
                                                      
    arg3: 
none                                                             
                                                                 
          
    near: [parse/all current: fourth entry [          
                                                                 
                               
            any [                
                                                                 
                                                    
            
    end break                                                    
                                                                 
        
                | "#[" copy value to #"]" skip (        
                                                                 
                             
                    append out reform 
[                                                                
                                               
                 
       " prin any [pick cat"                                     
                                                                 
   
                        locale/id? value                     
                                                                 
                        
                        mold value #"]" 
                                                                 
                                             
                   
 ]                                                               
                                                                 
 
                )                                              
                                                                 
                      
                | "<%" [#"=" (append out " 
prin ") | none]                                                  
                                          
                copy value 
[to "%>" | none] 2 skip (                                        
                                                          
      
              if value [repend out [value #" "]]                 
                                                                 
              
                )                                 
                                                                 
                                   
                | s: copy value 
[any [e: "<%" :e break | e: "#[" :e break | skip]] e: (          
                                                     
           
         append out reform [" txt" index? s offset? s e #" "]    
                                                                 
         
                )                                      
                                                                 
                              
            ]                     
                                                                 
                                                   
        ]]   
                                                                 
                                                                 
       
    where: 'confirm                                      
                                                                 
                            
] !                                 
                                                                 
                                                 
5/6-23:01:46.501455-## 
Error in [task-handler-40014] : Make object! [                   
                                                              
  
  code: 501                                                      
                                                                 
                  
    type: 'access                             
                                                                 
                                       
    id: 'not-open        
                                                                 
                                                            
    
arg1: "Port"                                                     
                                                                 
                
    arg2: none                                  
                                                                 
                                     
    arg3: none             
                                                                 
                                                          
    near: 
[unless no-lang [                                                
                                                                 
          
            id: locale/lang                           
                                                                 
                               
            locale/set-default-lang 
                                                                 
                                                 
        ]      
                                                                 
                                                                 
     
        out: make                                          
                                                                 
                          
    ]                                 
                                                                 
                                               
    where: 'confirm 
                                                                 
                                                                 

] !
Any idea what's going on? I could install a CRON job to killall instances 
and restart Cheyenne every 24h but IMO that shouldn't be the case.
Graham
12-Jun-2009
[5104x2]
What sort of load do you have on your server?
Is it a rsp problem?
Janko
12-Jun-2009
[5106]
I have cheyenne (previous version) running 2 sites with moderate 
load for 2 months on some VPS and I never needed to reset it.. onother 
VPS I have the latest version running for about amonth too
Robert
12-Jun-2009
[5107x3]
Mostly nothing. Cheyenne is working as a reverse proxy and just servers 
an RSP file.
So, the load is really low couple requests a day.
(At the moment)
Janko
12-Jun-2009
[5110]
probably some "kind of request" is making it problems..  do you have 
any special types .. because you mention REST (PUT DELETE maybe?)
Robert
12-Jun-2009
[5111]
I just use GET and POST.
Graham
12-Jun-2009
[5112]
Is it IE problem that doc mentioned above?
Janko
12-Jun-2009
[5113x2]
hm.. I don't know... I think I had seen some errors like taht at 
first when I started with cheyenne but don't know how I caused them
(I know it was something about task handler)
Graham
12-Jun-2009
[5115x2]
Well, if it's only a couple of requests a day ... it's probably that 
IE bug which doc has now fixed.
I think it was a POST.
Robert
12-Jun-2009
[5117x2]
Ok, so I will try the newest release. Is there a Linux binary already 
available? Or do you all use the source-code version?
How can I find out what version of Cheyenne I'm running?
Dockimbel
14-Jun-2009
[5119x4]
>> p: open http://softinnov.org
>> p/locals/headers/server
== "Cheyenne/0.9.19"
About your issue, your log shows that the RSP helper process has 
probably lost connection with the main process. It might be caused 
by the IE POST bug.
No binary yet available for the beta 0.9.20
I'm working on it currently, I need a linux binary too for testing, 
I'll publish the link here so you can test it too.
Robert
15-Jun-2009
[5123]
Ok, great. Any time frame ;-)? Or can I use the source-code version 
so long? If, is there a link to dowload it?
Dockimbel
15-Jun-2009
[5124x3]
Should be available today.
Latest development version 0.9.20 for linux : http://cheyenne-server.org/tmp/cheyenne0920.gz
Robert: let me know if it fixes your stability issue.
Will
15-Jun-2009
[5127]
Thank you! 8-)
Dockimbel
15-Jun-2009
[5128]
It's just a intermediate binary, it's not the full 0.9.20 version 
I'm planning to release, there's still a lot of small fixes and enhancements 
to add.
Robert
16-Jun-2009
[5129x2]
I'll give it a try. Thanks.
Ok, up & running. Let's see what happens.
Maxim
20-Jun-2009
[5131x6]
amacleod: did you get vhosts working? I am getting similar reaction. 
 works fine without vhosts... then its lost if the domain matches 
a vhost definition.
aaaahhhh you must include the port number in the vhost domain...

mysite.com:83 [
	root-dir %/www/mysite/		; documents root directory
	default [%index.html %index.rsp %index.php]			; default files
]
if that is how it is being called from the browser.
ex:    http://mysite.com:83/
doc: might I do a RFE (request for enhancement)?


add a ./conf/  dir to cheyenne and load every file that ends with 
.cfg


this would allow us to distribute a configuration file with a module 
and provide setups per mod... its much more flexible to manage.

we could also have a setup for each vhost in our system, if that 
makes sense for the web admin.
even better, add a conf-dir  item which is only available within 
 %httpd.cfg telling cheyenne where to load additional configurations.

conf-dir %conf/
conf-dir [%sites/ mods/]
Dockimbel
20-Jun-2009
[5137]
Sounds useful, adding your RFE to my todo list.
Maxim
20-Jun-2009
[5138x2]
cool.  and I'm reiterating the need to provide a sample file ala 
apache with a paragraph of comments or two which explain all configs... 
just in case you forgot to note it... this for me is big hassle.


for example... the subtleties behind 'BIND  and 'BIND-EXTERN  are 
not obvious to deduce just by the name... 
-what is the difference in how they are cached? 

-is an external handler explicitely needed with 'BIND-EXTERN   (no, 
in fact,  but it enables it)
-how does one use an external handler?
-in what module is the config defined
Dockimbel
20-Jun-2009
[5140x3]
BIND associates one or more file extensions to a Cheyenne internal 
mod.

BIND-EXTERN associates on or more file extensions to a background 
handler (worker process through task-master service).
The handler name declare in BIND or BIND-EXTERN have to match a mod 
ID or a background handler name.
Examples:

 bind SSI to .shtml => processed by mod-ssi.r (SSI is used as a matching 
 key in the mod)

 bind-extern CGI to .cgi => processed by mod-action.r (bind-extern's 
 dispatcher), then by CGI.r external handler in a worker process.
declare => declared
Maxim
20-Jun-2009
[5143x4]
yes... I already new... but I had to trace the code and lost some 
time wondering why my page wasn't being re-rendered when I first 
used 'BIND  ;-)

I also had to trace the logic to make sure that cheyenne wasn't actually 
expecting an external handler if I used 'BIND-EXTERN...


I ended up loosing more than an hour to figure it out myself... now 
that is just one config... there are MANY... a lot of them I don't 
even know exist.


the above is exactly the kind of information which should be included 
within the httpd.cfg file, even if an example is commented out, but 
provided as an example use.  just like apache does it.
thanks for the help anyways (confirming what I had deduced)... hehe.
I am trying to make mod-remark as consistent and integrated as possible 
with the rest of cheyenne.  the end goal being that you remove the 
rsp from your modules and drop-in remark instead.
I've scrapped the previous remark system in favor building remark 
v3 right away.  this will actually help me build the mod much faster 
and will provide 100% dataflow engine from its first release.  every 
single programmable entity within mod-remark is now based on a plug. 
 the architecture I have now is becoming very orthogonal... instead 
of building up different objects for each level of config, I think 
I'll be able to reduce it to ONE.


these models will serve as references for the !compilator to create 
persistent  !documents... note that !documents are multi-leveled... 
you build documents by linking up document together.... so if only 
part of a !document is dynamic, only that part will cause processing... 
and by dynamic, I don't mean that its cgi... I mean it has actually 
changed.  down to a single HTML element.   that's what I am aiming 
in any case.


!documents can be stored at any level... from server down to specific 
page and single session. caching is embeded in liquid so it should 
be pretty fast, and inter document data sharing should allow us to 
make it very RAM efficient too.
Dockimbel
20-Jun-2009
[5147]
I hate Apache config file. Because I hate having to read tons of 
docs to just "switch on" some app. Cheyenne's config file has never 
been designed to copy the Apache way, nor to be used by average end 
user. It's just a placeholder waiting to be replaced by a builtin 
web GUI allowing a simple, fast and straightforward way to manage 
the server. That has been the plan since the beginning and one of 
the main motivation for building Cheyenne. Unfortunately, I never 
had the required time to complete that goal yet, so I'm stuck with 
that, and that's also why Cheyenne is still at 0.9.x.
Maxim
20-Jun-2009
[5148x2]
but the cfg file becomes documentation... that is the real use of 
the text, and it lives directly within system, so you don't have 
to maintain different things.


hate apache as you like, anyone can configure it very quickly, since 
its all there.
;-)