{"id":2891,"date":"2013-12-15T12:41:45","date_gmt":"2013-12-15T18:41:45","guid":{"rendered":"https:\/\/secure.rosehosting.com\/blog\/?p=2891"},"modified":"2025-07-22T02:30:10","modified_gmt":"2025-07-22T07:30:10","slug":"run-joomla-with-nginx-on-a-centos-vps","status":"publish","type":"post","link":"https:\/\/www.rosehosting.com\/blog\/run-joomla-with-nginx-on-a-centos-vps\/","title":{"rendered":"Run Joomla with Nginx on CentOS"},"content":{"rendered":"<div id=\"bsf_rt_marker\"><\/div>\n<h5 class=\"wp-block-heading\" id=\"h-status-this-os-is-no-longer-supported\">Status: This OS is no longer supported<\/h5>\n\n\n\n<p><em>This article, &#8220;Run Joomla with Nginx on CentOS,&#8221; covers a version of CentOS that reached end of life (EOL). It is no longer supported. As such, this guide is no longer maintained. If you are currently operating a server running CentOS 6, we highly recommend contacting <a href=\"https:\/\/www.rosehosting.com\/support\/\">RoseHosting&#8217;s fully managed support<\/a>. They can upgrade or migrate you to a supported version of AlmaLinux.<\/em><\/p>\n\n\n\n<p><strong>See Instead:<\/strong> Although this guide may still be helpful as a reference, it may not be compatible with other CentOS releases. The following RoseHosting tutorial outlines <a href=\"https:\/\/www.rosehosting.com\/blog\/how-to-install-joomla-on-almalinux\/\">How To Install Joomla on AlmaLinux<\/a>.<\/p>\n\n\n\n<!--more-->\n\n\n<p><a title=\"Run Joomla on Nginx on Centos VPS\" href=\"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2013\/12\/run-joomla-on-nginx-on-centos-vps.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" class=\"alignleft size-full wp-image-2892\" src=\"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2013\/12\/run-joomla-on-nginx-on-centos-vps.png\" alt=\"run-joomla-on-nginx-on-centos-vps\" width=\"250\" height=\"250\" srcset=\"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2013\/12\/run-joomla-on-nginx-on-centos-vps.png 250w, https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2013\/12\/run-joomla-on-nginx-on-centos-vps-150x150.png 150w\" sizes=\"(max-width: 250px) 100vw, 250px\" \/><\/a>Today we will show you how to install Joomla, one of the most popular open source Content Management Systems on your LNMP stack (Nginx, MySQL and PHP-FPM) <a title=\"CentOS VPS Hosting\" href=\"https:\/\/www.rosehosting.com\/centos-hosting.html\" target=\"_blank\" rel=\"noopener noreferrer\">Centos VPS<\/a>. Follow this article carefully, and within 10 minutes, you will have a common Joomla CMS installed on your LNMP stack CentOS VPS. In the next article, we will optimize the same installation performance-wise, in addition to several security tips that will provide safer hosting for you and your business.<\/p>\n<p>Let&#8217;s get to work.<\/p>\n<p>\u00a0<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-69eaad68bdfb7\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"ez-toc-cssicon\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-69eaad68bdfb7\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.rosehosting.com\/blog\/run-joomla-with-nginx-on-a-centos-vps\/#Installing-Nginx\" >Installing Nginx<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.rosehosting.com\/blog\/run-joomla-with-nginx-on-a-centos-vps\/#Install-MySQL\" >Install MySQL<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.rosehosting.com\/blog\/run-joomla-with-nginx-on-a-centos-vps\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Installing-Nginx\"><\/span>Installing Nginx<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Before we start, let&#8217;s make sure the Apache web server is stopped and autostart on boot is disabled:<\/p>\n<pre><span style=\"color: #ff0000;\"># \/etc\/init.d\/httpd stop<br \/># chkconfig httpd off<\/span><\/pre>\n<p>To install Nginx, we need to add the EPEL repository. Find the correct architecture of your VPS by executing:<\/p>\n<pre><span style=\"color: #ff0000;\"># uname -m<\/span><\/pre>\n<ul>\n<li>for a 32bit VPS:<\/li>\n<\/ul>\n<pre><span style=\"color: #ff0000;\"># rpm -Uvh http:\/\/mirror.pnl.gov\/epel\/6\/i386\/epel-release-6-8.noarch.rpm<\/span><\/pre>\n<ul>\n<li>for a 64bit VPS:<\/li>\n<\/ul>\n<pre><span style=\"color: #ff0000;\"># rpm -Uvh http:\/\/mirror.itc.virginia.edu\/fedora-epel\/6\/x86_64\/epel-release-6-8.noarch.rpm<\/span><\/pre>\n<p>Next, make sure the system is up-to-date:<\/p>\n<pre><span style=\"color: #ff0000;\"># yum update<\/span><\/pre>\n<p>Then, install the Nginx web server:<\/p>\n<pre><span style=\"color: #ff0000;\"># yum install nginx -y<\/span><\/pre>\n<p>Edit the \/etc\/nginx\/nginx.conf file and replace the following lines:<\/p>\n<pre><span class=\"yoast-text-mark\">le=\"color: #ff0000;\"&gt;# vim \/etc\/nginx\/nginx.conf<\/span><br \/><br \/><span class=\"yoast-text-mark\" style=\"color: #008000;\">&gt;# Load config files from the \/etc\/nginx\/conf.d directory<br \/># The default server is in conf.d\/default.conf<br \/>include \/etc\/nginx\/conf.d\/*.conf;&lt;\/span&gt;<\/span><\/pre>\n<p>with:<\/p>\n<pre><span style=\"color: #008000;\"># enabled sites<br \/>include \/etc\/nginx\/sites-enabled\/*;<\/span><\/pre>\n<p>Execute the following command to create the sites-enabled and sites-available directories:<\/p>\n<pre><span style=\"color: #ff0000;\"># mkdir -p \/etc\/nginx\/sites-{enabled,available}<\/span><\/pre>\n<p>Now, let&#8217;s set up the default Nginx virtual host directive. Create the file and make it look like the one below:<\/p>\n<pre><span style=\"color: #ff0000;\"># vim \/etc\/nginx\/sites-available\/default.conf<\/span><br \/><br \/><span style=\"color: #008000;\">server {<br \/>listen 80 default_server;<br \/>server_name _;<br \/>location \/ {<br \/>root \/usr\/share\/nginx\/html;<br \/>index index.html index.htm; }<br \/>error_page 404 \/404.html;<br \/>location = \/404.html {<br \/>root \/usr\/share\/nginx\/html; }<br \/>error_page 500 502 503 504 \/50x.html;<br \/>location = \/50x.html {<br \/>root \/usr\/share\/nginx\/html; }<br \/>}<\/span><\/pre>\n<p>Now enable the default virtual host directive:<\/p>\n<pre><span style=\"color: #ff0000;\"># cd \/etc\/nginx\/sites-enabled<\/span><br \/><br \/><span style=\"color: #ff0000;\"># ln -s \/etc\/nginx\/sites-available\/default.conf<\/span><\/pre>\n<p>Test your webserver configuration for typos and errors:<\/p>\n<pre><span style=\"color: #ff0000;\"># nginx -t<\/span><\/pre>\n<p>If everything is ok, start Nginx and add it to the system startup.<\/p>\n<pre><span style=\"color: #ff0000;\"># \/etc\/init.d\/nginx start<\/span><br \/><br \/><span style=\"color: #ff0000;\"># chkconfig nginx on<\/span><\/pre>\n<p>If you point your browser to your IP address\/domain name you should see the Nginx default page. So far so good.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Install-MySQL\"><\/span>Install MySQL<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Let&#8217;s go on by installing MySQL:<\/p>\n<pre><span style=\"color: #ff0000;\"># yum -y install mysql mysql-server<\/span><\/pre>\n<p>Start it and add it to system startup:<\/p>\n<pre><span style=\"color: #ff0000;\"># service mysqld restart<br \/># chkconfig mysqld on<\/span><\/pre>\n<p>Type the following for the initial mysql configuration:<\/p>\n<pre><span style=\"color: #ff0000;\"># mysql_secure_installation<\/span><\/pre>\n<p>and follow the on-screen instructions to set the root password, remove the anonymous users, disallow remote root login and remove the test database.<\/p>\n<p>Edit \/etc\/my.cnf and make sure the following line is in place:<\/p>\n<pre><span style=\"color: #ff0000;\"># vim \/etc\/my.cnf<\/span><br \/><br \/><span style=\"color: #008000;\">[mysqld]<br \/>bind-address = 127.0.0.1<\/span><\/pre>\n<p>And restart mysql:<\/p>\n<pre><span style=\"color: #ff0000;\"># \/etc\/init.d\/mysqld restart<\/span><\/pre>\n<p>That&#8217;s it as far as the mysql installation and configuration is concerned. Next, we move on to installing php-fpm and a couple of it&#8217;s extensions.<\/p>\n<pre><span style=\"color: #ff0000;\"># yum install php php-fpm php-gd php-mcrypt php-mysql -y<\/span><\/pre>\n<p>Make sure to set the following two lines inside the \/etc\/php.ini file. Match the timezone with your own:<\/p>\n<pre><span style=\"color: #ff0000;\"># vim \/etc\/php.ini<\/span><br \/><br \/><span style=\"color: #008000;\">date.timezone = America\/New_York<br \/>cgi.fix_pathinfo=0<\/span><\/pre>\n<p>Also, make sure these lines in \/etc\/php-fpm.conf are as follows:<\/p>\n<pre><span style=\"color: #ff0000;\"># vim \/etc\/php-fpm.conf<\/span><br \/><br \/><span style=\"color: #008000;\">emergency_restart_threshold = 10<br \/>emergency_restart_interval = 1m<br \/>process_control_timeout = 10<\/span><\/pre>\n<p>Crete php-fpm pool:<\/p>\n<pre><span style=\"color: #ff0000;\"># mv -v \/etc\/php-fpm.d\/www.conf{,.orig}<\/span><br \/><br \/><span style=\"color: #ff0000;\"># vim \/etc\/php-fpm.d\/www.conf<\/span><br \/><br \/><span style=\"color: #008000;\">[joomla]<br \/>listen = \/var\/run\/php-jml.socket<br \/>user = nginx<br \/>group = nginx<br \/>request_slowlog_timeout = 5s<br \/>slowlog = \/var\/log\/php-fpm\/jml.log<br \/>listen.allowed_clients = 127.0.0.1<br \/>pm = dynamic<br \/>pm.max_children = 8<br \/>pm.start_servers = 2<br \/>pm.min_spare_servers = 2<br \/>pm.max_spare_servers = 4<br \/>pm.max_requests = 400<br \/>listen.backlog = -1<br \/>pm.status_path = \/status<br \/>request_terminate_timeout = 120s<br \/>rlimit_files = 131072<br \/>rlimit_core = unlimited<br \/>catch_workers_output = yes<br \/>php_value[session.save_handler] = files<br \/>php_value[session.save_path] = \/var\/lib\/php\/session<br \/>php_admin_value[error_log] = \/var\/log\/php-fpm\/jml-error.log<br \/>php_admin_flag[log_errors] = on<\/span><\/pre>\n<p>Now, restart php-fpm and add it to the system startup:<\/p>\n<pre><span style=\"color: #ff0000;\"># \/etc\/init.d\/php-fpm restart<\/span><br \/><br \/><span style=\"color: #ff0000;\"># chkconfig php-fpm on<\/span><\/pre>\n<p>And then create the vhost directive for your Joomla installation:<\/p>\n<pre><span style=\"color: #ff0000;\"># vim \/etc\/nginx\/sites-available\/mydomain.tld.conf<\/span><br \/><br \/><span style=\"color: #008000;\">server {<br \/>listen 80;<br \/>server_name mydomain.tld;<br \/>rewrite ^(.*) http:\/\/www.mydomain.tld$1 permanent; }<\/span><br \/><br \/><span style=\"color: #008000;\">server {<\/span><br \/><span style=\"color: #008000;\"> listen 80;<\/span><br \/><span style=\"color: #008000;\"> server_name www.mydomain.tld;<\/span><br \/><br \/><span style=\"color: #008000;\">client_max_body_size 5m;<\/span><br \/><span style=\"color: #008000;\"> client_body_timeout 60;<\/span><br \/><br \/><span style=\"color: #008000;\">access_log \/var\/log\/nginx\/mydomain.tld-access;<\/span><br \/><span style=\"color: #008000;\"> error_log \/var\/log\/nginx\/mydomain.tld-error error;<\/span><br \/><br \/><span style=\"color: #008000;\">root \/usr\/share\/nginx\/html\/mydomain.tld;<\/span><br \/><span style=\"color: #008000;\"> index index.html index.php;<\/span><br \/><br \/><span style=\"color: #008000;\">location \/ {<\/span><br \/><span style=\"color: #008000;\"> try_files $uri $uri\/ \/index.php?$args; <\/span><span style=\"color: #008000;\">}<\/span><br \/><br \/><span style=\"color: #008000;\">error_page 403 =404;<\/span><br \/><span style=\"color: #008000;\"> location ~ \/\\. { access_log off; log_not_found off; deny all; }<\/span><br \/><span style=\"color: #008000;\"> location ~ ~$ { access_log off; log_not_found off; deny all; }<\/span><br \/><br \/><span style=\"color: #008000;\">location = \/robots.txt { access_log off; log_not_found off; }<\/span><br \/><span style=\"color: #008000;\"> location = \/favicon.ico { access_log off; log_not_found off; }<\/span><br \/><br \/><span style=\"color: #008000;\">location ~* \\.(jpg|jpeg|gif|css|png|js|ico|html)$ { access_log off; expires max; }<\/span><br \/><span style=\"color: #008000;\"> location ~* \\.(woff|svg)$ { access_log off; log_not_found off; expires 30d; }<\/span><br \/><span style=\"color: #008000;\"> location ~* \\.(js)$ { access_log off; log_not_found off; expires 7d; }<\/span><br \/><br \/><span style=\"color: #008000;\">location ~ \\.php?$ {<\/span><br \/><span style=\"color: #008000;\"> try_files $uri =404;<\/span><br \/><span style=\"color: #008000;\"> include fastcgi_params;<\/span><br \/><span style=\"color: #008000;\"> fastcgi_pass unix:\/var\/run\/php-jml.socket;<\/span><br \/><span style=\"color: #008000;\"> fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;<\/span><br \/><span style=\"color: #008000;\"> fastcgi_intercept_errors on;<\/span><br \/><span style=\"color: #008000;\"> fastcgi_split_path_info ^(.+\\.php)(.*)$;<\/span> <span style=\"color: #008000;\">}<\/span><br \/><span style=\"color: #008000;\"> }<\/span><\/pre>\n<p>After it is created, we need to enable the vhost directive, create the document root directory, and restart Nginx:<\/p>\n<pre><span style=\"color: #ff0000;\"># cd \/etc\/nginx\/sites-enabled<br \/># ln -s \/etc\/nginx\/sites-available\/mydomain.tld.conf<br \/># mkdir \/usr\/share\/nginx\/html\/mydomain.tld<br \/># nginx -t<br \/># \/etc\/init.d\/nginx restart<\/span><\/pre>\n<p>Create index.php file inside your root directory and access it in a browser to test the installation:<\/p>\n<pre><span style=\"color: #ff0000;\"># echo -e \"&lt;?php\\n\\tphpinfo();\\n\" &gt; \/usr\/share\/nginx\/html\/mydomain.tld\/info.php<br \/><\/span><\/pre>\n<p>After the server setup we finally get to install Joomla. We can start with the database. Let&#8217;s create one:<\/p>\n<pre><span style=\"color: #ff0000;\"># mysql -uroot -p<br \/>mysql&gt; create database joomlaDB;<br \/>mysql&gt; grant all on joomlaDB.* to user@localhost identified by \"sEcReT_pASsWoRd\";<br \/>mysql&gt; \\q<\/span><\/pre>\n<p>Download the latest Joomla installation inside your document root directory, unzip it:<\/p>\n<pre><span style=\"color: #ff0000;\"># cd \/usr\/share\/nginx\/html\/mydomain.tld<br \/># wget http:\/\/joomlacode.org\/gf\/download\/frsrelease\/18838\/86936\/Joomla_3.2.0-Stable-Full_Package.zip -O joomla.zip<br \/># unzip joomla.zip<br \/># rm joomla.zip<\/span><\/pre>\n<p>Set the correct owner of the files in the document root directory:<\/p>\n<pre><span style=\"color: #ff0000;\"># chown -R nginx:nginx \/usr\/share\/nginx\/html\/mydomain.tld<\/span><\/pre>\n<p>Point your browser to http:\/\/mydomain.tld\/installation or http:\/\/&lt;your IP address&gt;\/installation to finish the installation. Select your language and fill the text fields with the required information in the first step and click &#8216;Next&#8217;.<\/p>\n<p>On the second screen, enter the correct database information:<\/p>\n<p>db type:<strong> mysqli<\/strong><br \/>hostname: <strong>localhost<\/strong><br \/>user: <strong>user<\/strong><br \/>pass: <strong>sEcReT_pASsWoRd<\/strong><br \/>db: <strong>joomlaDB<\/strong><\/p>\n<p>Click &#8216;Next&#8217;. Choose pre-installed sample data of your liking and click &#8216;Install&#8217;. After you get the &#8216;Congratulations! Joomla! is now installed.&#8217; notification, click the &#8216;Remove installation folder&#8217; button and click &#8216;Site&#8217; to visit your website or &#8216;Administrator&#8217; to go to the administrator login form.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>That&#8217;s it! You have just installed the latest Joomla version on your <a title=\"CentOS VPS Hosting\" href=\"https:\/\/www.rosehosting.com\/centos-hosting.html\" target=\"_blank\" rel=\"noopener noreferrer\">Centos VPS<\/a>.<\/p>\n<p>Of course, if you are one of our Linux VPS Hosting customers, you don\u2019t have to do any of this, simply ask our admins, sit back and relax. Our admins will set this up for you immediately. You can also try reading our post on <a href=\"https:\/\/www.rosehosting.com\/blog\/how-to-install-joomla-3-on-centos-7\/\">How to Install Joomla 3 on CentOS 7<\/a>.<\/p>\n<p><span style=\"color: #ff0000;\"><strong>PS.<\/strong><\/span> If you liked this post please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.<\/p>","protected":false},"excerpt":{"rendered":"<p>Status: This OS is no longer supported This article, &#8220;Run Joomla with Nginx on CentOS,&#8221; covers a version of CentOS &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"Run Joomla with Nginx on CentOS\" class=\"read-more button\" href=\"https:\/\/www.rosehosting.com\/blog\/run-joomla-with-nginx-on-a-centos-vps\/#more-2891\" aria-label=\"Read more about Run Joomla with Nginx on CentOS\">Read More<\/a><\/p>\n","protected":false},"author":4,"featured_media":2892,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1699,1710,13,1707],"tags":[34,297,215,177,49,51,1152,18],"class_list":["post-2891","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-centos","category-cms-crm-erp","category-tutorials","category-web-servers","tag-centos","tag-how-to","tag-joomla","tag-linux-vps","tag-nginx","tag-php-fpm","tag-rosehosting","tag-vps","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-33"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.4 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Run Joomla with Nginx on CentOS | RoseHosting<\/title>\n<meta name=\"description\" content=\"Learn how to run Joomla with Nginx on CentOS in this guide for a deprecated platform and upgrade options available.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.rosehosting.com\/blog\/run-joomla-with-nginx-on-a-centos-vps\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Run Joomla with Nginx on CentOS\" \/>\n<meta property=\"og:description\" content=\"Run Joomla with Nginx on CentOS | RoseHosting\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.rosehosting.com\/blog\/run-joomla-with-nginx-on-a-centos-vps\/\" \/>\n<meta property=\"og:site_name\" content=\"RoseHosting\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RoseHosting\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/rosehosting.helpdesk\" \/>\n<meta property=\"article:published_time\" content=\"2013-12-15T18:41:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-22T07:30:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2013\/12\/run-joomla-on-nginx-on-centos-vps.png\" \/>\n\t<meta property=\"og:image:width\" content=\"250\" \/>\n\t<meta property=\"og:image:height\" content=\"250\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jeff Wilson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@rosehosting\" \/>\n<meta name=\"twitter:site\" content=\"@rosehosting\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeff Wilson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/run-joomla-with-nginx-on-a-centos-vps\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/run-joomla-with-nginx-on-a-centos-vps\\\/\"},\"author\":{\"name\":\"Jeff Wilson\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#\\\/schema\\\/person\\\/7ce77a842fa6a9a7f8efa186f2353713\"},\"headline\":\"Run Joomla with Nginx on CentOS\",\"datePublished\":\"2013-12-15T18:41:45+00:00\",\"dateModified\":\"2025-07-22T07:30:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/run-joomla-with-nginx-on-a-centos-vps\\\/\"},\"wordCount\":774,\"commentCount\":8,\"publisher\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/run-joomla-with-nginx-on-a-centos-vps\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2013\\\/12\\\/run-joomla-on-nginx-on-centos-vps.png\",\"keywords\":[\"centos\",\"how-to\",\"joomla\",\"linux vps\",\"nginx\",\"php-fpm\",\"rosehosting\",\"vps\"],\"articleSection\":[\"CentOS\",\"CMS, CRM, ERP\",\"Tutorials\",\"Web Servers\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/run-joomla-with-nginx-on-a-centos-vps\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/run-joomla-with-nginx-on-a-centos-vps\\\/\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/run-joomla-with-nginx-on-a-centos-vps\\\/\",\"name\":\"Run Joomla with Nginx on CentOS | RoseHosting\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/run-joomla-with-nginx-on-a-centos-vps\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/run-joomla-with-nginx-on-a-centos-vps\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2013\\\/12\\\/run-joomla-on-nginx-on-centos-vps.png\",\"datePublished\":\"2013-12-15T18:41:45+00:00\",\"dateModified\":\"2025-07-22T07:30:10+00:00\",\"description\":\"Learn how to run Joomla with Nginx on CentOS in this guide for a deprecated platform and upgrade options available.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/run-joomla-with-nginx-on-a-centos-vps\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/run-joomla-with-nginx-on-a-centos-vps\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/run-joomla-with-nginx-on-a-centos-vps\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2013\\\/12\\\/run-joomla-on-nginx-on-centos-vps.png\",\"contentUrl\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2013\\\/12\\\/run-joomla-on-nginx-on-centos-vps.png\",\"width\":250,\"height\":250,\"caption\":\"run-joomla-on-nginx-on-centos-vps\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/run-joomla-with-nginx-on-a-centos-vps\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Run Joomla with Nginx on CentOS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/\",\"name\":\"RoseHosting.com\",\"description\":\"Premium Linux Tutorials Since 2001\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#organization\",\"name\":\"RoseHosting\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/android-chrome-192x192-1.png\",\"contentUrl\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/android-chrome-192x192-1.png\",\"width\":192,\"height\":192,\"caption\":\"RoseHosting\"},\"image\":{\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/RoseHosting\",\"https:\\\/\\\/x.com\\\/rosehosting\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/rosehosting\\\/\"],\"description\":\"RoseHosting is a leading Linux hosting provider, serving thousands of clients world-wide since 2001.\",\"email\":\"info@rosehosting.com\",\"telephone\":\"(314) 275-0414\",\"legalName\":\"Rose Web Services LLC\",\"foundingDate\":\"2001-04-02\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"11\",\"maxValue\":\"50\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/#\\\/schema\\\/person\\\/7ce77a842fa6a9a7f8efa186f2353713\",\"name\":\"Jeff Wilson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g\",\"caption\":\"Jeff Wilson\"},\"description\":\"An experienced Linux veteran with many years of experience. Helping other Linux admins with frequent Linux and business-related blog posts on the RoseHosting blog. Techie by choice. Loving nature and travel. Happily married and father of two lovely children.\",\"sameAs\":[\"https:\\\/\\\/www.rosehosting.com\",\"https:\\\/\\\/www.facebook.com\\\/rosehosting.helpdesk\"],\"url\":\"https:\\\/\\\/www.rosehosting.com\\\/blog\\\/author\\\/jwilson\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Run Joomla with Nginx on CentOS | RoseHosting","description":"Learn how to run Joomla with Nginx on CentOS in this guide for a deprecated platform and upgrade options available.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.rosehosting.com\/blog\/run-joomla-with-nginx-on-a-centos-vps\/","og_locale":"en_US","og_type":"article","og_title":"Run Joomla with Nginx on CentOS","og_description":"Run Joomla with Nginx on CentOS | RoseHosting","og_url":"https:\/\/www.rosehosting.com\/blog\/run-joomla-with-nginx-on-a-centos-vps\/","og_site_name":"RoseHosting","article_publisher":"https:\/\/www.facebook.com\/RoseHosting","article_author":"https:\/\/www.facebook.com\/rosehosting.helpdesk","article_published_time":"2013-12-15T18:41:45+00:00","article_modified_time":"2025-07-22T07:30:10+00:00","og_image":[{"width":250,"height":250,"url":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2013\/12\/run-joomla-on-nginx-on-centos-vps.png","type":"image\/png"}],"author":"Jeff Wilson","twitter_card":"summary_large_image","twitter_creator":"@rosehosting","twitter_site":"@rosehosting","twitter_misc":{"Written by":"Jeff Wilson","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.rosehosting.com\/blog\/run-joomla-with-nginx-on-a-centos-vps\/#article","isPartOf":{"@id":"https:\/\/www.rosehosting.com\/blog\/run-joomla-with-nginx-on-a-centos-vps\/"},"author":{"name":"Jeff Wilson","@id":"https:\/\/www.rosehosting.com\/blog\/#\/schema\/person\/7ce77a842fa6a9a7f8efa186f2353713"},"headline":"Run Joomla with Nginx on CentOS","datePublished":"2013-12-15T18:41:45+00:00","dateModified":"2025-07-22T07:30:10+00:00","mainEntityOfPage":{"@id":"https:\/\/www.rosehosting.com\/blog\/run-joomla-with-nginx-on-a-centos-vps\/"},"wordCount":774,"commentCount":8,"publisher":{"@id":"https:\/\/www.rosehosting.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.rosehosting.com\/blog\/run-joomla-with-nginx-on-a-centos-vps\/#primaryimage"},"thumbnailUrl":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2013\/12\/run-joomla-on-nginx-on-centos-vps.png","keywords":["centos","how-to","joomla","linux vps","nginx","php-fpm","rosehosting","vps"],"articleSection":["CentOS","CMS, CRM, ERP","Tutorials","Web Servers"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.rosehosting.com\/blog\/run-joomla-with-nginx-on-a-centos-vps\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.rosehosting.com\/blog\/run-joomla-with-nginx-on-a-centos-vps\/","url":"https:\/\/www.rosehosting.com\/blog\/run-joomla-with-nginx-on-a-centos-vps\/","name":"Run Joomla with Nginx on CentOS | RoseHosting","isPartOf":{"@id":"https:\/\/www.rosehosting.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.rosehosting.com\/blog\/run-joomla-with-nginx-on-a-centos-vps\/#primaryimage"},"image":{"@id":"https:\/\/www.rosehosting.com\/blog\/run-joomla-with-nginx-on-a-centos-vps\/#primaryimage"},"thumbnailUrl":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2013\/12\/run-joomla-on-nginx-on-centos-vps.png","datePublished":"2013-12-15T18:41:45+00:00","dateModified":"2025-07-22T07:30:10+00:00","description":"Learn how to run Joomla with Nginx on CentOS in this guide for a deprecated platform and upgrade options available.","breadcrumb":{"@id":"https:\/\/www.rosehosting.com\/blog\/run-joomla-with-nginx-on-a-centos-vps\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.rosehosting.com\/blog\/run-joomla-with-nginx-on-a-centos-vps\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.rosehosting.com\/blog\/run-joomla-with-nginx-on-a-centos-vps\/#primaryimage","url":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2013\/12\/run-joomla-on-nginx-on-centos-vps.png","contentUrl":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2013\/12\/run-joomla-on-nginx-on-centos-vps.png","width":250,"height":250,"caption":"run-joomla-on-nginx-on-centos-vps"},{"@type":"BreadcrumbList","@id":"https:\/\/www.rosehosting.com\/blog\/run-joomla-with-nginx-on-a-centos-vps\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.rosehosting.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Run Joomla with Nginx on CentOS"}]},{"@type":"WebSite","@id":"https:\/\/www.rosehosting.com\/blog\/#website","url":"https:\/\/www.rosehosting.com\/blog\/","name":"RoseHosting.com","description":"Premium Linux Tutorials Since 2001","publisher":{"@id":"https:\/\/www.rosehosting.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.rosehosting.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.rosehosting.com\/blog\/#organization","name":"RoseHosting","url":"https:\/\/www.rosehosting.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.rosehosting.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2022\/03\/android-chrome-192x192-1.png","contentUrl":"https:\/\/www.rosehosting.com\/blog\/wp-content\/uploads\/2022\/03\/android-chrome-192x192-1.png","width":192,"height":192,"caption":"RoseHosting"},"image":{"@id":"https:\/\/www.rosehosting.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RoseHosting","https:\/\/x.com\/rosehosting","https:\/\/www.linkedin.com\/in\/rosehosting\/"],"description":"RoseHosting is a leading Linux hosting provider, serving thousands of clients world-wide since 2001.","email":"info@rosehosting.com","telephone":"(314) 275-0414","legalName":"Rose Web Services LLC","foundingDate":"2001-04-02","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"11","maxValue":"50"}},{"@type":"Person","@id":"https:\/\/www.rosehosting.com\/blog\/#\/schema\/person\/7ce77a842fa6a9a7f8efa186f2353713","name":"Jeff Wilson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0985fed6af04cc60703d2ecf27c65dfa373e0ca00eb21c0b03477e099ea3f99f?s=96&r=g","caption":"Jeff Wilson"},"description":"An experienced Linux veteran with many years of experience. Helping other Linux admins with frequent Linux and business-related blog posts on the RoseHosting blog. Techie by choice. Loving nature and travel. Happily married and father of two lovely children.","sameAs":["https:\/\/www.rosehosting.com","https:\/\/www.facebook.com\/rosehosting.helpdesk"],"url":"https:\/\/www.rosehosting.com\/blog\/author\/jwilson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/posts\/2891","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/comments?post=2891"}],"version-history":[{"count":3,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/posts\/2891\/revisions"}],"predecessor-version":[{"id":50847,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/posts\/2891\/revisions\/50847"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/media\/2892"}],"wp:attachment":[{"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/media?parent=2891"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/categories?post=2891"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rosehosting.com\/blog\/wp-json\/wp\/v2\/tags?post=2891"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}