Skip to content

Commit

Permalink
Fixed line endings to \n
Browse files Browse the repository at this point in the history
  • Loading branch information
pp3345 committed Feb 17, 2013
1 parent a1220c6 commit 8d0b570
Show file tree
Hide file tree
Showing 37 changed files with 9,891 additions and 9,891 deletions.
4 changes: 2 additions & 2 deletions .gitattributes
@@ -1,2 +1,2 @@
# Disable LF normalization for all files # Force LF
* -text * text eol=lf
148 changes: 74 additions & 74 deletions README.md
@@ -1,75 +1,75 @@
# [Pancake HTTP Server](http://pancakehttp.net) # [Pancake HTTP Server](http://pancakehttp.net)


## What is Pancake? ## What is Pancake?


Pancake is a lightweight and fast web server created by [Yussuf Khalil](https://github.com/pp3345), mainly written in C, PHP and Moody. Pancake is a lightweight and fast web server created by [Yussuf Khalil](https://github.com/pp3345), mainly written in C, PHP and Moody.
The main goal of Pancake is achieving the best possible PHP script execution performance using its own PHP SAPI, however, The main goal of Pancake is achieving the best possible PHP script execution performance using its own PHP SAPI, however,
you may use nearly any server-side scripting language using the FastCGI and AJP13 interfaces. Thanks to the non-blocking server architecture you may use nearly any server-side scripting language using the FastCGI and AJP13 interfaces. Thanks to the non-blocking server architecture
Pancake can also handle very high concurrency loads. Try it out! Pancake can also handle very high concurrency loads. Try it out!


## System requirements ## System requirements


* Linux * Linux
* PHP 5.4.0 or newer * PHP 5.4.0 or newer
* i686 or x86_64 processor or Raspberry Pi (no *official* support for other ARM architectures) * i686 or x86_64 processor or Raspberry Pi (no *official* support for other ARM architectures)


## Installation ## Installation


Installing Pancake is quite easy. Simply download the current version and extract it anywhere on the target computer. Installing Pancake is quite easy. Simply download the current version and extract it anywhere on the target computer.
Then add the executable flag to the Pancake/sys/pancake.sh file and run it. On most systems the following commands should do the job: Then add the executable flag to the Pancake/sys/pancake.sh file and run it. On most systems the following commands should do the job:


wget http://github.com/pp3345/Pancake/tarball/<version> wget http://github.com/pp3345/Pancake/tarball/<version>
tar -zxvf <version> tar -zxvf <version>
mv pp3345-Pancake-* Pancake mv pp3345-Pancake-* Pancake
cd Pancake/sys cd Pancake/sys
chmod +x pancake.sh chmod +x pancake.sh
sudo ./pancake.sh sudo ./pancake.sh


As you can see, `sudo` is used to run `pancake.sh` as root user. In case you're already root or your system uses another command (for example `su`) As you can see, `sudo` is used to run `pancake.sh` as root user. In case you're already root or your system uses another command (for example `su`)
please choose the appropriate command. Make sure you are allowed to write in the directory you want to install Pancake in. please choose the appropriate command. Make sure you are allowed to write in the directory you want to install Pancake in.


## Upgrading from older versions ## Upgrading from older versions


You can simply overwrite your old Pancake. No configurations or vHosts will go lost. However, if there is an `UPGRADING` file in the root directory You can simply overwrite your old Pancake. No configurations or vHosts will go lost. However, if there is an `UPGRADING` file in the root directory
of the new Pancake, please make sure to read it first. It usually contains information about possible incompatibilities when upgrading. of the new Pancake, please make sure to read it first. It usually contains information about possible incompatibilities when upgrading.


## Documentation ## Documentation


Documentation and information about the configuration of Pancake can be found at the [Pancake Wiki](https://github.com/pp3345/Pancake/wiki). Documentation and information about the configuration of Pancake can be found at the [Pancake Wiki](https://github.com/pp3345/Pancake/wiki).


## Bundled init script ## Bundled init script


Pancake now has an official init script for Debian GNU/Linux (and Debian-derived distributions like Ubuntu or Raspbian) bundled. Pancake now has an official init script for Debian GNU/Linux (and Debian-derived distributions like Ubuntu or Raspbian) bundled.
The script is located in the main directory of Pancake. Run the following commands to use it: The script is located in the main directory of Pancake. Run the following commands to use it:


cd <PancakeDirectory> cd <PancakeDirectory>
sudo cp init /etc/init.d/pancake sudo cp init /etc/init.d/pancake
sudo update-rc.d pancake enable sudo update-rc.d pancake enable


In case your Pancake is **not** installed in /usr/local/Pancake, please change the `DAEMON` line in the script to match your Pancake installation path. In case your Pancake is **not** installed in /usr/local/Pancake, please change the `DAEMON` line in the script to match your Pancake installation path.


You can then start your Pancake using You can then start your Pancake using


sudo /etc/init.d/pancake start sudo /etc/init.d/pancake start


and stop it again using and stop it again using


sudo /etc/init.d/pancake stop sudo /etc/init.d/pancake stop


Pancake will also be automatically run when your computer starts up. Pancake will also be automatically run when your computer starts up.


The script is bundled with kind permission of [Jan Erik Petersen](https://github.com/marco01809). The script is bundled with kind permission of [Jan Erik Petersen](https://github.com/marco01809).


## Contact ## Contact


If you need help or have a question about Pancake, please feel free to write a mail to [support@pancakehttp.net](mailto:support@pancakehttp.net). If you need help or have a question about Pancake, please feel free to write a mail to [support@pancakehttp.net](mailto:support@pancakehttp.net).
I love to hear from you. :-) I love to hear from you. :-)


## Donations ## Donations


If you love your tasty Pancake and my work, how about donating a few bucks via PayPal? :-) [![PayPal Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=89CFQ7SFX3MWY) If you love your tasty Pancake and my work, how about donating a few bucks via PayPal? :-) [![PayPal Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=89CFQ7SFX3MWY)


## License ## License


Pancake is currently licensed under its own [license](http://pancakehttp.net/license/). Pancake is currently licensed under its own [license](http://pancakehttp.net/license/).
However, the license will probably change soon. In case you have any questions about the license, please contact [support@pancakehttp.net](mailto:support@pancakehttp.net). However, the license will probably change soon. In case you have any questions about the license, please contact [support@pancakehttp.net](mailto:support@pancakehttp.net).
98 changes: 49 additions & 49 deletions conf/config.example.yml
@@ -1,50 +1,50 @@
main: main:
tmpPath: ../tmp/ # Path for temporary files tmpPath: ../tmp/ # Path for temporary files
logging: logging:
system: ../log/system.log # Path to System-Log system: ../log/system.log # Path to System-Log
request: ../log/requests.log # Path to Request-Log request: ../log/requests.log # Path to Request-Log
error: ../log/error.log # Path to Error-Log error: ../log/error.log # Path to Error-Log
dateFormat: 'd.m.y H:i:s' # Format for timestamps - See php.net/date for more information dateFormat: 'd.m.y H:i:s' # Format for timestamps - See php.net/date for more information
debugMode: false # Enable debugging (debugging can also be enabled for a single run by setting the option --debug) debugMode: false # Enable debugging (debugging can also be enabled for a single run by setting the option --debug)
user: www-data # *NIX-User under which Pancake should run user: www-data # *NIX-User under which Pancake should run
group: www-data # *NIX-Group under which Pancake should run group: www-data # *NIX-Group under which Pancake should run
listenPorts: # List of ports to listen on (Recommended for HTTP: 80) listenPorts: # List of ports to listen on (Recommended for HTTP: 80)
- 80 - 80
IPv4: # IPv4 network interfaces to listen on (use 0 to listen on all available interfaces) IPv4: # IPv4 network interfaces to listen on (use 0 to listen on all available interfaces)
- 0 - 0
IPv6: # IPv6 network interfaces to listen on (use ::0 to listen on all available interfaces) IPv6: # IPv6 network interfaces to listen on (use ::0 to listen on all available interfaces)
- ::0 - ::0
requestWorkers: 4 # Amount of RequestWorkers to run requestWorkers: 4 # Amount of RequestWorkers to run
exposePancake: true # If true, Pancake will send a "Server"-Header with Information about Pancake exposePancake: true # If true, Pancake will send a "Server"-Header with Information about Pancake
sizePrefix: bin # "si" or "bin" - SI: 1000 Byte = 1 Kilobyte - Binary: 1024 Byte = 1 Kibibyte sizePrefix: bin # "si" or "bin" - SI: 1000 Byte = 1 Kilobyte - Binary: 1024 Byte = 1 Kibibyte
allowHEAD: true # Whether to allow the "HEAD"-requestmethod allowHEAD: true # Whether to allow the "HEAD"-requestmethod
allowTRACE: true # Whether to allow the "TRACE"-requestmethod allowTRACE: true # Whether to allow the "TRACE"-requestmethod
allowOPTIONS: true # Whether to allow the "OPTIONS"-requestmethod allowOPTIONS: true # Whether to allow the "OPTIONS"-requestmethod
requestWorkerLimit: 50000 # Limit of requests a RequestWorker may process until it has to be restarted (0 for no limit) requestWorkerLimit: 50000 # Limit of requests a RequestWorker may process until it has to be restarted (0 for no limit)
maxConcurrent: 0 # Limit of concurrent connections a RequestWorker may hold open (0 for no limit) maxConcurrent: 0 # Limit of concurrent connections a RequestWorker may hold open (0 for no limit)
workerBootTime: 5 # The upper timelimit for a worker to boot (raise this when you're for example caching files that take long to load) workerBootTime: 5 # The upper timelimit for a worker to boot (raise this when you're for example caching files that take long to load)
writeBufferMin: 10240 # Minimum write buffer size that should be held in RAM writeBufferMin: 10240 # Minimum write buffer size that should be held in RAM
writeBufferSoftMaxConcurrent: 50 # Soft concurrent write buffer limit - When this limit is reached, Pancake won't allocate any buffers that are bigger than the minimum size anymore writeBufferSoftMaxConcurrent: 50 # Soft concurrent write buffer limit - When this limit is reached, Pancake won't allocate any buffers that are bigger than the minimum size anymore
writeBufferHardMaxConcurrent: 2000 # Hard concurrent write buffer limit - When this limit is reached, Pancake will try not to allocate any buffers anymore writeBufferHardMaxConcurrent: 2000 # Hard concurrent write buffer limit - When this limit is reached, Pancake will try not to allocate any buffers anymore
waitPHPWorkerBoot: true # Wait for PHP-Workers to boot (should be disabled in shared environments) waitPHPWorkerBoot: true # Wait for PHP-Workers to boot (should be disabled in shared environments)
waitSlotTime: 5000 # When there is no PHPWorker available to serve a PHP-request, Pancake will check after waitslottime µsec if a slot became available waitSlotTime: 5000 # When there is no PHPWorker available to serve a PHP-request, Pancake will check after waitslottime µsec if a slot became available
waitSlotWaitLimit: 5 # See above; this is the upper limit of wait-cycles until Pancake gives up on searching for a slot (for example: waitslottime = 5000; waitslotwaitlimit = 5 => Client will receive 500 Internal Server Error after 25 ms if no PHPWorker became available in those 25 ms) waitSlotWaitLimit: 5 # See above; this is the upper limit of wait-cycles until Pancake gives up on searching for a slot (for example: waitslottime = 5000; waitslotwaitlimit = 5 => Client will receive 500 Internal Server Error after 25 ms if no PHPWorker became available in those 25 ms)
socketBacklog: 100 # Connection backlog for incoming requests socketBacklog: 100 # Connection backlog for incoming requests
include: # Additional configuration-files to include include: # Additional configuration-files to include
- ../conf/vhosts/ - ../conf/vhosts/
- ../conf/mime.yml - ../conf/mime.yml
moody: moody:
deletewhitespaces: false deletewhitespaces: false
deletecomments: true deletecomments: true
FastCGI: # FastCGI upstream server configurations FastCGI: # FastCGI upstream server configurations
# php: # This example configuration could be used to use the native php-fpm SAPI instead of the Pancake SAPI for executing PHP # php: # This example configuration could be used to use the native php-fpm SAPI instead of the Pancake SAPI for executing PHP
# type: unix # type: unix
# address: /var/run/php5-fpm.socket # address: /var/run/php5-fpm.socket
# mimeTypes: # mimeTypes:
# - text/x-php # - text/x-php
AJP13: # AJP13 upstream server configurations AJP13: # AJP13 upstream server configurations
# jenkins: # This example configuration could be used to run Jenkins behind Pancake # jenkins: # This example configuration could be used to run Jenkins behind Pancake
# type: ipv4 # type: ipv4
# address: 127.0.0.1 # address: 127.0.0.1
# port: 1030 # port: 1030
# maxconcurrent: 100 # maxconcurrent: 100

0 comments on commit 8d0b570

Please sign in to comment.