Mark van Eijk — Author at Rocketeers - Rocketeers

  [ Rocketeers ](/)   

[Login](https://rocketeersapp.com) 

 Author

Mark van Eijk
=============

Mark is the founder of Rocketeers and has been building web applications and hosting infrastructure for over a decade. He writes about self-hosting, server management, DNS, and web performance.

[ github.com ](https://github.com/markvaneijk) [ markvaneijk.com ](https://markvaneijk.com)

150 articles
------------

- Nov 2024 [Enable JIT in PHP 8.x OPcache](https://rocketee.rs/index.php/php-8-opcache-jit)
- Nov 2024 [Detect Googlebot visits using nginx](https://rocketee.rs/index.php/detect-googlebot-nginx)
- Nov 2024 [Log bot requests in nginx](https://rocketee.rs/index.php/log-bot-requests-nginx)
- Nov 2024 [Use nginx try\_files to make your site static](https://rocketee.rs/index.php/nginx-try-files)
- Oct 2024 [Improving PHP performance](https://rocketee.rs/index.php/php-performance)
- Jun 2026 [How to install the Xcode Command Line Tools on macOS](https://rocketee.rs/index.php/install-xcode-command-line-tools)
- Jun 2026 [How to configure rate limiting in nginx](https://rocketee.rs/index.php/nginx-rate-limiting)
- Jun 2026 [How to find files in Linux with the find command](https://rocketee.rs/index.php/find-files-linux-command)
- Jun 2026 [PHP Fatal error: Class "X" not found](https://rocketee.rs/index.php/php-class-not-found)
- Jun 2026 [How to delete a local (and remote) Git branch](https://rocketee.rs/index.php/git-delete-local-branch)
- Jun 2026 [Fix: Cannot connect to the Docker daemon at unix:///var/run/docker.sock](https://rocketee.rs/index.php/cannot-connect-to-docker-daemon)
- Jun 2026 [PHP Warning: Undefined array key](https://rocketee.rs/index.php/undefined-array-key-php)
- Jun 2026 [MySQL ERROR 1040: Too many connections](https://rocketee.rs/index.php/mysql-1040-too-many-connections)
- Jun 2026 [How to find your IP address from the Linux command line](https://rocketee.rs/index.php/find-ip-address-linux-command-line)
- Jun 2026 [How to kill the process running on a port in Linux](https://rocketee.rs/index.php/kill-process-on-port-linux)
- Jun 2026 [SQLSTATE\[HY000\] \[2002\] Connection refused](https://rocketee.rs/index.php/sqlstate-hy000-2002-connection-refused)
- Jun 2026 [A complete guide to caching in Laravel](https://rocketee.rs/index.php/laravel-cache)
- Jun 2026 [git stash pop vs apply: save and restore changes](https://rocketee.rs/index.php/git-stash-pop)
- Jun 2026 [Essential Linux command line basics for developers](https://rocketee.rs/index.php/linux-command-line-basics)
- Jun 2026 [nginx: upstream sent too big header](https://rocketee.rs/index.php/nginx-upstream-sent-too-big-header)
- Jun 2026 [PHP: Call to a member function on null](https://rocketee.rs/index.php/call-to-a-member-function-on-null)
- Jun 2026 [GitHub Permission denied (publickey)](https://rocketee.rs/index.php/github-permission-denied-publickey)
- Jun 2026 [CSRF token mismatch in Laravel](https://rocketee.rs/index.php/csrf-token-mismatch-laravel)
- Jun 2026 [How to improve Laravel performance](https://rocketee.rs/index.php/laravel-performance)
- Jun 2026 [How to create and extract tar archives in Linux](https://rocketee.rs/index.php/create-extract-tar-archives-linux)
- Jun 2026 [How to sync files and directories with rsync](https://rocketee.rs/index.php/sync-files-rsync-command)
- Jun 2026 [How to clean up Docker with prune (images, volumes, system)](https://rocketee.rs/index.php/docker-prune)
- Jun 2026 [How to update Ubuntu from the command line](https://rocketee.rs/index.php/update-ubuntu-command-line)
- Jun 2026 [SQLSTATE\[23000\] 1062 Duplicate entry](https://rocketee.rs/index.php/sqlstate-23000-1062-duplicate-entry)
- Jun 2026 [MySQL 1071: Specified key was too long (Laravel migration)](https://rocketee.rs/index.php/mysql-1071-specified-key-was-too-long)
- Jun 2026 [How to generate SSH keys with ssh-keygen](https://rocketee.rs/index.php/generate-ssh-keys-ssh-keygen)
- Jun 2026 [What port does SSH use (and how to change it)](https://rocketee.rs/index.php/ssh-port)
- Jun 2026 [How to checkout a Git tag](https://rocketee.rs/index.php/git-checkout-tag)
- Jun 2026 [ERR\_TOO\_MANY\_REDIRECTS (redirect loop)](https://rocketee.rs/index.php/err-too-many-redirects)
- Jun 2026 [How to find and optimize slow MySQL queries](https://rocketee.rs/index.php/mysql-query-optimization)
- Jun 2026 [403 Forbidden in nginx](https://rocketee.rs/index.php/403-forbidden-nginx)
- Jun 2026 [How to generate an SSH key](https://rocketee.rs/index.php/generate-ssh-key)
- Jun 2026 [Composer out of memory (allowed memory size exhausted)](https://rocketee.rs/index.php/composer-out-of-memory-allowed-memory-size-exhausted)
- Jun 2026 [MySQL ERROR 1064: SQL syntax error](https://rocketee.rs/index.php/mysql-1064-sql-syntax-error)
- Jun 2026 [Address already in use (port already bound)](https://rocketee.rs/index.php/address-already-in-use-port)
- Jun 2026 [503 Service Unavailable](https://rocketee.rs/index.php/503-service-unavailable)
- Jun 2026 [SSH Permission denied (publickey)](https://rocketee.rs/index.php/ssh-permission-denied-publickey)
- Jun 2026 [How to run a command on a remote server over SSH](https://rocketee.rs/index.php/run-command-over-ssh)
- Jun 2026 [How to copy files over SSH with scp](https://rocketee.rs/index.php/copy-files-over-ssh-scp)
- Jun 2026 [How to search file contents with grep](https://rocketee.rs/index.php/search-files-grep-command)
- Jun 2026 [How database indexing works (with MySQL examples)](https://rocketee.rs/index.php/database-indexing)
- Jun 2026 [Git fatal: not a git repository](https://rocketee.rs/index.php/git-not-a-git-repository)
- Jun 2026 [How to enable and configure OPcache for faster PHP](https://rocketee.rs/index.php/enable-opcache-php)
- Jun 2026 [docker compose up: options and common flags](https://rocketee.rs/index.php/docker-compose-up)
- Jun 2026 [CORS error: No Access-Control-Allow-Origin header](https://rocketee.rs/index.php/cors-error-no-access-control-allow-origin)
- Jun 2026 [Your connection is not private](https://rocketee.rs/index.php/your-connection-is-not-private)
- Jun 2026 [The complete guide to the curl command](https://rocketee.rs/index.php/curl-command-complete-guide)
- Jun 2026 [How to change file permissions with chmod](https://rocketee.rs/index.php/change-file-permissions-chmod-linux)
- Jun 2026 [nginx rewrite or internal redirection cycle](https://rocketee.rs/index.php/nginx-rewrite-or-internal-redirection-cycle)
- Jun 2026 [What is an SSH key](https://rocketee.rs/index.php/what-is-an-ssh-key)
- Jun 2026 [How to connect to a server with the ssh command](https://rocketee.rs/index.php/connect-to-server-ssh-command)
- Jun 2026 [PHP Fatal error: Allowed memory size exhausted](https://rocketee.rs/index.php/php-allowed-memory-size-exhausted)
- Jun 2026 [Convert SSL certificate formats with OpenSSL](https://rocketee.rs/index.php/convert-ssl-certificate-formats)
- Jun 2026 [502 Bad Gateway in nginx](https://rocketee.rs/index.php/502-bad-gateway-nginx)
- Jun 2026 [Git: Updates were rejected (non-fast-forward)](https://rocketee.rs/index.php/git-updates-were-rejected-non-fast-forward)
- Jun 2026 [Laravel failed to open stream: Permission denied](https://rocketee.rs/index.php/laravel-failed-to-open-stream-permission-denied)
- Jun 2026 [SSL handshake failed in nginx (ERR\_SSL\_PROTOCOL\_ERROR)](https://rocketee.rs/index.php/ssl-handshake-failed-nginx)
- Jun 2026 [Target class does not exist in Laravel](https://rocketee.rs/index.php/target-class-does-not-exist-laravel)
- Jun 2026 [How to change the SSH port on Ubuntu](https://rocketee.rs/index.php/change-ssh-port-ubuntu)
- Jun 2026 [npm ci vs npm install: when to use which](https://rocketee.rs/index.php/npm-ci-vs-npm-install)
- Jun 2026 [PHP Maximum execution time of N seconds exceeded](https://rocketee.rs/index.php/php-maximum-execution-time-exceeded)
- Jun 2026 [How to increase the PHP memory limit](https://rocketee.rs/index.php/increase-php-memory-limit)
- Jun 2026 [How to optimize MySQL performance](https://rocketee.rs/index.php/optimize-mysql-performance)
- Jun 2026 [docker exec: run a command in a running container](https://rocketee.rs/index.php/docker-exec)
- Jun 2026 [Git fatal: refusing to merge unrelated histories](https://rocketee.rs/index.php/git-refusing-to-merge-unrelated-histories)
- Jun 2026 [Getting started with the AWS CLI](https://rocketee.rs/index.php/getting-started-aws-cli)
- Jun 2026 [MySQL ERROR 2006: server has gone away](https://rocketee.rs/index.php/mysql-2006-server-has-gone-away)
- Jun 2026 [SQLSTATE\[HY000\] \[1045\] Access denied for user](https://rocketee.rs/index.php/sqlstate-hy000-1045-access-denied-for-user)
- Jun 2026 [MySQL ERROR 1698: Access denied for user 'root'@'localhost'](https://rocketee.rs/index.php/mysql-1698-access-denied-auth-socket)
- Jun 2026 [No application encryption key has been specified](https://rocketee.rs/index.php/no-application-encryption-key-has-been-specified)
- Jun 2026 [How to make a script executable with chmod +x](https://rocketee.rs/index.php/make-script-executable-chmod-x)
- Jun 2026 [How to check your Ubuntu version from the command line](https://rocketee.rs/index.php/check-ubuntu-version-command-line)
- Jun 2026 [curl (60) SSL certificate problem: unable to get local issuer certificate](https://rocketee.rs/index.php/curl-60-ssl-certificate-problem-unable-to-get-local-issuer-certificate)
- Jun 2026 [MySQL ERROR 1205: Lock wait timeout exceeded](https://rocketee.rs/index.php/mysql-1205-lock-wait-timeout-exceeded)
- Jun 2026 [504 Gateway Timeout in nginx](https://rocketee.rs/index.php/504-gateway-timeout-nginx)
- Jun 2026 [How to clear the Redis cache](https://rocketee.rs/index.php/clear-redis-cache)
- Jun 2026 [Vite manifest not found in Laravel](https://rocketee.rs/index.php/vite-manifest-not-found-laravel)
- Jun 2026 [Redis connection refused in Laravel](https://rocketee.rs/index.php/redis-connection-refused-laravel)
- Jun 2026 [git reset --hard explained (soft vs mixed vs hard)](https://rocketee.rs/index.php/git-reset-hard)
- Jun 2026 [How to enable Gzip and Brotli compression in Nginx](https://rocketee.rs/index.php/enable-gzip-compression-nginx)
- Jun 2026 [PHP file upload exceeds upload\_max\_filesize](https://rocketee.rs/index.php/php-file-upload-exceeds-upload-max-filesize)
- Jun 2026 [How to send GET and POST requests with curl](https://rocketee.rs/index.php/curl-post-get-api-requests)
- Jun 2026 [How to forward ports with SSH tunneling](https://rocketee.rs/index.php/ssh-tunnel-port-forwarding)
- Jun 2026 [NET::ERR\_CERT\_AUTHORITY\_INVALID](https://rocketee.rs/index.php/net-err-cert-authority-invalid)
- Jun 2026 [MySQL max\_allowed\_packet: packet too large](https://rocketee.rs/index.php/mysql-max-allowed-packet-packet-too-large)
- Jun 2026 [500 Internal Server Error in Laravel](https://rocketee.rs/index.php/500-internal-server-error-laravel)
- Jun 2026 [Brotli vs Gzip: which compression should you use?](https://rocketee.rs/index.php/brotli-vs-gzip)
- Jun 2026 [How to check SSL certificate expiration](https://rocketee.rs/index.php/check-ssl-certificate-expiration)
- Jun 2026 [How to rename a Git branch (local and remote)](https://rocketee.rs/index.php/git-rename-branch)
- Jun 2026 [No space left on device on Ubuntu](https://rocketee.rs/index.php/no-space-left-on-device-ubuntu)
- Jun 2026 [How to generate a CSR with OpenSSL](https://rocketee.rs/index.php/generate-csr-with-openssl)
- Jun 2026 [SQLSTATE\[42S02\] Base table or view not found](https://rocketee.rs/index.php/sqlstate-42s02-base-table-or-view-not-found)
- Jun 2026 [How to remove untracked files in Git (git clean)](https://rocketee.rs/index.php/git-remove-untracked-files)
- Jun 2026 [How to generate a self-signed certificate with OpenSSL](https://rocketee.rs/index.php/generate-self-signed-certificate-openssl)
- Jun 2026 [What is an SSL certificate chain](https://rocketee.rs/index.php/what-is-an-ssl-certificate-chain)
- Feb 2026 [How to setup OpenClaw securely on your own VPS](https://rocketee.rs/index.php/setup-openclaw-vps-securely)
- Sep 2024 [How to get A+ grade SSL using Cloudflare](https://rocketee.rs/index.php/a-plus-grade-ssl-using-cloudflare)
- Sep 2024 [How to rename a MySQL database](https://rocketee.rs/index.php/rename-mysql-database)
- Sep 2024 [How much RAM memory on Ubuntu](https://rocketee.rs/index.php/how-much-memory-on-ubuntu)
- Sep 2024 [How many CPU cores on Ubuntu](https://rocketee.rs/index.php/how-many-cpu-cores-on-ubuntu)
- May 2024 [Import MySQL database without timezone difference](https://rocketee.rs/index.php/mysql-import-without-timezone-difference)
- Mar 2024 [Zero downtime deployments using PHP-FPM and nginx](https://rocketee.rs/index.php/zero-downtime-php-deployments)
- Mar 2024 [Environment variables in Laravel](https://rocketee.rs/index.php/environment-variables-laravel)
- Feb 2024 [419 Page Expired error in Laravel](https://rocketee.rs/index.php/419-page-expired-laravel)
- Feb 2024 [How to clear cache in Laravel](https://rocketee.rs/index.php/clear-cache-laravel)
- Feb 2024 [How to check Ubuntu version](https://rocketee.rs/index.php/ubuntu-version)
- Jan 2024 [413 Request Entity Too Large in nginx](https://rocketee.rs/index.php/413-request-entity-too-large)
- Jan 2024 [Configure Content Security Policy with nonce using nginx](https://rocketee.rs/index.php/content-security-policy)
- Dec 2023 [Server Side Includes (SSI) in nginx](https://rocketee.rs/index.php/server-side-includes-ssi-nginx)
- Dec 2023 [How to install PostgreSQL with pgvector on Ubuntu](https://rocketee.rs/index.php/install-postgresql-pgvector-ubuntu)
- Nov 2023 [How to install Composer packages locally](https://rocketee.rs/index.php/install-composer-packages-locally)
- Oct 2023 [Complete list of Laravel events](https://rocketee.rs/index.php/laravel-events)
- Sep 2023 [Error in the HTTP2 framing layer](https://rocketee.rs/index.php/error-in-the-http2-framing-layer)
- Apr 2023 [Laravel Valet](https://rocketee.rs/index.php/laravel-valet)
- Mar 2023 [Install PHP memcached extension on macOS](https://rocketee.rs/index.php/install-php-memcached-extension-on-macos)
- Mar 2023 [Creating an encrypted cookie value in Laravel](https://rocketee.rs/index.php/creating-an-encrypted-cookie-value-in-laravel)
- Jan 2023 [Backup MySQL databases in separate files](https://rocketee.rs/index.php/backup-mysql-databases-separate-files)
- Jan 2023 [Backup MySQL databases except system databases in a single file](https://rocketee.rs/index.php/backup-mysql-databases-except-system)
- Jan 2023 [Backup MySQL databases in single file](https://rocketee.rs/index.php/backup-mysql-databases-single-file)
- Jan 2023 [How to upgrade MySQL 5.7 to 8.0 on Ubuntu](https://rocketee.rs/index.php/upgrade-mysql-5-7-to-8-0-ubuntu)
- Dec 2022 [How to optimize web application security](https://rocketee.rs/index.php/optimize-web-application-security)
- Dec 2022 [Best practices for sending email](https://rocketee.rs/index.php/best-practices-sending-email)
- Dec 2022 [Improving email deliverability](https://rocketee.rs/index.php/improving-email-deliverability)
- Dec 2022 [Disable CSRF in Laravel](https://rocketee.rs/index.php/disable-csrf-in-laravel)
- Nov 2022 [Change casing of file or directory in Git](https://rocketee.rs/index.php/change-casing-of-file-or-directory-in-git)
- Nov 2022 [Logging in Laravel](https://rocketee.rs/index.php/laravel-logging)
- Nov 2022 [How to check which Laravel version of your app is using](https://rocketee.rs/index.php/check-laravel-version)
- Nov 2022 [How to run PHP files](https://rocketee.rs/index.php/run-php-files)
- Oct 2022 [Argument list too long (Bash: /bin/rm)](https://rocketee.rs/index.php/argument-list-too-long)
- Sep 2022 [Removing tracked files in Git that should have been ignored](https://rocketee.rs/index.php/removing-tracked-files-git)
- Sep 2022 [Disable cookies in Laravel](https://rocketee.rs/index.php/disable-cookies-in-laravel)
- Aug 2022 [Export MySQL database using command line](https://rocketee.rs/index.php/export-database-mysql-command-line)
- Aug 2022 [Importing database in MySQL using command line](https://rocketee.rs/index.php/import-database-mysql-command-line)
- Aug 2022 [Reclaim disk space on Ubuntu server](https://rocketee.rs/index.php/reclaim-diskspace-on-ubuntu)
- Aug 2022 [Disable unnecessary and unused PHP versions (FPM pools)](https://rocketee.rs/index.php/disable-unused-php-fpm-pools)
- Aug 2022 [How to measure TTFB (Time To First Byte)](https://rocketee.rs/index.php/ttfb)
- Aug 2022 [Stream MySQL backup directly to S3 bucket](https://rocketee.rs/index.php/stream-mysql-backup-s3-bucket)
- Aug 2022 [How to use different PHP versions with Laravel Valet](https://rocketee.rs/index.php/different-php-versions-laravel-valet)
- Aug 2022 [How to add Swap Space on Ubuntu servers](https://rocketee.rs/index.php/add-swap-space-on-ubuntu)
- Aug 2022 [How to optimize website performance](https://rocketee.rs/index.php/optimize-website-performance)
- Aug 2022 [How to optimize server performance](https://rocketee.rs/index.php/optimize-server-performance)
- Aug 2022 [How to get top processes with highest memory usage](https://rocketee.rs/index.php/top-processes-memory)
- Aug 2022 [How to get top processes with highest CPU usage](https://rocketee.rs/index.php/top-processes-cpu)
- Aug 2022 [How to extract private key from PFX file](https://rocketee.rs/index.php/extract-private-key-from-pfx-file)
- Aug 2022 [How to extract the certificate from a PFX file](https://rocketee.rs/index.php/extract-certificate-from-pfx-file)
