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
- Hook : Post deployment shell script you want to be run
CLI
-h, --help Show this help message and exit
-i [INPUT], --input [INPUT] Input json file for easy installation
-d [DOMAIN], --domain [DOMAIN] Domain you want to set up.
-p [PATH], --path [PATH] Config file path
--ports [PORTS] Ports to listen to separated by comma(,)
-w [WEBROOT], --webroot [WEBROOT] Webroot folder containing index.html
-f [FORWARD], --forward [FORWARD] Proxy pass URL
--ssl_cert_path [SSL_CERT_PATH] SSL certificate path
--ssl_key_path [SSL_KEY_PATH] SSL key path
--hook Post install hook, a shell script you want to launch after
deployment is complete.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file nginx_quickdeploy-0.4.1.tar.gz
.
File metadata
- Download URL: nginx_quickdeploy-0.4.1.tar.gz
- Upload date:
- Size: 9.4 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
Algorithm | Hash digest | |
---|---|---|
SHA256 | ceb4f0002a3ab311ad0105b4db806f72baf09545d733cb763378110c34816a82 |
|
MD5 | df31b47ef61b78a0dd7f1fdd6aa4a67a |
|
BLAKE2b-256 | eb17180c4ec644d150c01e313ac71164b823925719d0bacefb2a0860169ba7bf |
File details
Details for the file nginx_quickdeploy-0.4.1-py3-none-any.whl
.
File metadata
- Download URL: nginx_quickdeploy-0.4.1-py3-none-any.whl
- Upload date:
- Size: 10.1 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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 834f2b060127ad161d3846596384d9b874bc00f8671a9258438eaec58eddc633 |
|
MD5 | 16dcfc05b67faf47d7de746c168cb0e5 |
|
BLAKE2b-256 | cc138ef304f72fba8881b83958d8dc2e4cae3764552aaa9d670ac76024135288 |