PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Crashes, 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 minuteiTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Need a server to try this on? Antihost offers Linux VPS plans with NVMe storage, full root access and a 14-day free trial.
To host a Hexo blog on a Linux VPS, build the site from Markdown with Hexo, publish the generated public directory, serve that directory with NGINX, and point your domain’s DNS records at the VPS. Certbot can then obtain and install an HTTPS certificate through NGINX. The result is a fast, database-free static site, while your Hexo source remains separate from the files exposed to visitors.
What you will build
Hexo is a static-site generator. It reads Markdown posts, configuration, theme files and other source assets, then produces ordinary HTML, CSS, JavaScript and images. The finished files are written to a directory named public. NGINX serves those files directly; it does not run Hexo for each request and Hexo is not required on the web server after publication.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errors- A Hexo project containing your posts and theme source.
- A generated
publicdirectory containing the deployable site. - NGINX configured with that directory as its document root.
- A DNS name resolving to the VPS and an HTTPS certificate for the names visitors use.
There are two sensible places to run the build: on your workstation or CI system, then copy only public to the VPS; or on the VPS itself, then publish locally. Keeping source and deployment credentials outside the web root is safer in either case.
Requirements and decisions before you start
Software versions
| Component | Requirement or role |
|---|---|
| Linux VPS | A host with SSH access, enough storage for your source and generated files, and inbound web access. No authoritative VPS size, build-time or page-speed figure is established; choose resources for your site, traffic, dependencies and the provider’s current limits. |
| Node.js | Hexo’s current compatibility table lists Node.js 20.19.0 or newer for Hexo 8.0 and later. |
| Git | Required by Hexo’s official prerequisites and useful for versioning the source. |
| NGINX | Serves the generated static files. |
| Domain name | Needed for a public DNS name and a normal publicly trusted certificate. |
| Certbot | Optional until you enable HTTPS; its NGINX plugin can request a certificate and modify the NGINX configuration. |
Install a supported Node.js release and Git using your Linux distribution’s supported method, or build on another machine that has them. Hexo recommends using its latest release together with the recommended Node.js version whenever possible. Confirm the tools before creating the project:
#1 Best Overall
- Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
- With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
- Wide Application: attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
- Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
- Economical &Reusable: Built durable materials with a long-lasting battery,our CAGIWIRU air duster it's a sustainable alternative to disposable air cans.
node --version
npm --version
git --version
The VPS must be reachable over SSH for administration or deployment. For a certificate, the final DNS name must resolve publicly to the VPS and the validation request must be able to reach the web server on port 80. Plan for port 443 as well once HTTPS is enabled.
Install Hexo and create the project
- Install the Hexo command-line package for your user environment:
npm install -g hexo-cli
If the global npm binary directory is not on your PATH, use npx hexo in place of hexo, or correct the user-level npm path. Do not run npm as root or add sudo merely to bypass an EACCES error; fix the ownership or user-level npm configuration instead.
- Initialize a new site and install its project dependencies:
hexo init blog
cd blog
npm install
hexo init creates the starter project. Its important parts are:
| Path | Purpose |
|---|---|
_config.yml |
Main site settings, including title, URL, permalinks, theme and deployment configuration. |
package.json |
Node package metadata and the dependencies installed by npm. |
scaffolds |
Templates used when Hexo creates new posts or pages. |
source |
Your Markdown posts and other source content. |
themes |
Theme files used to render the site. |
public |
Generated output. Treat this as a build artifact, not as your source repository. |
Configure the site and write your first post
Open _config.yml and set the site identity before publishing. A minimal configuration can look like this:
title: My Hexo Blog
url: https://example.com
permalink: :year/:month/:day/:title/
Keep the URL consistent with the hostname you will place in DNS and in the NGINX server_name directive. Select and configure a theme in the same file; the starter project includes a default theme, while other themes may require additional npm packages or theme-specific settings.
Create a post with:
hexo new 'Hello Hexo'
Hexo places the resulting Markdown file under source/_posts. Edit its front matter and body, then add images or other assets according to the theme’s conventions. Commit the source, configuration and package lock file to Git if you use version control. Do not commit private keys, deployment tokens or other credentials.
Preview locally and generate production files
Run the development server while editing:
hexo server
By default, Hexo listens at http://localhost:4000/. This preview is intended for the machine running the command; it is not a substitute for a public NGINX service.
Rank #2
- Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
- Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
- Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
- Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
- Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth
When the content is ready, remove stale generated data and create a clean production build:
hexo clean
hexo generate
The generated HTML, CSS, JavaScript and assets will be in public. Inspect that directory before deployment. If old pages or obsolete assets appear after a configuration or theme change, run hexo clean and generate again.
If you have configured a Hexo deployment plugin, hexo deploy -g generates the site before invoking that plugin. The plugin, its destination and its credentials are separate choices; Hexo itself does not require a particular VPS provider, CI service or transfer method.
Free tools Windows power users keep installed
One-click scans. No signup required.
Choose a deployment workflow
All workflows end with the same result: the NGINX root contains the current contents of public. Choose based on where you want dependencies and credentials to live.
| Workflow | Build location | File transfer | Rollback approach | Operational trade-off |
|---|---|---|---|---|
| Build locally | Your workstation | Copy public over SSH, commonly with rsync |
Rebuild an earlier Git revision and republish it | The VPS needs only NGINX; local Node.js must match the project’s supported version. |
| Build on the VPS | A checked-out source tree on the server | Git pull or another source update, followed by a local build | Check out a known earlier revision and regenerate | Simple for a single administrator, but source and build tooling share the server. |
| Build in CI | A controlled CI runner | Transfer an artifact over SSH or another deployment channel | Republish a retained artifact or release directory | Repeatable builds, but requires CI credentials and pipeline maintenance. |
| Hexo deploy plugin | Wherever Hexo runs | The configured plugin destination | Depends on the plugin’s history and destination | Convenient, but plugin behavior and credential handling are plugin-specific. |
For a maintainable VPS, publish versioned releases and keep a stable path such as /var/www/hexo/current for NGINX. Build into a new release directory, verify that it contains index.html, then switch the stable path to that release. If you instead synchronize directly into the document root, use a transfer mode that removes files deleted from the source so obsolete pages do not remain online. In both cases, keep the Git checkout, node_modules, editing credentials and deployment secrets outside the web-served directory.
Copy the generated site to the VPS
Publishing from another machine
After hexo generate, transfer the contents of public, not the project directory. A typical rsync shape is:
rsync -az --delete public/ deploy@example.com:/var/www/hexo/current/
Use a deployment account that can write the release location without granting it unnecessary administrative access. Replace the example host and destination with your own paths. If you use a release-directory and symlink strategy, upload to a new directory first, check the files, then update the current link in a controlled step.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Rank #3
- 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
- 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
- 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
- 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
- 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.
Building directly on the VPS
Keep the source checkout in a directory such as a user’s home directory or a dedicated build path. Run npm install and the Hexo build there, then copy or synchronize only public into the NGINX release location. This prevents source files, Git metadata and package contents from becoming web-accessible if NGINX is misconfigured.
Ownership and permissions
NGINX needs read access to every directory in the path and to the generated files. The deployment user needs write access to the release location. Set ownership and permissions according to your distribution’s NGINX account and your deployment design; avoid making the entire web tree world-writable. Private keys and deployment credentials require stricter permissions than public HTML.
Configure NGINX to serve Hexo
NGINX’s root directive selects the filesystem directory used to find a requested file, with the request URI appended to that path. The index directive supplies the default file for a directory request. A minimal HTTP server block is:
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /var/www/hexo/current;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Replace the domain names and root path. The try_files rule checks whether the requested path exists and returns a 404 when it does not, rather than silently routing an unknown URL to an application. If your theme deliberately relies on a fallback page, configure that behavior explicitly instead of assuming it.
- Place the server block in the location used by your Linux distribution for enabled NGINX sites.
- Confirm that
/var/www/hexo/current/index.htmlexists and that the NGINX worker can read it. - Run the distribution’s NGINX configuration test command and correct every reported error.
- Reload NGINX using the service mechanism provided by your distribution.
- Request the site by each hostname listed in
server_name, not only by the VPS IP address.
If several server blocks exist, the requested hostname determines which one handles the request. A default block can therefore display the wrong site when the hostname or enabled configuration is not what you expect.
Point DNS at the VPS
Create an A record for the IPv4 address of the VPS. If the server has a publicly reachable IPv6 address and you intend to serve IPv6, create the corresponding AAAA record. Add records for every hostname you plan to place on the certificate, such as both the apex name and www.
DNS changes become visible according to the registrar and DNS provider’s TTL behavior. Before requesting a certificate, verify that each name resolves to the intended VPS rather than an old host. Also check that inbound port 80 reaches NGINX; ACME HTTP validation cannot complete if a firewall, security group or another service blocks that path.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Rank #4
- 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
- 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
- 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
- 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
- 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.
Enable HTTPS with Certbot
Once DNS resolves correctly and the HTTP server block answers for the domain, request a certificate with Certbot’s NGINX integration:
sudo certbot --nginx -d example.com -d www.example.com
The NGINX plugin obtains the certificate and can modify the NGINX configuration. Follow its prompts for the names you actually control. Do not treat issuance as proof that every hostname or redirect works: test each name after Certbot changes the configuration.
An SSL-enabled NGINX configuration needs a TLS listen directive plus the certificate and private-key paths supplied by the certificate installation. NGINX’s SSL guidance requires the private key to be restricted while still readable by the NGINX master process. Do not place the key in the Hexo project or in the public directory.
Verify the HTTPS result
- Open the apex domain over HTTPS and confirm the expected Hexo page loads.
- Open the
wwwname if it is configured and confirm it presents the intended certificate. - Decide whether HTTP should redirect to HTTPS, then test that redirect explicitly.
- Check a known post URL, an asset URL and a deliberately missing URL.
- Use the renewal mechanism documented by your Certbot installation and perform a renewal test before relying on unattended renewal.
A certificate request that fails usually indicates a DNS, hostname, port or NGINX routing problem rather than a Hexo build problem. Certbot’s standalone validation mode also requires binding to port 80, so another service occupying that port must be handled before using that mode.
Update the blog safely
- Edit or add Markdown under
source/_postsand update theme or configuration files in the source checkout. - Preview with
hexo serverand check links, images, feeds and the generated URL structure. - Run
hexo clean, thenhexo generate. - Inspect the new
publicoutput, especiallyindex.html, post directories and static assets. - Publish to a new release directory or synchronize to the document root using your chosen workflow.
- Request the site through the public hostname and check both a changed page and an unchanged page.
A release directory makes rollback straightforward: keep the previous generated directory, point the stable NGINX path back to it, and investigate the failed build separately. If you deploy in place, retain the previous source revision so you can regenerate it, and ensure deleted source files are removed from the destination.
Troubleshoot common failures
hexo: command not found
The global npm binary directory is probably not on PATH, or the command was installed for a different user. Run the command through npx hexo, inspect the user-level npm bin path, or install the CLI for the account that performs the build. Do not solve this by running the build as root.
EACCES during npm installation
Correct ownership and npm’s user-level installation path. Overriding the error with root or sudo npm can leave root-owned files in the project and create the same problem on the next update.
Best Value
- 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
- 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
- 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
- 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
- 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.
The generated site is missing pages or shows old content
Run hexo clean followed by hexo generate. Confirm that you edited files in the project being built, that the expected Markdown is under source/_posts, and that the deployed directory is the newly generated public, not an older copy.
NGINX returns 404
Check that the configured root points to the directory containing index.html, that every parent directory is searchable by the NGINX account, and that the URI maps to the expected file. Review the try_files rule and the active server block for the requested hostname.
The wrong site appears
Inspect the hostname in the browser request, the server_name values and which NGINX configuration is enabled. DNS may still point to an old server, or a default server block may be handling an unmatched name.
HTTPS issuance fails
Verify that the A and AAAA records point to this VPS, that the requested names resolve publicly, and that inbound port 80 reaches the intended NGINX server. Remove conflicting DNS records or firewall rules, then retry after DNS visibility has caught up.
HTTPS works for one name but not another
Check that every hostname is included in the certificate request, resolves to the same VPS and is listed in the appropriate NGINX server block. Test the apex and www names separately; a successful certificate for one name does not cover an omitted name.
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 →Operational checklist
- Keep Hexo source, Git metadata, npm dependencies and credentials outside the NGINX document root.
- Pin or record the Node.js and Hexo versions used for repeatable builds, while keeping them within Hexo’s supported compatibility table.
- Use a non-root deployment account and grant it only the write access needed for releases.
- Retain at least one known-good generated release or source revision for rollback.
- Back up the source repository and any VPS configuration separately from the live web directory.
- Monitor disk space, DNS changes, certificate expiry and NGINX error logs.
- Test renewal using the mechanism installed on the VPS instead of assuming Certbot will renew successfully.
- After each deployment, check the homepage, a post, a static asset, the HTTPS redirect and a missing URL.
Once these pieces are in place, publishing is a repeatable build-and-copy operation: update the source, generate a fresh public directory, publish it to the release path NGINX serves, and verify the public hostname over HTTPS.
Quick Recap
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.

