All Projects → alekcz → Pcp

alekcz / Pcp

Licence: epl-2.0
PCP: Clojure Processor -- A Clojure replacement for PHP

Programming Languages

clojure
4091 projects

Labels

Projects that are alternatives of or similar to Pcp

Record
✨✨都是自己输出和看过觉得不错的文章,欢迎star、watch!!同时欢迎推荐新文章、书籍和视频!!
Stars: ✭ 69 (-13.75%)
Mutual labels:  nginx
Nginx Baseline
DevSec Nginx Baseline - InSpec Profile
Stars: ✭ 71 (-11.25%)
Mutual labels:  nginx
Shorty
🔗 A URL shortening service built using Flask and MySQL
Stars: ✭ 78 (-2.5%)
Mutual labels:  nginx
Dockerfiles
lots of dockerfiles, based on alpine
Stars: ✭ 69 (-13.75%)
Mutual labels:  nginx
Cloud Note
基于分布式的云笔记(参考某道云笔记),数据存储在redis与hbase中
Stars: ✭ 71 (-11.25%)
Mutual labels:  nginx
Docker Rtorrent Rutorrent
rTorrent and ruTorrent Docker image based on Alpine Linux
Stars: ✭ 75 (-6.25%)
Mutual labels:  nginx
Fail2ban.webexploits
This custom Fail2Ban filter and jail will deal with all scans for common Wordpress, Joomla and other Web Exploits being scanned for by automated bots and those seeking to find exploitable web sites.
Stars: ✭ 67 (-16.25%)
Mutual labels:  nginx
Dfile
[Python + Flask] DFile: A fancy S3-based file sharing mode
Stars: ✭ 79 (-1.25%)
Mutual labels:  nginx
Dockerfile
📦 Dockerfiles from WebDevOps for PHP, Apache and Nginx (with PHP5 and PHP7)
Stars: ✭ 1,169 (+1361.25%)
Mutual labels:  nginx
Sanic Nginx Docker Example
Sanic + Nginx + Docker basic example
Stars: ✭ 77 (-3.75%)
Mutual labels:  nginx
Nginx Consul Template
A dynamic configurable Nginx with Consul.
Stars: ✭ 69 (-13.75%)
Mutual labels:  nginx
Wheel Of Lunch
HTML5 randomised spinning wheel to select a place to eat by using a RESTful API to fetch local places.
Stars: ✭ 70 (-12.5%)
Mutual labels:  nginx
Rare
Fast, realtime regex-extraction, and aggregation into common formats such as histograms, numerical summaries, tables, and more!
Stars: ✭ 76 (-5%)
Mutual labels:  nginx
Reading
我的阅读资料
Stars: ✭ 69 (-13.75%)
Mutual labels:  nginx
Router
Edge router for Deis Workflow
Stars: ✭ 78 (-2.5%)
Mutual labels:  nginx
Ngxfmt
nginx conf formatter
Stars: ✭ 69 (-13.75%)
Mutual labels:  nginx
Docker For Local Development
This project provides a basic Docker setup, for building a local development environment for Zend Expressive, and other PHP application development.
Stars: ✭ 74 (-7.5%)
Mutual labels:  nginx
Docker Nginx Image Proxy
on the fly image cropping with gravity, resize and compression microservice
Stars: ✭ 79 (-1.25%)
Mutual labels:  nginx
Docker Symfony
Run a Symfony application using Docker & docker-compose
Stars: ✭ 1,217 (+1421.25%)
Mutual labels:  nginx
Generic django project
starting point for a new Django site (with FeinCMS, deployable on Nginx using Fabric)
Stars: ✭ 76 (-5%)
Mutual labels:  nginx

Welcome to PCP

PCP: Clojure Processor -- Clojure replacement for PHP

master codecov

Introduction

Too long have we hustled to deploy clojure website. Too long have we spun up one instance per site. Too long have reminisced about PHP. Today we enjoy the benefits of both. Welcome to PCP.

Status

Experimental. Active development. Stabilizing.

Goals

  • Any easy to use, drop-in replacement for php scripts
  • Allow multiple website to be hosted on single $5 VPS

Non-goals

  • Performance. PCP should be sufficient for prototypes and small websites (<= 40 req/s)

How PCP works

PCP has two parts the utility is simple binary, built with GraalVM, that allows you work effectively with pcp.

PCP: Clojure Processor -- Like drugs but better

Usage: pcp [option] [value]

Options:
  service [command]       Stop/start the SCGI server daemon or get it's status
  secret [path]           Add and encrypt secrets at . or [path]
  -e, --evaluate [path]   Evaluate a clojure file using PCP
  -s, --serve [root]      Start a local server at . or [root]
  -v, --version           Print the version string and exit
  -h, --help              Print the command line help

The heavy lifting is done by an SCGI server. This server runs on port 9000 and receives requests from the local pcp server or from nginx. The SCGI server is an uber jar that runs as a daemon.

Talk

None yet.

Quick start

Install pcp via the installer script:

$ bash -c "$(curl -sSL https://raw.githubusercontent.com/alekcz/pcp/master/install.sh)"

Query the SCGI server status:

$ pcp service status

You can find instructions on replacing php here

For convenience the pcp utility comes with a local server. This local sever behaves as your pcp site would when deployed with nginx.

$ pcp -s /path/to/server/root

Guides

  1. Installation
  2. PCP environment
  3. Environment variables and secrets
  4. Replacing php
  5. Examples (coming soon)

Special thanks

For the guidance and examples, special thanks to

License

Copyright © 2020 Alexander Oloo

This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at http://www.eclipse.org/legal/epl-2.0.

This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version, with the GNU Classpath Exception which is available at https://www.gnu.org/software/classpath/license.html.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].