, 3 min read
Hosting Static Content with now.sh
now.sh, previously known under zeit.co, which has now rebranded as vercel.com, allows to host static content. There is no PHP, MySQL/MariaDB, Perl, CGI, etc. While surge.sh is super simple to use, in contrast now.sh uses the notion of 'environment', which can be either development, preview, or production.
First install via
npm install now, then
cd to the directory where you have stored your static content. Then, depending on your environment, deployment is as follows:
now dev, no "real" deployment, but rather web-server is started at localhost:3000. Stop with Ctrl-C.
now deploy --prod
It is not required to step through all the environments in any order. So you can just always deploy to production. Regardless of the environment, now.sh always creates some additional HTML web area with a generated name. This name might look like
now command has the following options:
$ now -h > UPDATE AVAILABLE Run `npm i now@latest` to install Now CLI 18.0.0 > Changelog: https://email@example.com 𝚫 now [options] <command | path> Commands: Basic deploy [path] Performs a deployment (default) dev Start a local development server init [example] Initialize an example project ls | list [app] Lists deployments inspect [id] Displays information related to a deployment login [email] Logs into your account or creates a new one logout Logs out of your account switch [scope] Switches between teams and your personal account help [cmd] Displays complete help for [cmd] Advanced rm | remove [id] Removes a deployment domains [name] Manages your domain names dns [name] Manages your DNS records certs [cmd] Manages your SSL certificates secrets [name] Manages your secret environment variables logs [url] Displays the logs for a deployment teams Manages your teams whoami Shows the username of the currently logged in user Options: -h, --help Output usage information -v, --version Output the version number -V, --platform-version Set the platform version to deploy to -n, --name Set the project name of the deployment -A FILE, --local-config=FILE Path to the local `now.json` file -Q DIR, --global-config=DIR Path to the global `.now` directory -d, --debug Debug mode [off] -f, --force Force a new deployment even if nothing has changed -t TOKEN, --token=TOKEN Login token -p, --public Deployment is public (`/_src` is exposed) -e, --env Include an env var during run time (e.g.: `-e KEY=value`). Can appear many times. -b, --build-env Similar to `--env` but for build time only. -m, --meta Add metadata for the deployment (e.g.: `-m KEY=value`). Can appear many times. -C, --no-clipboard Do not attempt to copy URL to clipboard -S, --scope Set a custom scope --regions Set default regions to enable the deployment on --prod Create a production deployment > NOTE: To view the usage information for Now 1.0, run `now help deploy-v1` Examples: – Deploy the current directory $ now – Deploy a custom path $ now /usr/src/project – Deploy with environment variables $ now -e NODE_ENV=production -e SECRET=@mysql-secret – Show the usage information for the sub command `list` $ now help list
now.sh stores your credentials in
Added 24-May-2021: Script
now is no longer maintained. You have to use
vercel instead. Install
vercel as usual:
npm install vercel. Steps for deployment are
vercel deploy --prod
My static site on vercel.com is here: klm.vercel.app/blog.