The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →The reliable Ubuntu VPS workflow is: install Ruby and Jekyll’s build prerequisites, create a project with a Gemfile, build it with Bundler, and let Nginx serve the generated _site directory. Jekyll’s development server is for previewing; a production VPS normally serves the finished static files instead of running jekyll serve continuously.
Need a server to try this on? Antihost offers Linux VPS plans with NVMe storage, full root access and a 14-day free trial.
You will need an Ubuntu server account with sudo access and SSH, plus a domain name when you are ready to publish publicly. The procedure below covers installation, local preview, reproducible builds, Nginx, DNS, HTTPS, and the main failure modes.
As an Amazon Associate I earn from qualifying purchases.
What Jekyll does on a VPS
Jekyll is a Ruby static-site generator. It takes Markdown content, Liquid templates, layouts, configuration, and assets, then renders a complete static website. The output consists of ordinary files such as HTML, CSS, JavaScript, and images. Because those files do not require a database or application runtime for each request, Nginx can deliver them directly.
That separation is the key to a clean deployment:
- You edit the source tree, including posts, layouts, includes, configuration, and assets.
- Bundler loads the gem versions recorded for the project.
bundle exec jekyll buildrenders the site into_site.- Nginx uses
_siteas its document root and serves the generated files.
Keep the source checkout and its dependency files separate from the public document root when possible. Publishing only generated output reduces the chance of exposing drafts, configuration, or development files.
#1 Best Overall
- BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
- EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
- COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
- LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
- WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.
Decide whether a VPS is the right host
A VPS gives you control over the operating system, web server, deployment process, firewall, and domain configuration. That control is useful if you need custom Nginx rules, background services, private build steps, or a conventional Linux administration environment. It also means you are responsible for updates, backups, monitoring, and recovery.
Repository-managed hosting is an alternative when you want the hosting platform to build and publish a Jekyll repository. GitHub Pages documents deployment from a branch or from a custom GitHub Actions workflow. It removes most server administration, but it has platform-specific build and plugin restrictions and gives you less control over server processes.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errors| Decision point | Ubuntu VPS | GitHub Pages |
|---|---|---|
| Operating-system access | SSH and sudo access; you manage packages and services. |
No general-purpose server shell; the platform manages the host. |
| Build location | Your checkout or deployment job runs bundle exec jekyll build. |
Builds from a repository branch or a GitHub Actions workflow. |
| Web server | You configure Nginx and choose the document root. | The hosting service serves the published Pages artifact. |
| Plugins and dependencies | You can install the gems your project and Ruby version support. | Builds must follow GitHub Pages’ supported environment, or you must build with Actions. |
| Domain and TLS | You configure DNS and obtain certificates, commonly with Certbot and Let’s Encrypt. | Domain and certificate behavior follows GitHub’s Pages settings and workflow. |
| Server-side processes | Possible because you administer the VPS, although Jekyll itself still produces static files. | Not available as a general VPS process. |
For the VPS route, compare candidate servers by SSH and sudo availability, Ubuntu image support, CPU and storage headroom, backup options, IPv4 and IPv6, firewall controls, and support quality. Provider pricing and plan limits vary and are not intrinsic Jekyll requirements.
Prepare the Ubuntu VPS
Connect over SSH with an ordinary account that can use sudo. Avoid doing routine work as root; using a separate administrative account makes file ownership and recovery easier.
- Use a supported Ubuntu installation with package management available through
apt. - Make sure the account can install packages and create files under the directory you will publish.
- Choose a working directory for the source checkout, such as a private directory under your account or a deployment path under
/srv. - For a public site, plan the domain name and the DNS records before requesting a certificate.
Jekyll’s Ubuntu installation guidance requires Ruby, a compiler toolchain, and zlib development headers. Update the package index and install them with:
sudo apt-get update
sudo apt-get install ruby-full build-essential zlib1g-dev
Jekyll’s guide recommends a user-local Ruby gem directory so gems do not go into the system Ruby path. Use the shell-profile snippet from the current Jekyll Ubuntu guide for your account, reload the profile as instructed, and then install Jekyll and Bundler:
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallgem install jekyll bundler
The profile details can differ between shells and Ubuntu releases, so copy that portion from the current guide rather than assuming a particular PATH line. The important outcome is that the account can invoke the installed jekyll and bundle commands without writing gems into the operating system’s managed directories.
Rank #2
- WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
- AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
- PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
- ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
- COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed
Create a site and preview it
Use Jekyll’s project generator, install the project dependencies, and start the development server through Bundler:
jekyll new my-site
cd my-site
bundle install
bundle exec jekyll serve
The generated directory contains a Gemfile that declares the project’s Ruby dependencies. bundle install resolves those dependencies and creates or updates Gemfile.lock. Running the server as bundle exec jekyll serve makes Bundler use the versions selected for this project instead of whichever gems happen to be installed globally.
For iterative authoring, add live reload when your local workflow supports it:
Recommended Free Tools
bundle exec jekyll serve --livereload
The development server is intended for previewing and editing. Do not treat it as the production service: it is not the normal way to expose a public site, and it leaves the Ruby build process responsible for every request. Build the static artifact and let Nginx serve that artifact instead.
Keep builds reproducible with Bundler
Commit both Gemfile and Gemfile.lock to the project repository. The Gemfile describes the dependencies you want; the lockfile records the resolved versions, including transitive dependencies. Keeping both files means a later VPS build can reproduce the environment used during development rather than silently selecting newer gems.
Run project commands through Bundler, especially on a server:
bundle install
bundle exec jekyll build
bundle exec jekyll serve
If you deploy through GitHub Pages, the official deployment documentation describes using the github-pages gem to match GitHub’s production Jekyll environment. That is a platform-specific choice; a self-managed VPS can use the dependencies declared by your own project.
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #3
- Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
- Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
- Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
- ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
- Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)
When a dependency changes deliberately, update it in a controlled development environment, review the resulting lockfile, test the build, and deploy the updated pair. Do not delete the lockfile as a first response to an installation error; doing so trades a local problem for an unplanned dependency upgrade.
Build the production artifact
From the project directory, render the site with:
bundle exec jekyll build
Jekyll writes the complete generated site to _site. Nginx can use that directory directly as its web root, or you can copy or synchronize its contents into a separate publish directory as part of your deployment process.
A practical directory layout keeps the checkout private and makes the published path explicit:
- Source checkout: contains posts, layouts, includes, assets,
_config.yml,Gemfile, andGemfile.lock. - Build output: the generated
_sitedirectory. - Nginx root: the directory whose contents should be publicly readable, normally the generated
_site.
Before changing Nginx, verify that the build produced the expected entry point, especially _site/index.html. Ensure the Nginx worker can traverse the parent directories and read the generated files. Keep drafts and source-only files outside the public root.
Install and configure Nginx
Install the Ubuntu package:
sudo apt install nginx
Create a server-block file in /etc/nginx/sites-available/, using your real domain in the filename. A minimal HTTP configuration is:
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /srv/my-site/_site;
index index.html;
location / { try_files $uri $uri/ =404; }
}
Replace example.com and /srv/my-site/_site with your domain and the actual build path. The root directive must point to the directory containing the generated files, not to the source checkout’s parent directory.
Enable the server block with a symbolic link and reload Nginx:
Rank #4
- Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
- Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
- 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
- Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
- USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC
sudo ln -s /etc/nginx/sites-available/your-domain /etc/nginx/sites-enabled/
sudo systemctl reload nginx
Ubuntu’s Nginx layout separates available configurations from enabled ones. If the default site responds for the same address or takes precedence, remove or disable that conflicting default link, then reload after checking the configuration. A syntax check before reloading is a useful safeguard:
sudo nginx -t
The try_files rule serves an existing file or directory and returns a 404 when neither exists. That makes missing generated pages visible instead of silently routing every request to an unrelated fallback.
Point DNS at the VPS and add HTTPS
For a public deployment, register a domain and create DNS records that resolve the name to the VPS. Include every hostname you place in server_name, such as the apex name and www, and allow time for DNS changes to propagate.
Certificate issuance also requires the VPS to be reachable from the internet on port 80 for the HTTP-01 validation challenge. Check DNS and firewall reachability before running the certificate command. Port 443 must be reachable after HTTPS is enabled.
Ubuntu recommends Let’s Encrypt for internet-facing servers. Its certificates are free, automated, trusted by major browsers and clients, and valid for 90 days. Install Certbot with the classic snap and request a certificate through the Nginx plugin:
sudo snap install --classic certbot
sudo certbot --nginx -d example.com -d www.example.com
The --nginx plugin finds the matching server block, edits it for TLS, and reloads Nginx. Review the resulting configuration so the certificate covers every hostname you intend to serve.
Certbot installs a systemd timer that attempts renewal twice daily. Test the renewal path without replacing a live certificate:
Best Value
- Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
- Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
- Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
- Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
- Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.
sudo certbot renew --dry-run
Run the dry test after the initial setup and again after firewall, DNS, or Nginx changes. A successful issuance does not prove future renewal will work if port 80 later becomes blocked or the domain stops resolving to the VPS.
Use a repeatable deployment workflow
Once the first deployment works, keep each release mechanical:
- Update the source checkout using your normal version-control process.
- Run
bundle installso the locked dependencies are present. - Build with
bundle exec jekyll build. - Confirm that
_site/index.htmland the changed pages exist. - Publish the generated output to the directory named by Nginx’s
root. - Reload Nginx only when its configuration changed; rebuilding static files normally does not require a service restart.
- Request the site over both the apex and any
wwwhostname, then check the HTTPS certificate.
Whether you build directly in the Nginx root or synchronize from a separate checkout, preserve the same invariant: Nginx should expose only the generated static artifact, while the Gemfile, lockfile, and source remain in a controlled working tree.
Troubleshoot common failures
Ruby or native-extension installation errors
Errors compiling a gem commonly indicate that the VPS Ruby version, build tools, zlib headers, and the versions locked by the project do not line up. Confirm that ruby-full, build-essential, and zlib1g-dev are installed, then run the project commands through bundle exec. Do not apply a Ruby-version workaround as a universal fix; consult the current Jekyll installation and troubleshooting guidance for the exact error and Ubuntu release.
The build succeeds, but the site returns 404
First check that _site/index.html exists after the build. Then verify that Nginx’s root points to that exact directory, the enabled server block contains the requested domain in server_name, and the Nginx worker can read the files. A mismatch between the site’s URL or base-path configuration and the requested paths can also produce links that appear broken even when the files exist.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →The wrong site appears
This usually means the intended server block is not enabled, the request hostname does not match it, or the default site is still selected. Check the symlink under /etc/nginx/sites-enabled/, confirm the domain names, run sudo nginx -t, and reload Nginx.
Certbot cannot validate the domain
Certificate issuance fails when DNS points somewhere else or port 80 is blocked by a firewall, security group, or upstream network. Correct the DNS records and inbound reachability first, then rerun Certbot. If the HTTP site is not reachable by hostname, changing certificate options will not solve the underlying validation failure.
Files are present but inaccessible
A correct path can still return an error if one of its parent directories prevents traversal or if the generated files are not readable by the Nginx worker. Inspect ownership and permissions on the checkout, _site, and each parent directory, then rebuild or republish with permissions that allow read access without making private source files public.
Quick Recap
Final pre-launch checklist
- Ruby, compiler tools, and zlib development headers are installed.
- Jekyll and Bundler are installed for the deployment account’s user-local gem path.
GemfileandGemfile.lockare committed and used throughbundle exec.bundle exec jekyll buildcompletes and creates_site/index.html.- Nginx’s enabled server block names the correct host and points its
rootat the generated output. - DNS resolves every published hostname to the VPS.
- Port 80 is reachable for Let’s Encrypt validation and port 443 is reachable for visitors.
sudo certbot renew --dry-runsucceeds.- Only generated static output is publicly served.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.




