Skip to main content

Nginx Quickdeploy

Project description

NGINX QUICKDEPLOY

About

Helps you create and deploy websites on nginx quickly.

Installation

pip3 install nginx-quickdeploy

Usage

Variables:

  • 'FQDN' : Fully Qualified Domain Name, name of your website
  • Nginx config path: Path where your generated config file is stored.
  • Ports: Ports to listen to, in format: <port1> [ssl], <port2> [ssl]
  • Root path: Path where your html files are located
  • Proxy: If your actual application is running on some other port, you can proxy pass and use nginx as webserver. For that just use this function, if not leave it empty

JSON input:

Json input is also supported for easier deployment. Following keys are supported:

  • url : mandatory : provide FQDN
  • path : optional : provide path to be written config, default /etc/nginx/sites-available/{URL}
  • ports : optional, list : provide ports to listen and with ssl or not, default 80 on both interfaces
  • root : optional : path to webroot folder, default /var/www/html/{url}
  • proxy : optional : path to http proxy if you have an app running behind nginx
  • ssl_cert_path : optional : SSL cert path if you have ssl enabled
  • ssl_key_path : optional : SSL key path if you have ssl enabled

Json example

{
  "url": "www.example.org",
  "path": "/usr/shared/www.example.org",
  "ports": ["80", "[::]:80", "443 ssl", "[::]:443 ssl"],
  "root": "/var/www/html",
  "proxy": "https://app.example.org:8080",
  "ssl_cert_path": "/etc/ssl/myexample.org/cert.crt",
  "ssl_key_path": "/etc/ssl/myexample.org/key.pem" 
}

yields:

server {
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name www.example.org;
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
ssl_certificate /etc/ssl/myexample.org/cert.crt;
ssl_certificate_key /etc/ssl/myexample.org/key.pem;
location / {
  proxy_pass https://app.example.org:8080;
  }
}

Tips and Examples

Invoke the script with sudo rights if you want to write to /etc/ngnix/sites-available as it is write protected for non sudo users.

# sudo quickdeploy

FQDN of your domain, e.g. example.com or subdomain.example.com without http or https:  www.example.org
Where should the new config file be saved?, default is /etc/nginx/sites-available/www.example.org :
Ports separated by commas(,) in nginx fashion, like 80, [::]:80 etc
For ssl, just add ssl after the port, e.g. 80, 443 ssl, [::]:80, [::]:443 ssl
Enter ports here:
Enter the www root path(default /var/www/html):
Should this server need to proxy_pass, enter the address here:

Your new website was deployed successfully
Restart nginx to serve it via nginx.

would yield a config file that looks like this:

server {
  root /var/www/html;
  server_name www.example.org;
  listen 80;
   location / {
       try_files $uri $uri/;
   }
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nginx_quickdeploy-0.3.1.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

nginx_quickdeploy-0.3.1-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file nginx_quickdeploy-0.3.1.tar.gz.

File metadata

  • Download URL: nginx_quickdeploy-0.3.1.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.6

File hashes

Hashes for nginx_quickdeploy-0.3.1.tar.gz
Algorithm Hash digest
SHA256 3463eccb35f6f39335b77dad03cf83fd22e2eac64ec02e18c55c547d8553e1fd
MD5 83c5566c7aa79b680cf6446fcebc16c2
BLAKE2b-256 1ab1a471e1156eae2a72143eda54c65d2b32236a167b2fa0b1b06451e75985ad

See more details on using hashes here.

File details

Details for the file nginx_quickdeploy-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: nginx_quickdeploy-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.6

File hashes

Hashes for nginx_quickdeploy-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 47f782899cad1e29d4b1f1286d006c396b0a899e1563a95ff587b09478dcbb26
MD5 fe03d89ea49d44d17c210a1b0163053a
BLAKE2b-256 5bbf7a5616ed44043604c6f19fb2d07dd6347a57d620a24dd7334aa12961c7be

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page