{"id":9432,"date":"2026-09-12T22:14:51","date_gmt":"2026-09-12T12:44:51","guid":{"rendered":"https:\/\/blog.networkpresence.co\/?p=9432"},"modified":"2026-09-12T22:14:51","modified_gmt":"2026-09-12T12:44:51","slug":"install-vllm-on-rhel-9-linux","status":"publish","type":"post","link":"https:\/\/blog.networkpresence.co\/?p=9432","title":{"rendered":"Install vLLM on RHEL 9 Linux"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">We&#8217;re using a derivative of RHEL 9 Linux being AlmaLinux 9, but this should work for RHEL 9 itself and others like Rocky Linux 9 etc.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dnf install -y python3 python3-devel\n\n# Create a virtual environment\npython3 -m venv ~\/venvs\/vllm\n\n# Activate the environment\nsource ~\/venvs\/vllm\/bin\/activate\n\n\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Before you can start the install of vllm you need to ascertain your CUDA version level, which can be found from the output of <code><strong>nvidia-smi | grep CUDA<\/strong><\/code><br>And you&#8217;ll see something like &#8220;CUDA UMD Version: <strong>13.4<\/strong>&#8220;, so that corresponds to the variable &#8220;cuversion&#8221; in the following command being set to &#8220;<strong>134<\/strong>&#8220;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install --upgrade pip\npip install vllm --extra-index-url https:\/\/download.pytorch.org\/whl\/cu134<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This command takes some time to run, does lots of the heavy lifting of the vllm install.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Verify the vLLM install with the command:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>python -c \"import vllm; print(vllm.__version__)\"<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Configure vLLM by editing the \/etc\/systemd\/system\/vllm.service  file to be:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;Unit]\nDescription=vLLM OpenAI Compatible API Server\nAfter=network.target nvidia-persistenced.service\nWants=nvidia-persistenced.service\n\n&#91;Service]\nType=simple\nUser=your_username\nGroup=your_username\nEnvironment variables for CUDA and Cache directories\n\nEnvironment=\"HF_HOME=\/home\/your_username\/.cache\/huggingface\"\nEnvironment=\"CUDA_VISIBLE_DEVICES=0\"\nPath to your virtual environment's python binary and the vLLM execution module\n\nExecStart=\/home\/your_username\/venvs\/vllm\/bin\/python3 -m vllm.entrypoints.openai.api_server\n--model meta-llama\/Meta-Llama-3-8B-Instruct\n--host 0.0.0.0\n--port 8000\n\nRestart=always\nRestartSec=10\nSecurity and resource tuning configurations for RHEL\/AlmaLinux\n\nLimitNOFILE=65536\nLimitCORE=infinity\n\n&#91;Install]\nWantedBy=multi-user.target<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">I&#8217;ll update this post shortly as my vLLM efforts continue..<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We&#8217;re using a derivative of RHEL 9 Linux being AlmaLinux 9, but this should work for RHEL 9 itself and others like Rocky Linux 9 etc. Before you can start the install of vllm you need to ascertain your CUDA &hellip; <a href=\"https:\/\/blog.networkpresence.co\/?p=9432\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[70],"tags":[],"class_list":["post-9432","post","type-post","status-publish","format-standard","hentry","category-sales"],"_links":{"self":[{"href":"https:\/\/blog.networkpresence.co\/index.php?rest_route=\/wp\/v2\/posts\/9432","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.networkpresence.co\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.networkpresence.co\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.networkpresence.co\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.networkpresence.co\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9432"}],"version-history":[{"count":1,"href":"https:\/\/blog.networkpresence.co\/index.php?rest_route=\/wp\/v2\/posts\/9432\/revisions"}],"predecessor-version":[{"id":9440,"href":"https:\/\/blog.networkpresence.co\/index.php?rest_route=\/wp\/v2\/posts\/9432\/revisions\/9440"}],"wp:attachment":[{"href":"https:\/\/blog.networkpresence.co\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9432"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.networkpresence.co\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9432"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.networkpresence.co\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9432"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}