Manual Deployment
Jekyll generates your static site to the _site
directory by default. You can
transfer the contents of this directory to almost any hosting provider to get
your site live. Here are some manual ways of achieving this:
rsync
Rsync is similar to scp except it can be faster as it will only send changed parts of files as opposed to the entire file. You can learn more about using rsync in the Digital Ocean tutorial.
Amazon S3
If you want to host your site in Amazon S3, you can do so by
using the AWS cli client and pushing your rendered _site
directory directly to
your S3 bucket.
aws s3 sync _site s3://<YOUR DOMAIN>.com --size-only --storage-class REDUCED_REDUNDANCY
FTP
Most traditional web hosting providers let you upload files to their servers over FTP. To upload a Jekyll site to a web host using FTP, run the jekyll build
command and copy the contents of the generated _site
folder to the root folder of your hosting account. This is most likely to be the httpdocs
or public_html
folder on most hosting providers.
scp
If you have direct access to the deployment web server, the process is essentially the same, except you might have other methods available to you (such as scp
, or even direct filesystem access) for transferring the files. Remember to make sure the contents of the generated _site
folder get placed in the appropriate web root directory for your web server.
Rack-Jekyll
Rack-Jekyll allows you to deploy your site on any Rack server such as Amazon EC2, Slicehost, Heroku, and so forth. It also can run with shotgun, rackup, mongrel, unicorn, and others.